Parcel.js is a new open source JavaScript module bundler that launched on December 5th. Parcel’s launch announcement touted speed and zero configuration as differentiators from existing module bundlers like webpack, browserify, and rollup, and claiming up to a 10X speedup over webpack when using its built-in caching.
Parcel provides out-of-the-box support for JavaScript, CSS, HTML, file assets, and more without utilizing any plugins. Developers can install via NPM and immediately have access to CSS preprocessors, code splitting, hot module reloading, a development server, caching, and more.
The core team is quickly adding features based on user requests, with the upcoming roadmap including WebAssembly support, source maps, and tree shaking. When asked how to get involved, core team member Shawn Presser suggested joining the parcel slack channel or hopping into their github issues. With over 50 contributors to the project after only one month since the launch, they are very open to new open source contributors.
Having a zero configuration required module bundler does not mean that developers cannot customize their build. According to Parcel.js core developer Devon Govett:
'Zero configuration' doesn’t mean non-configurable to @parceljs. You still probably need to configure babel, postcss, etc. The idea is to avoid additional boilerplate configuration just to get things working in every project. e.g. configuring loaders, plugins, etc.
Parcel is also extensible via its own plugin API. Developers can build custom Asset
handlers and Packagers
to combine assets in a custom manner, and then register them with Parcel via a simple one method API. Installed packages with a parcel-plugin-
prefix will be automatically detected by parcel and loaded. This allows the package manager to be extended without requiring excessive configuration.
In one month since the launch, Parcel racked up over 15,000 github stars and over 500,000 downloads via NPM, showing a high degree of interest in alternative bundling solutions.
Developers looking to get started can check out the parcel.js documentation, or explore an in-depth walkthrough on freecodecamp.com.