Parcel

Parcel 195,638 is the zero-configuration bundler: you point it at an HTML file and it discovers everything else. It follows <script> and <link> tags, import statements, CSS @import and url(), and image references, and it handles TypeScript, JSX, Sass 22,539 , images and WebAssembly without a configuration file. Transforms run in parallel worker threads and every result is cached, so restarts are fast. For production, Parcel minifies JavaScript with SWC 553,439 and CSS with Lightning CSS, both written in Rust.

The app built with webpack 3,824 in Webpack needs no configuration at all, only a src/index.html containing <script type="module" src="./app.js"></script>:

Installing Parcel, then starting the dev server and buildingShell
npm install -D parcel
npx parcel src/index.html          # dev server with HMR at http://localhost:1234
npx parcel build src/index.html
Output
✨ Built in 1.33s
dist\index.html               269 B     25ms
dist\bundlers.2096e12d.js     119 B     67ms
dist\logo.7f1f383c.svg        110 B     34ms
dist\bundlers.f71f04a1.css    108 B    146ms

Without being told, Parcel extracted the CSS into its own file, tree-shook square(), hashed every file name and minified the HTML. Add "source": "src/index.html" to package.json and the scripts shrink to "start": "parcel" and "build": "parcel build"; a browserslist field sets the target browsers.

Parcel suits prototypes, multi-page static sites and libraries where you would rather not maintain configuration. Its release pace has slowed (2.16.4, from February 2026, was still the latest in September 2026), and for large applications Vite 25,978 has the larger plugin ecosystem.