Монорепо с множеством npm-скриптов

в вашем Monorepos нормально ли, что корневой package.json получает много скриптов npm по мере того, как вы получаете все больше и больше пакетов? Я отображаю все сценарии пакетов в корневом каталоге, чтобы упростить задачу, это хороший подход? И это нормально, когда мне нужно разработать зависимые пакеты, такие как i18n lib, который устанавливается в компонент lib, который установлен в CRM. Для меня нормально запускать все три на dev, верно?


person Cazetto    schedule 20.07.2020    source источник


Ответы (1)


Первый вопрос, который стоит задать себе: нужно ли вам определять все эти сценарии?

Часто в package.json можно определить только самые распространенные сценарии, а в документации - остальные.


Если вы хотите иметь много скриптов и вам нужно запустить несколько, тогда npm- run-all - очень полезный пакет для последовательного или параллельного запуска нескольких скриптов, который может группировать / выполнять поиск по подстановочным знакам.

Например:

"scripts": {
   "test:frontend": "jest",
   "test:e2e": "cypress run",
   "test:scripts": "bash ./script.sh",
   "test": "npm-run-all --parallel test:**",
   "clean": "rimraf ./dist",
   "lint ": "prettier",
   "build:fe": "vue-cli-service build",
   "build:be": "node build.js",
   "prePublish": "npm-run-all --serial clean lint build:**"
}
person Luke Storry    schedule 20.07.2020
comment
Привет, Люк. Спасибо за ваш ответ! Как я уже упоминал, мне нужно запускать несколько пакетов одновременно, и, чтобы этого избежать, я слышал рекомендации создать конфигурацию веб-пакета для монорепозитория, который указывает на все пакеты. Вам когда-нибудь приходилось делать это? - person Cazetto; 21.07.2020