browserslist is defined, as well as for the compilation of JSX and TypeScript, and React Fast Refresh.
The team provided the following performance benchmark, which indicates that Parcel is around 10 times faster without minification, and around 3 times faster with minification enabled:
While Parcel does not require any configuration from the developers by default, Parcel 2 is built around a modular design that allows for user-defined plugins that can customize different stages of the aggregation pipeline. The Parcel team explains:
Parcel does not require any configuration. It never meant unconfigurable, just that Parcel tried to infer as much as possible from the code itself and used existing config files for other tools (eg .babelrc). Users loved the ease of use and developer experience it provided, but there are always extreme cases and real-life use cases that require a bit more customization. […]
Parcel 2 supports kernel extension with additional functionality through a comprehensive set of plug-in types designed specifically for each of the main stages of Parcel.
Developers can extend the core functionality of Parcel at any stage of the pipeline. The types of plugins are named according to the stage of the pipeline that they customize. The plugins can thus be called resolvers, transformers, bundlers, namers, runtimes, packagers, optimizers, validators and reporters. Resolvers, for example, solve
import './foo' in full file paths like
Parcel 2 allows developers to configure builds for multiple targets that will be built in parallel. Parcel 2 automatically generates both native ES modules for modern browsers and classic fallback scripts for older browsers. The Parcel team highlighted the performance benefits of differential pooling:
This dramatically reduces bundle size for the majority of users by delivering modern syntax rather than transpiling it to ES5.
Parcel 2 has many more features, improvements, and bug fixes (eg improved support for JSX, improved support for web workers). The Parcel team is still working on the final version of Parcel 2 and the corresponding release note. In the meantime, interested developers will find many details in the previous Parcel release notes: Parcel alpha 1, Parcel beta 1, Parcel beta 3 and Parcel 2 RC.