Como han pasado un par de años y no parece posible hacer esto (usando npm solo), una solución a este problema es usar el Administrador de repositorio Nexus (de Sonatype). Nexus admite múltiples repositorios, le permite ordenarlos y también servidores proxy / cachés para mejorar la velocidad.
Existe una versión gratuita y una versión pro / de pago. La característica que admite esto se describe en:
https://help.sonatype.com/repomanager3/node-packaged-modules-and-npm-registries
La información relevante se duplica a continuación, de modo que si / cuando la URL / enlace anterior deja de funcionar, la información todavía está aquí.
Un grupo de repositorios es la forma recomendada de exponer todos sus repositorios de registros npm del administrador de repositorios a sus usuarios, sin necesidad de ninguna otra configuración del lado del cliente. Un grupo de repositorio le permite exponer el contenido agregado de múltiples repositorios proxy y alojados con una URL a npm y otras herramientas.
Te permite crear registros privados de npm
Se puede usar un registro privado de npm para cargar sus propios paquetes, así como paquetes de terceros.
Y
Para reducir las descargas duplicadas y mejorar las velocidades de descarga para sus desarrolladores y servidores CI, debe proxy el registro alojado en https://registry.npmjs.org . Por defecto, npm accede a este registro directamente. También puede delegar cualquier otro registro que necesite.
Entonces, una lista rápida con viñetas de las cosas que debe hacer para que esto funcione es:
Instalar Nexus
Cree un repositorio local / privado (o señale su repositorio privado en otro servidor)
Cree un GRUPO que enumere su repositorio privado y el repositorio público.
Configure su archivo $ HOME / .npmrc para que apunte al "GRUPO" que acaba de crear.
Publique sus paquetes privados de npm en el repositorio local.
Los usuarios ahora pueden ejecutar una configuración única.
npm config set registry https://nexus/content/groups/GROUP
- Luego, los usuarios pueden instalar paquetes públicos o privados a través de
npm install.
npm install my-private-package
npm install lodash any-other-public-package
Y tanto sus paquetes públicos como privados pueden instalarse mediante un simple npm installcomando. Nexus encuentra el paquete buscando cada repositorio configurado en el grupo y devuelve los resultados. Entonces, npm todavía piensa que solo hay un registro, pero detrás de la cortina hay varios repositorios que se utilizan.
NOTA IMPORTANTE: Cuando publique sus componentes, deberá especificar el npm publish --registry https://nexus/content/repositories/private-repo my-private-packagecomando para que su paquete se publique en el repositorio correcto.