Как предотвратить запуск следующей команды npm?

Я пытаюсь запустить предварительные проверки через npm, прежде чем разрешать обработку других скриптов.

Следующие работы, но мне интересно, есть ли лучший способ

package.json

"deploy": "npm run _deploy:preflight && npm run _deploy:real",

"_deploy:preflight": "node ./build-utils/deploy-preflight.js",

build-utils/deploy-preflight.js

if (checksFail()) {
    console.log("--------------");
    console.log("preflight checks failed!");
    console.log("--------------");
    process.exit(1);
}

Проблема не столько в том, что это не работает, а в том, что консоль затем замусорена огромным npm ERR/stacktrace, и я бы предпочел просто увидеть чистое сообщение «предпечатная проверка не удалась» и по-прежнему предотвращать npm run _deploy:real от бега


person davidkomer    schedule 31.01.2019    source источник


Ответы (1)


Да, я согласен - npm иногда может быть довольно шумным/многословным.

Следующее предложение предполагает, что вы сохраняете deploy-preflight.js в том виде, в каком оно есть в настоящее время, при этом вы продолжаете выходить с кодом выхода 1 при ошибке, то есть process.exit(1).

  • Параметр командной строки npm --silent, или его сокращенный эквивалент -s, пожалуй, самый предпочтительный!. Однако это требует, чтобы вы включили его в команду CLI, которую вы запускаете.

    Например:

    $ npm run deploy -s
                     ^
    

    or

    $ npm run -s deploy
              ^
    
person RobC    schedule 31.01.2019