A Tasty Treats Podcast for Web Developers.

Ask a Potluck Question →
Wes Bos

Wes Bos

Full Stack JavaScript Developer. Creator of really good web development courses. BBQ enthusiast.

Scott Tolinski

Scott Tolinski

Web Developer, Creator of Level Up Tuts, Bboy, Robotops Crew and Youtuber

Playing: 327: Hasty Treat - TypeScript Compilers and Build Tools

0:00

LOUDNESS

Feb 15th, 2021

Hasty Treat - TypeScript Compilers and Build Tools

👇 Download Show✏️ Edit Show Notes

In this Hasty Treat, Scott and Wes talk about the differences between compilers and build tools in TypeScript.

Sanity - Sponsor

Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.

Sentry - Sponsor

If you want to know what's happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code "tastytreat".

Show Notes

03:38 - What is a TypeScript compiler?

07:49 - Babel

  • Transpiler
  • It doesn't do typechecking
  • New JS features that aren't in TypeScript yet

10:22 - SWC

13:03 - Deno

13:36 - Surcase

14:46 - ESBuild

  • Compiles, but doesn't do any type checking
  • Fastest

17:39 - What about bundlers?

  • Parcel
  • Snowpack
  • Webpack
  • ESBuild
  • When might you still need a bundler?
    • To handle different types of files that are non-standard
      • Like importing CSS and images
  • Treeshaking
  • Smaller bundle files
    • Typescript can concatenate to a single file, or all .js files, but smaller / smarter bundles still need a tool for that
  • Polyfills
    • Typescript does convert to syntax, but will not polyfill features
    • Something like Promise
      • Syntax can be transpiled to old code
      • Methods like allSettled aren't

Tweet us your tasty treats!