Skip to content

Releases: FredKSchott/snowpack

v2.2.0

01 Jun 16:51
Compare
Choose a tag to compare

Lots of new features in this release! Big thanks to @stramel and @stellarhoof for their contributions of these much-requested features.

Project-Level Imports

Advanced Proxy Configuration

ENV Variable Support: import.meta.env

Also:

  • Run HMR WebSocket and HTTP server on same port (#403) 8b3e383
  • docs updates

v2.1.1...v2.2.0

v2.1.1

01 Jun 06:56
Compare
Choose a tag to compare

Small Fixes!

  • Swap ansi-escapes for a working cross platform clear (#400) 11ca3d0
  • update dependency cache logic 46d3379
  • improve ESM import scanner 265418e
  • remove bad check against exclude flag 3c10d00
  • make possible to import es6 modules without a semicolon (#398) 068471b
  • clear cache after dependency install 7e29fd9
  • improve deprecation check 5b44882
  • ignore babel macro imports (#395) 65d9715
  • update docs

v2.1.0...v2.1.1

v2.1.0

30 May 22:40
Compare
Choose a tag to compare

Directory Import Resolution - import './routes';

Previously, we'd done a very lazy + '.js' to any import missing a file extension, which broke if the import was a directory and users were expecting node-style directory resolution to the directory's index.js file.

Now, we first check if it's a directory, in which case we add a slightly less lazy + '/index.js' instead.

Faster, Better Import Scanning

Previously, we'd powered our install import scanner with esbuild, which caused any non-standard JS to fail if esbuild didn't support it, blocking users from using Snowpack entirely (err: Parse Error).

Now, we have a general fallback scanner for any non-JS syntax. This is now an entirely static analysis of your source directory, meaning we were able to remove esbuild entirely. It's very, very fast now.

True http-proxy Support

See: #375, #373, #371

Our "proxy" build script was naively just making http requests to the proxied destination. This work now uses a real proxy server implementation to support more requests, and sets the stage for us to introduce better proxy configuration support for all the http-proxy library options.

Fixes & Smaller Improvements

  • run scripts should go before mount scripts in build 9fb9f78
  • reinstall dependencies when node_modules dependencies change 0023e0b
  • improve rollup error handling 8488618
  • Fix the issue where CTRL+C is needed twice to exit (#380)

v2.0.3...v2.1.0

v2.0.2

28 May 00:03
Compare
Choose a tag to compare
  • dev fix issue with web_modules loading af783e6

v2.0.1...v2.0.2

v2.0.1

27 May 23:04
Compare
Choose a tag to compare

What launch day would be complete without a set of bug fixes:

  • dev - check all mounted directories for a file 86e1113
  • dev - proxy requests with methods other than GET (#359) 59e163d
  • dev - resolve packages that don't have a "main" entrypoint 5a50d3f
  • dev - update hmr client 3de3379
  • install - add a fix for some edge-case react imports 2f61be5
  • Add .less, .scss, and .mdx support 37f1990
  • Update docs, fix typos

v2.0.0...v2.0.1

Snowpack 2.0.0-rc.1 (Release Candidate #1)

18 May 17:54
Compare
Choose a tag to compare

Cover image

** Psst... Save the date! Snowpack 2.0.0 is coming May 26th!**

🎉 Snowpack 2.0.0-RC.1

Thank you everyone who tried out the Snowpack v2.0 Beta! Thanks to you, we've been able to hone in on the final feature set & API for Snowpack v2. At this point we're feeling confident enough to tag our first release candidate (with an official 2.0.0 release scheduled for next week)!

We don't expect any big API changes going forward, so If you want to test Snowpack v2.0 readiness for your application (or framework/library, if you're an open source maintainer) there's never been a better time to start!

What's new?

Snowpack v2 was announced the other week as a next step for the bundle-free development movement that we'd helped kickstart back during the Snowpack v1.0 release. You can read our full announcement thread & story here.

Since that announcement, we've finalized our v2.0 feature set with a bunch of new features requested by you: Hot Module Replacement (HMR), built-in JSX/TS/TSX handling via esbuild, CSS/JSON/Asset imports, and an entire 3rd party plugin system for extending Snowpack are all now available.

We'll be teasing these new features & plugins over the next week, so follow us on Twitter to get an early preview of what's new as we get closer to next week's release. Until then we'll be working on documentation, code cleanup, and testing to prepare for a stable & solid release.

Learn more: https://snowpack.dev/
Create your first plugin: https://snowpack.dev/plugins (These docs are still very much in progress)
Get updates: https://twitter.com/pikapkg

Screen Shot 2020-05-18 at 10 52 38 AM

v1.7.1

22 Apr 18:21
Compare
Choose a tag to compare
  • Fix: "'import' and 'export' may only appear at the top level" error in ...

v1.7.0

15 Apr 20:07
Compare
Choose a tag to compare

You can read the full release notes below. But first, a look ahead...

The Road to Snowpack v2.0

As it stands, v1.7 is our last planned v1.x release before v2.0.

The project has grown a ton over since our v1.0 release: 160+ PRs, 50+ contributors, and a collection of podcasts, blog posts, video tutorials and more. I'm overjoyed that this project has meant so much to so many. If you're reading this, thank you.

We've also learned a ton from you in the process: what works, what doesn't, and what's still confusing. It turns out, there's still a lot to get confused about. This will be our focus for v2.0: The fastest dev environment on the web should also be the easiest to use.

  • Remove our npm coupling: Configuring Snowpack to re-run every npm install/uninstall/add/remove can be a pain. That's why Snowpack v2.0 will also be able to install and manage dependencies independently from npm/yarn. Learn more...
  • No more React workarounds: By letting Snowpack fully manage & install your web_modules/ directory, we can make sure that every package installs correctly from the start. No more workarounds needed for React and others!
  • A better dev environment: Today, Snowpack works with your favorite static dev server. This is an important goal for the project, but it's also a lot to ask a new user to set up. Starting in v2.0, Snowpack will ship a dev command that gives you a fully-configured dev environment, instantly. Learn more...
  • Better defaults: We've kept around a lot of v1.0 behavior to prevent breaking changes, but new features launched since then make more sense as defaults. v2.0 will be a chance to enable some of our favorite features from v1.x (like --stat mode) by default.

If you're interested in getting involved and helping out, this is a great time to do so! We keep our Issue tracker extremely clean so that you can always find an issue that we're looking for help on.

v1.7.0 Release Notes

--env process.env support (author: @postspectacular)

Snowpack's process.env handling has gotten an upgrade and a new feature: you can now rewrite custom process.env properties in your dependencies via --env/"env" config support. This is essential if you find yourself working with a dependency that checks for a custom property like "process.env.MY_CUSTOM_KEY" that you'd like to provide.

A better babel plugin (author: @francislavoie)

Based on your user feedback, we've completely updated our Babel plugin to better support complex project layouts. It now supports:

  • webModulesUrl - Rewrite your bare module imports to an absolute path (/web_modules/...), a relative path (../web_modules/...), or even an absolute, remote URL (https://static.yourdomain.com/web_modules/...).
  • moduleResolution - Resolve relative imports using Node's resolution logic. Instead of just adding missing extensions, we'll now also resolve directory imports (/foo -> /foo/index.js).

JSX & TypeScript support for --include (author: @DangoDev, @FredKSchott)

Our previous import scanner left TypeScript users, JSX users, and others stuck in a Catch-22: scanning your compiled code for new dependencies required a successful build, but creating a successful build required that new dependencies were already installed.

You can now use --include src/**/* to scan your actual source for the correct dependencies, even if you're using non-standard language features like TypeScript or JSX.

Other Bug Fixes

v1.6.0...v1.7.0

v1.6.0

09 Mar 19:05
Compare
Choose a tag to compare
  • 🆕 Import scanning now supports TypeScript (#234) 12ba5ba
  • 🆕 Pass an explicit config file via --config flag (#232) 3026fcf
  • Experimental: --source pika (#228) 128fa6c

v1.5.1...v1.6.0

v1.5.2

05 Mar 01:54
Compare
Choose a tag to compare
  • Small fix to handle Node v13.10's new "ERR_PACKAGE_PATH_NOT_EXPORTED" error type 72d1bd4