Hacker News new | ask | show | jobs
by devongovett 2353 days ago
We do include a lot more features out of the box than other tools, so this makes sense to some degree. In Parcel 2, we're splitting up the core into lots of small plugin packages so you can only install what you need. The Parcel 2 core is tiny - only a handful of dependencies.
2 comments

Should a bundler really include all those features though? All I want out of a bundler is to bundle. As soon as it starts doing transforms, we end up with applications that only work with that bundler.
As a user of Parcel, I definitely want it. I wrote my Elm program, found myself wondering what the best tool would be to automate the running of elm make, bundling, not to mention transpiling the small amount of ES6 and sass I had in there as well. Less than five minutes later I have parcel installed with no config and it all just works with parcel start, god bless.
If you just want to bundle JS files, then Parcel probably isn't the tool you want.

If you're building a modern web app, you're likely using more than just JS files. The compilation target is complex, and there's room for more optimizations when the bundler is aware of the app as a whole.

This is the stance that Browserify took, and a stance I really liked myself. But the community overwhelmingly voted for Webpack.
If you want to just bundle, use rollup or browserify. They are pure bundlers based around ES Modules and CommonJS respectively.

Parcel is here because most people don’t need to just bundle but also a whole pipeline for optimization and extended browser support (Babel)

It would be nice to auto-detect needed features and automatically link those packages. Then the guesswork for knowing which packages to include will be minimal.
Parcel has that, partially. If you add a .vue file it adds the Vue packages to package.json, same with Typescript.

Parcel by itself is small, but it could potentially require a lot less packages by default if it did that with other large dependencies: Babel, SVGO, CSS Nano, PurgeCSS/UnCSS, PostHTML, which are not required if you don't use Parcel to bundle JS/SVG/CSS/HTML.

Yep, we’re definitely going this direction with Parcel 2. :)