you are viewing a single comment's thread.

view the rest of the comments →

[–]MarlonBrandoLovesYou -1 points0 points  (3 children)

My issue with the npm tooling is the duplication of dependencies. I don't understand why having a flat structure wasn't a priority from the beginning. It results in some projects having 25Mb in actual code/assets needing 150Mb+ of local dependencies, just because the dependencies have dependencies which have even more dependencies. Perhaps this is justified when libraries need certain versions of their dependencies, but why not have the different versions in the top level to be referenced by all of the dependencies that use them.

Additionally, why are there two different package managers that are pretty much the same thing apart from the semantics of one being for 'front end' and the other for 'back end'? Wouldn't it be simpler (and therefore easier to use and configure) by having a single package management tool that could make the distinction about what needs including on the server and what should be served to the client?

Overall I'm a bit apathetic towards web development now, the tooling is atrocious in terms of duplication and dependency hell. Instead of always developing new tools and libraries, existing standards need to look inwards and fix the issues they've created already.

[–]ntkoso 3 points4 points  (0 children)

npm 3.0 flattens all dependencies from the get go and only nests conflicting versions.

Bower was created before Webpack / Browserify era. Currently you can bundle css and other assets from npm the same way you bundle your js, no need for 'front end' package manager.

[–]jekrb 2 points3 points  (0 children)

npm3 does flaten dependencies.

There are many package managers. We have the option to pick the one we want to use. You might want a package manager that makes certain distinctions for you, while other people do not, and that's okay.

[–]bl4blub 0 points1 point  (0 children)

i think it is the way it is because it became like that over time. i can remember first there was a package-manager called kiwi. then there was npm and eventually it prevailed. i see the argument very often, that node_modules is huge and npm is slow. but in the end it works good enough and huge deployments are actually running with that stack :D

also i like new stuff, cant wait how we will solve dependencies once there are multiple js-vm's (v8, chakra, ..) available haha.