Escrito por Bruno Franco | Publicado em 18 de maio de 2024 às 17:14
Caso você já tenha feito uma lib, ou teve que fazer alguma alteração naquela lib interna que você usa nos microsserviços do trampo, voce já deve ter se deparado com essa questão.
Depois de ter feito a alteração, ajustou aqueles testes unitários e ficou todo pimposo pensando: como que eu debugo esse trem agora?
A primeira ideia que me passou a cabeça quando eu me peguei nesse cenário foi criar um arquivo temporário no proprio projeto da lib e tentar recriar algum cenário possivel de uso daquela minha alteração. No final das contas é exatamente isso que você está fazendo nos testes unitários.
Agora se você está trabalhando em um microsserviço e aquela alteração precisa estar na biblioteca que você também alterou, você precisará utilizar o npm link.
Basicamente, voce precisa colocar os repositorios no mesmo path para facilitar o link.
No terminal, acesse o repositório da lib e use o comando:
npm link
Bom apenas criar o link da sua lib, você precisa acessar então o repositório no qual você deseja testar.
PS: caso a lib esteja instalada nesse repositório, limpe a node_modules e remova temporariamente a lib do package.json.
No terminal novamente, acesse o repositório no projeto em que deseja intalar a lib e utilize o comando:
npm link <nome-da-lib>
A lib será instalada, e você conseguirá utiliza-la como se estivesse instalada via npm package.
Após fazer seus testes, para desvincular a lib de seu repositório, utilize o seguinte comando no terminar do repositório:
npm unlink <nome-da-lib>
Desta forma é possível utilizar a lib em qualquer repositório localmente sem precisar subir uma nova versão dela para depois testá-la.
Enquanto escrevia esse post encontrei uma pessoa falando de alguns problemas conhecidos no npm link, segue o post para ler depois.
Base: npmjs