3 ms·
> I need a dependency, my os hasn't packaged it, and it's the path of least resistance. What I tell you back: you probably don't need it, you're just being ver
by dozzie 11y ago
> I need a dependency, my os hasn't packaged it, and it's the path of least resistance.
What I tell you back: you probably don't need it, you're just being very, very
lazy, which will cost later in bugs in those dependencies, and it's not that
easy to fix a bug in a dependency.
Additionally, it's not that difficult to make a package with that dependency.
I routinely do so, both for things other people wrote and for my code. Sure,
it's not as easy as adding a line in package.json, but there should be some
friction in adding a library to a project, so the library would justify
itself. Keeping many dependencies is very expensive in the long run, but
short-term is somewhat beneficial. Look at how it works for Node.js and gems
and Python packages: every library needs its own `map()' function
implementation (or anything else similarly trivial), so typcial application
requires few dozens of other libraries.
- XorNot 11y agoWriting yet another map implementation is not solving any problems. People get so bizarrely bent out of shape over npm dependency quantity rather than ease of use.
- qwertyuiop924 11y agoHey, I was just saying that that's the common idea, not that I think that way. Personally, I use NPM because NPM does local versioning, so I will never end up in dll hell. Also, NO, NEVER WRITE A PACKAGE THAT HAS EXPLICIT KNOWLEDGE OF A DISTRO PACKAGE MANAGER. If you do, you are being an asshole. If you want to depend on a distro specific package manager, document your dependencies, and just expect them to be there. Because not everybody uses your package manager.
- dozzie 11y agoIf you have proper package building rules (not this currently popular fpm nonsense, which produces broken RPMs and DEBs unless one puts much effort in using it), tearing building procedure apart and adjusting it for other package managers will be really easy. No, you're not being an asshole. And if you want to be it even less, write a proper makefile and call that from package build rules (RPM spec, debian/rules, ebuild, or anything else).
- qwertyuiop924 11y agoYou should be writing Makefiles, or Scons, or whatever your build system is.