Igen és nem. Nyilván nem mindegyik library, és főleg framework fogja követni ezt az elvet. Illetve a Node.js-nek van egy olyan egyedi tulajdonsága, hogy egy függőség több verziója is használatban lehet ugyanabban a projectben a tranzitív függőségeken keresztül. Pl. ez a függőségfa Node.js-ben érvényes:
- my-project 1.0.0
- a-lib 1.0.0
- c-lib 1.0.0
- b-lib 2.0.0
- c-lib 2.0.0
- c-lib 3.0.0
- a-lib 1.0.0
Az npm valamennyire tud segíteni a függőségek deduplikálásával, de a fenti esetben a c-lib mindhárom verziója megtalálható lesz a node_modules könyvtárban.
Továbbá a libraryk általában magukkal csomagolják a saját tesztjeiket, dokumentációjukat, stb. is, amit jó eséllyel soha nem fogsz használni. Ha a release-edet Webpack-kal vagy más bundlerrel állítod elő akkor ez nem gond, mert az eleve csak azt rakja bele a buildbe amit használsz.