У меня есть monorepo, где у меня есть папка /packages
со многими пакетами.
Я могу использовать npm i ./packages
или npm i
, если они уже указаны с использованием указателя файла.
Выглядит примерно так:
"dependencies": {
"@reggi/command": "file:packages/command",
"@reggi/dep-merge": "file:packages/dep-merge",
"@reggi/dep-merge-cli": "file:packages/dep-merge-cli",
"@reggi/dep-pointer": "file:packages/dep-pointer"
}
Проблема в том, что если я установлю эти пакеты, у меня не будет зависимостей dev.
Что я действительно хочу, так это установить devDependencies
из этих зависимостей.
lerna
популярный инструмент, который впервые применил monorepos, предлагает вам добавить все devDependencies
для этих пакетов в корневой пакет.Проблема в том, что это устраняет возможность зависимости двух пакетов от разных версий заданной зависимости dev.
Я создал скрипт, который объединяет все devDependencies
в dependencies
вpreinstall
затем отменяет изменения.Это работает, но иногда может быть немного странно, особенно если объяснить все это shrinkwrap
.
Было бы неплохо, если бы я мог просто npm i --allDevDepsFromDeps
, и он установил бы все мои зависимости dev-зависимости.
Есть ли какое-то другое решение, которое мне не хватает?