Есть ли какая-нибудь короткая команда для перемещения модуля из devDependenciesв dependenciesв package.json?
Я всегда делаю это:
npm uninstall <module_name> --save-dev
npm install <module_name> --save
Есть ли более короткий подход к этому?
Есть ли какая-нибудь короткая команда для перемещения модуля из devDependenciesв dependenciesв package.json?
Я всегда делаю это:
npm uninstall <module_name> --save-dev
npm install <module_name> --save
Есть ли более короткий подход к этому?
Ответы:
Да! переместить модуль из devDependenciesв dependencies:
npm install <module_name> --save-prod
Если вы хотите сделать обратное (т.е. переместить модуль из dependenciesв devDependencies), просто выполните:
npm install <module_name> --save-dev
или стенография:
npm i <module_name> -D
сокращение от ( devDependenciesдо dependencies):
npm i <module_name> -P
npm i module-example -Dтакже будет работать для перехода от prod к dev, а также npm i module-example -Pк переходу от dev к prod-зависимостям
yarn remove <module_name>а затем повторно добавить ее в devDependencies с помощьюyarn add <module_name> --dev
В пряжу:
Переместить модуль из devDependenciesв dependencies:
yarn remove <module_name> --dev && yarn add <module_name>
Переместить модуль из dependenciesв devDependencies:
yarn remove <module_name> && yarn add <module_name> --dev
Как сказано в комментариях, команда фактически удаляет модуль и переустанавливает его на новом месте.
dependenciesв devDependenciesбез удаления и повторного добавления?
&&с &.
Проблема с использованием команд npmили yarnзаключается в том, что существует вероятность того, что повторно добавленная версия отличается от той, которая используется в настоящее время. Если это то, что вы хотите - и переход, и апгрейд, - тогда продолжайте и используйте принятый ответ.
Если нет, просто отредактируйте вручную,package.json чтобы переместить линию от devDependenciesобъекта к dependenciesобъекту (создавая ее при необходимости). Вы можете пойти и в другом направлении.
Файл блокировки не содержит никакой информации о том, являются ли вещи зависимостями prod или dev, поэтому не требует обновления. Вы можете сделать npm/ yarn installвпоследствии, чтобы исправить любые флаги в файлах блокировки.
dependenciesраздел верхнего уровня package-lock.json, каждая запись потенциально имеет devфлаг, указывающий, является ли это зависимостью dev или транзитивной зависимостью одного. См. Docs.npmjs.com/files/package-lock.json#dev "Если [dev is] true, то эта зависимость является либо зависимостью разработки ТОЛЬКО от модуля верхнего уровня, либо транзитивной зависимостью одного. Это ложно для зависимостей, которые являются как зависимостью развития верхнего уровня, так и транзитивной зависимостью не-разработки зависимости верхнего уровня ".
Проблема использования npm install в том, что вы получаете обновленные версии. Что сработало для меня:
npm installЭто сохранило все версии без изменений.