Получить уровень версии из скрипта npm - PullRequest
0 голосов
/ 10 июня 2019

Я хочу написать npm-скриптов , которые запускаются при повышении версии пакета с помощью npm version.Я не намерен запускать мои скрипты напрямую через npm run _____;вместо этого они должны вызываться npm, когда вызывается npm version ____ (или preversion или postversion и т. д.).

Как я могу ссылаться на аргумент уровня версии в моих сценариях?

Например, если мой скрипт выполняется как preversion и был вызван из npm version major, как мой скрипт может ссылаться на major?

1 Ответ

0 голосов
/ 11 июля 2019

В моем сценарии я могу сослаться на process.env.npm_config_argv. Его значение представляет собой строку JSON, которая содержит исходные аргументы в npm.

Если мой package.json содержит:

"scripts": {
  "preversion": "node log_argv"
}

А log_argv.js содержит:

console.log('Type:', typeof process.env.npm_config_argv);
console.log('Value:', process.env.npm_config_argv);
console.log('Original npm args:', JSON.parse(process.env.npm_config_argv).original);

throw new Error("aborting");

И я запускаю npm version patch, затем я вижу вывод:

Type: string
Value: {"remain":["patch"],"cooked":["version","patch"],"original":["version","patch"]}
Original npm args: [ 'version', 'patch' ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...