Skip to content

2.9.0 - parallelized builds are here!

Compare
Choose a tag to compare
@FredKSchott FredKSchott released this 23 Aug 04:32

A huge thanks to all of our contributors who made this release possible, including:

  • @Akimyou, who fixed tricky issues in our HMR server
  • @fubhy, who improved our process polyfilling logic
  • and @MoonBall, who made several improvements across our plugin ecosystem, including a new config() hook!

See "Improvements / Bugfixes" below for a full list of relevant changes in this release:

⭐ NEW: Parallelized Builds

BuildRunner

#808 - The build command now runs multiple builds in parallel, one job for every core available on your machine. Snowpack build plugins can take advantage of this new support by offloading computationally consuming work to child processes, allowing Node.js to parallelize the work. Several of our plugins already support this:

  • @snowpack/plugin-build-script: Builds each file by running a CLI command in a separate thread.
  • @snowpack/plugin-babel: Spins up a pool of workers to run multiple Babel builds in parallel.
  • esbuild: Our default JSX/TypeScript builder is built with Go, and supports parallel builds.

The result? ~2x faster builds when parallel-enabled plugins are used. If your plugins are not yet built to take advantage of this feature, there should be no impact on performance.

⭐ NEW: Snowpack + Pika Discord Community

discord

Click here to join!

🐛 All Improvements & Bugfixes

  • dev d9a6623 fix remote import url handling
  • dev c5490fd Improve HMR (#827)
  • dev 07e4728 fix install error log to be more helpful
  • dev 6950266 support the html extension in dev server (#870)
  • build 582d0ed Support treeshaking when importing React by namespace (#879)
  • build ee05c28 ignore build directory in default build (#874)
  • install dde6a77 feat: add rollup plugin for polyfilling the global process object (#854)
  • plugins 5b0fe76 add config() hook (#864)
  • plugins 42493b6 update transform plugin to use id instead of filepath (#837)
  • plugins:webpack 17e93b6 Webpack: fix wrong logic when extendConfig's plugin has options. (#842)
  • create-snowpack-app:svelte 149515f Svelte: fix tsconfig for svelte template
  • create-snowpack-app:preact c9f3886 Preact: bump prefresh version