Hacker News new | ask | show | jobs
by dehrmann 2552 days ago
It depends on what you're developing. If you're developing an ~app, feel free to use what you want. If you're developing a library

- have few dependencies

- favor dependencies that, themselves, have few dependencies

- favor dependencies that have a single purpose

- favor well-understood stable libraries

- favor libraries that handle breaking changes well. A good Java example is commons-lang 2 vs 3 where the package name was changed so they can coexist. A bad example is Guava.

1 comments

NPM makes it possible to release new minor/patch versions even for older majors. You just need to specify in your package.json that you want that specific major version (and not any newer, which is of course common best practice) and you'll get them.