Summary
New Parcel versions add many dependencies to the package.json (a.k.a dependency hell).
🐛 bug report
The reason that I used to use Parcel over other bundlers such as Rollup and Webpack was that I didn’t need to maintain a billion packages to be able to build my projects.
But in the recent versions Parcel also has removed this advantage by adding all the small packages to the top-level package.json
Just see how many packages I need to maintain for a single project build:
+ "@parcel/babel-plugin-transform-runtime": "^2.0.0-nightly.2222",
+ "@parcel/babel-preset-env": "^2.0.0-nightly.600",
+ "@parcel/optimizer-cssnano": "^2.0.0-nightly.600",
+ "@parcel/optimizer-htmlnano": "^2.0.0-nightly.600",
+ "@parcel/packager-css": "^2.0.0-nightly.600",
+ "@parcel/packager-ts": "^2.0.0-nightly.600",
+ "@parcel/transformer-css": "^2.0.0-nightly.600",
+ "@parcel/transformer-less": "^2.0.0-nightly.600",
+ "@parcel/transformer-postcss": "^2.0.0-nightly.600",
+ "@parcel/transformer-typescript-types": "^2.0.0-nightly.600",
+ "@parcel/validator-typescript": "^2.0.0-nightly.600",
Comparison of Parcel with other build systems:
Compare this to other languages and see how maintaining a JavaScript project is harder!
C++
: the only thing I need to install to be able to build C++ projects isclang
.Rust
: I just need to haverustup
andcargo
installed.Go
: I just need to havego
installed- …
🤔 Expected Behavior
Avoid adding all the internal dependencies to package.json
😯 Current Behavior
See the above
💁 Possible Solution
Manage the needed dependencies internally
🔦 Context
💻 Code Sample
🌍 Your Environment
Software | Version(s) |
---|---|
Parcel | 2.0.0-nightly.598 |
Node | N/A |
npm/Yarn | N/A |
Operating System | N/A |
I’d rather have an empty package.json and 200 megabytes in node_modules that I don’t use. I can’t imagine a situation where I’d care about downloading excessive node_modules. But I’m sure others can, and do 🙂
In any case,
many people
is what people tend to say when they can’t actually cite or quote sources, and over time their impression has grown to this conclusion by random off-hand comments.Has there been a survey of what users prefer?
Finally, if there wasn’t an RFC here, I’d never have said anything – and certainly I’d never have opened this ticket. It’s up to the maintainers what they want to do, and I am uncomfortable voicing my opinion at all.