npm — передавать аргументы из CLI через несколько скриптов

Допустим, у меня есть следующее в файле с именем print-last-arg.js:

console.log(process.argv[process.argv.length-1])

И следующие скрипты в моем package.json:

"scripts": {
  "print_a": "node print-last-arg.js",
  "print_b": "npm run print_a"
}

Когда я запускаю npm run print_a -- --foo=bar, я получаю --foo=bar, как и ожидалось.

Однако npm run print_b -- --foo=bar не дает мне никакого результата.

Как передать аргументы CLI из print_b в print_a?


person ethan.roday    schedule 22.11.2018    source источник
comment
Возможный дубликат Как передать аргумент командной строки во вложенный скрипт?   -  person RobC    schedule 22.11.2018
comment
Согласен, @RobC - такого не нашел. Спасибо.   -  person ethan.roday    schedule 23.11.2018


Ответы (1)


Оказывается, вам просто нужно добавить дополнительный -- в конце print_b, который скажет npm передать любые аргументы, которые print_b получил в print_a. Так,

"scripts": {
  "print_a": "node print-last-arg.js",
  "print_b": "npm run print_a"
}

становится

"scripts": {
  "print_a": "node print-last-arg.js",
  "print_b": "npm run print_a -- "
}

Вуаля! Теперь npm run print_b -- --foo=bar печатает --foo=bar как и ожидалось.

person ethan.roday    schedule 22.11.2018