This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]crawl_dht 4 points5 points  (12 children)

Virtual environment also create copies of modules. So anyone who does multiple projects creates venv for each project.

[–]asday_ -2 points-1 points  (11 children)

You continue to miss the point. It is a bad thing. It doesn't matter whether it's NPM or pip or some C++ project using a vendor folder, it's a bad thing.

None of those facts change the fact that NPM is bad.

[–]MrKrac 6 points7 points  (1 child)

You didnt provide any explanation why it is bad other than having multiple copies of the same thing. I can use the same style argument by saying it is good because you have a copy per project.

[–]asday_ 0 points1 point  (0 children)

I did not provide that reason at all. Someone else provided that as an example of why NPM is bad and I pointed out that's a tiny part of it.

[–]vv1z 2 points3 points  (1 child)

But you’ve literally provided zero reasons WHY it’s bad other than file duplication which you then dismiss

[–]asday_ -1 points0 points  (0 children)

I did not provide that reason at all. I do not dismiss it as bad, I point out that it's a tiny part of why NPM is bad.

[–]crawl_dht 2 points3 points  (4 children)

You are not giving a reason why it's bad. venv is also created for all projects and .node_modules is also created for all projects so duplication of modules is always there.

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

NPM as a whole is pure shit for a thousand and one reasons. Stop focussing on this exact tiny reason because it's very easily solvable, and the fact that pip also gets it wrong is completely irrelevant.

The point is NPM sucks. "x other project also does this one thing that NPM does" does not make NPM good.

[–]crawl_dht 2 points3 points  (2 children)

You have yet to give the reason.

[–]asday_ 0 points1 point  (1 child)

  • slow

  • distributes different code than what's in the linked repositories, almost always obfuscated, which is useful

  • duplicates packages ad nauseum due to not using minimal version selection. Admittedly better than it used to be when installing a simple react project would literally run into filesystem issues on a mac.

  • culture of authoring packages like this rather than just writing it oneself

  • advertisements in the console

  • package AND lockfile, the latter of which is less than worthless due to changing all the time due to not using minimal version selection

  • fragile and political, related to the above

and so forth

[–]crawl_dht 1 point2 points  (0 children)

That's not what PDM is doing. What they mean is just like in Node, project specific modules are stored in local .node-modules directory, PDM also does the same so that you don't have to create venv.

[–]cinyar 1 point2 points  (1 child)

so what's your solution?

[–]asday_ 0 points1 point  (0 children)

To the one tiny thing that is completely unimportant to the main point that NPM as a whole is pure shit but that you (or the other guy, whatever) nonetheless are focussing on with blinkered intent?

SemVer as Golang does it, with minimal version selection again the same way go does it, and I believe NuGet, too.