npm скрипт зацепит несколько скриптов - PullRequest
0 голосов
/ 25 марта 2020

У меня довольно простой вопрос о перехватах предварительного скрипта.

В моем пакете. json, у меня есть пара команд, которые должны запускать один и тот же предскрипт. У меня уже есть способ сделать это, но мне интересно, есть ли более эффективная причина для этого.

Текущая реализация

{
    "scripts": {
        "myproject:run": "npm run custom.prescript && ng serve ...",
        "myproject:prod": "npm run custom.prescript && ng serve -env=prod ...",
        "myproject:build.devserver": "npm run custom.prescript && ng build -env=dev ...",
        ...
        "myproject:build.prodserver": "npm run custom.prescript && ng build -env=prod ...",
        "custom.prescript": "..."
    }
}

Это работает все хорошо и модно, но я надеюсь, что есть более чистый, чтобы реализовать это. Поскольку у меня есть приблизительно 20 из этих сценариев, которые нуждаются в том же самом предварительном сценарии. Когда по какой-то причине мне нужно изменить команду, мне придется сделать это 20 раз для каждого проекта в репо (около 5 проектов).

Я знаю, что есть способ добавить предскрипты, создавая сценарий с тем же именем и префиксом «pre», чтобы убедиться, что он запускается до указанного сценария c, но, насколько я знаю, он не работает для нескольких сценариев.

Пример моей цели

{
    "scripts": {
        "myproject:run": "ng serve ...",
        "myproject:prod": "ng serve -env=prod ...",
        ...
        "secondproject:run": "ng serve ...",
        "secondproject:prod": "ng serve -env=prod ...",
        ...
        "premyproject:*": "...",  // Runs before all 'myproject:*' scripts
        "presecondproject:*": "..."  // Runs before all 'secondproject:*' scripts
    }
}

Есть ли более эффективный способ выполнить sh или я ДОЛЖЕН сделать это так, как я это уже делаю?

Спасибо за ваше время! :)

...