Solución:
Estaba buscando la solución. No he encontrado, luego hizo un script que agrega dependencias (versiones más recientes o especificadas) a la package.json
archivo omitiendo el proceso de instalación.
https://www.npmjs.com/package/add-dependencies
Instalación
Si no se usa con npx
(vea abajo):
$ npm install add-dependencies [-g]
Uso
Correr:
$ add-dependencies [package_file] <dependencies> [target] [--no-overwrite]
o con npx
:
$ npx add-dependencies [package_file] <dependencies> [target] [--no-overwrite]
dónde dependencies
es la lista de dependencias dividida por espacio, y target
es uno de los siguientes:
-
--dev
/--save-dev
/-D
pordevDependencies
-
--peer
/--save-peer
/-P
porpeerDependencies
-
--optional
/--save-optional
/-O
poroptionalDependencies
Si no target
argumento pasado, las dependencias se escriben en dependencies
.
Si no package_file
argumento pasado, el script busca un package.json
archivo dentro del directorio de trabajo actual.
Usar --no-overwrite
marca para evitar paquetes ya existentes en package.json
de ser sobrescrito.
Ejemplo:
$ add-dependencies /home/user/project/package.json [email protected] [email protected] redux eslint --dev
o con npx
:
$ npx add-dependencies /home/user/project/package.json [email protected] [email protected] redux eslint --dev
Espero que esto pueda ayudar a alguien más.
No hay forma de hacer eso con npm
que yo sepa.
Hay dos paquetes npm para hacer esto; Nunca he usado ninguno de ellos, pero valdría la pena intentarlo:
- https://www.npmjs.com/package/npm-add
- https://www.npmjs.com/package/adddep
¡Espero que esto ayude!
Curiosamente combinando --package-lock-only
con --no-package-lock
parece hacer esto
npm install --package-lock-only --no-package-lock PACKAGE
Esto no crea ni actualiza el archivo package-lock.json. Solo agrega una entrada al package.json
ACTUALIZAR
En realidad, esto fue un error y ahora está corregido en npm 6.9.0
https://github.com/npm/cli/pull/146
https://npm.community/t/release-npm-6-9-0/5911