Uno de nuestros productos en el trabajo es un JS SDK que nuestros clientes pueden instalar y usar con npm install ... . Estaba revisando el archivo package.json y descubrí que se instaló un paquete, socket.io-client como devDependency . Pero el SDK usa socket.io como parte integral de su funcionamiento, y obviamente está funcionando para nuestros clientes. Entonces, ¿por qué está funcionando? Dado que, siguiendo la documentación, devDependencies no debe instalarse cuando se usa npm install .