У нас есть существующее моно-репо Lerna , которое имеет структуру, такую как:
/
/packages
/package1
/package2
/package3
...
В настоящее время мы используем пряжу для нашего проекта, и фактически имеем только верхний уровень yarn.lock
file, без пакета yarn.lock
, так как мы никогда не использовали рабочие пространства.
Мы пытаемся перейти на npm и хотим сгенерировать файл package-lock.json
для каждого пакета в моно-репо,не только на высшем уровне.Как мы можем это сделать?Выполнение npm run lerna bootstrap --hoist
создает файл блокировки верхнего уровня, но не включает теги "dev": true
и не включает в себя локальные пакеты.Лучшее, что я смог сделать, - это сделать npm run lerna add somePackage --scope=package1
, что, хотя somePackage
уже существует в package
, заставляет генерировать файл package-lock.json
для каждого пакета в моно репо, кроме package1
.Кроме того, сгенерированные package-lock.json
файлы не имеют никаких dev-зависимостей.
Кроме того, я не могу зайти в каждый пакет и запустить npm install
, потому что npm
не знает о многих локальных пакетах.у нас есть в моно-репо, от которого зависят другие локальные пакеты.Как ни странно, даже в package-lock.json
файлах, сгенерированных из npm через lerna add
, эти файлы не содержат ссылок на локальные пакеты, только внешние.
Итак: как сгенерировать package-lock.json
файл для каждого пакета в моно-репо, который также включает devDependencies?