Como evitar a instalação de pacotes no monorepo usando o Yarn

10

Construí um monorepo usando os espaços de trabalho Lerna e Yarn .

Tudo funciona bem, mas sempre que instalo uma nova dependência em um pacote (vamos chamá-lo de A ) usando:

yarn add <package_name>

O Yarn o adiciona e, em seguida, aciona o installscript de todos os pacotes no monorepo, mesmo os pacotes nos quais A não depende.

Existe de qualquer maneira para evitar isso? Demora alguns instantes para instalá-los sem motivo algum.

Erazihel
fonte
Então você usou os pacotes Lerna e Yarn? Por que não apenas Lerna? Além disso, você tentou adicionar o pacote com o Lerna e definir um escopo? github.com/lerna/lerna/tree/master/commands/add
kbariotis 28/03
Eu uso o Lerna para publicar e versão meus pacotes e áreas de trabalho do Yarn para gerenciar facilmente dependências. Eu tentei sua sugestão e não funcionou. Obrigado por tentar :)
Erazihel 28/03

Respostas:

4

Tente adicionar ao espaço de trabalho específico com: -

yarn workspace <workspace_name> add <package_name>

Para alguns documentos, verifique aqui

Ezrqn Kemboi
fonte
Não quero instalar a dependência em todo o espaço de trabalho, mas apenas em um pacote
Erazihel 28/03
4

Você pode tentar Fios 2 com nodeLinker: node-modulesno .yarnrc.yml. O Yarn 2 garante acionar a reconstrução apenas nos pacotes que tiveram suas dependências alteradas, isso é algo que não foi garantido pelo Yarn 1. No entanto, ainda haverá um caso muito raro em que pacotes aparentemente não relacionados sejam reconstruídos se forem hasteados de maneira diferente após a adição de um novo pacote. , mas isso acontecerá muito raramente.

Viktor Vlasenko
fonte
Eu tentei sua sugestão, mas parece que infelizmente o resultado ainda é o mesmo ...: /
Erazihel 11/04
4

Usando o escopo, adicione o pacote ao módulo específico.

lerna add some_package_1 --scope=some_module_x

Mais: https://github.com/lerna/lerna/tree/master/commands/add#readme

xdeepakv
fonte
Isso é o que @kbariotis sugeriu no comentário à minha pergunta. Eu tentei e o resultado ainda é o mesmo.
Erazihel 11/04
u pode atualizar um dos package.json
xdeepakv 11/04
Eu fiz e mais uma vez o resultado ainda é o mesmo
Erazihel