Reduce the number of Parcel dependencies that are added to package.json (a.k.a dependency hell)


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 is clang.
  • Rust: I just need to have rustup and cargo installed.
  • Go: I just need to have go 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

1 possible answer(s) on “Reduce the number of Parcel dependencies that are added to package.json (a.k.a dependency hell)

  1. 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.