Hasty Treat - TypeScript Compilers and Build Tools
In this Hasty Treat, Scott and Wes talk about the differences between compilers and build tools in TypeScript.
Sanity - SponsorSanity.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 - SponsorIf 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 Notes03: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
- Rust based compiler
- Doesn’t do type checking (yet)
- https://github.com/swc-project/swc/issues/571
13:03 - Deno
- Uses tsc right now
- Might move to Rust
- https://github.com/denoland/deno/issues/5432
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
- To handle different types of files that are non-standard
- 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
- Scott’s Instagram
- LevelUpTutorials Instagram
- Wes’ Instagram
- Wes’ Twitter
- Wes’ Facebook
- Scott’s Twitter
- Make sure to include @SyntaxFM in your tweets