A Tasty Treats Podcast for Web Developers.

Ask a Potluck Question →
Wes Bos

Wes Bos

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

Scott Tolinski

Scott Tolinski

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

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



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 code, track errors and monitor performance with Sentry. Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up.

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!