Я работаю над проектом с открытым исходным кодом, который в настоящее время использует lerna, чтобы помочь управлять одним репозиторием с несколькими пакетами. Пока все хорошо, за исключением того, что время от времени что-то ломается, потому что в настоящее время мы ничего не упаковываем в термоусадочную пленку. Я пытался сделать какую-то монорепозиционную версию термоусадочной упаковки, чтобы мы не зависели от всех наших зависимостей (удивительно, как часто все идет не так в середине выпуска!), Но натолкнулся на небольшую стену и задавался вопросом, на правильном ли я вообще пути.
Изначально я надеялся использовать термоусадочную пленку npm, с которой я был знаком по предыдущим проектам. К сожалению, lerna, похоже, не поддерживает термоусадочную пленку.
План Б заключался в использовании пряжи, которая после некоторых начальных трудностей, казалось, пошла нормально после перехода на использование рабочих пространств пряжи - по крайней мере, я думаю, что yarn install --frozen-lockfile
делал то, что я хотел.
К сожалению, кроме блокировки зависимостей, yarn, похоже, не помогает - все работает с npm и lerna, но рабочие области lerna и yarn, похоже, вызывают проблемы с модулями разрешения (даже с решением чего-то в том же каталоге, что сбивает с толку).
Возможно, переход на пряжу в любом случае является излишним, поэтому я начал задаваться вопросом, не было бы лучшей идеей более свежие версии npm и package-lock.json. К сожалению, похоже, что потребуется кое-что исправить с lerna, и с этого момента я начинаю интересно узнать, сколько на самом деле добавляет Лерна. Может быть, поможет удаление lerna?
Итак, tl; dr, есть ли у кого-нибудь хороший способ заблокировать зависимости модулей в монорепозитории?