The zero configuration build tool for the web. 📦🚀
This release updates Parcel's default CSS transformer and minifier to use @parcel/css! This offers both improved both build performance and better minification. It also brings automatic transpilation of CSS for your browser targets, just like we have for JavaScript – no configuration needed.
For most projects, this update should be seamless. Read our blog post for more upgrade instructions, and check out the updated CSS docs for full details on all of the new features.
In addition, this release includes several other improvements and bug fixes:
typeof
before dead code elimination to improve bundle size - Details
PORT
environment variable from .env
files - Details
String
constructor. - Details
url()
- Details
source
field resolution with pnpm - Details
errors.map is not a function
- Details
This fixes an issue with auto installing node builtins where the npm package has the same name as the node builtin itself. See #7697.
Followup release to v2.3.0 to improve the error message shown when auto install is disabled (e.g. in CI environments) and a node polyfill is needed. This may occur for example when using automated dependency upgrade bots like renovate/dependabot.
This also fixes a bug where auto install did not work correctly in some cases, and pins all parcel dependency versions so that it is easier to pin parcel to a specific version in your project.
This release reduces the number of npm dependencies needed by Parcel by over 60%. This builds upon previous work in 2.2.0, so combined Parcel now installs over 70% fewer dependencies! This is accomplished by:
buffer
, stream
, etc.). These are rarely used but account for a large number of installed dependencies. Now, when you use one of these, or a dependency in your project does, it'll be installed into your project on demand.We will continue reducing Parcel's footprint in future releases by further reducing our use of dependency-heavy ecosystems such as PostCSS as we replace them with Rust-based equivalents.
@parcel/css
. Now Parcel has default modern browser targets. - Details
@parcel/transformer-css-experimental
plugin, which is powered by @parcel/css - Details
node-forge
to 1.0.0 to fix security vulnerabilityhttps://github.com/parcel-bundler/parcel/blob/v2/CHANGELOG.md#201---2021-11-08