Criei um pacote que resolve alguns problemas do YARN e NPM: ele armazena o node_modules fora do projeto
Fala galera! Eu estava desenvolvendo os meus projetos, e percebi que meu armazenamento tava indo pro espaço, e aí descobri o motivo: vários projetos = vários gigas de node_modules ocupando espaço. 🤦♂️
Lá vai eu ter que entrar em cada projeto e apagar cada pasta node_modules que tem em cada projeto, ou rodar um script no terminal. Logo...
Criei um pacote que resolve isso: ele armazena o node_modules fora do projeto e, se você não mexer por mais de 7 dias, ele apaga a pasta de node_modules dos projetos que não estão sendo mexidos. Quando você voltar a rodar o projeto, ele irá avisar para reinstalar tudo rapidinho!
A ultima implementação foi para compilar Typescript sem horas de configurações atoa, tudo um pouco mais fácil!
Ainda tem muita coisa pra melhorar, mas foi feito em algumas horas só, e como aprendizado. 😎
Usem esse pacote, testem, e comentem aqui abaixo, melhorias. Não testei no Windows, testem se possível.
tirando a parte de "limpar" pacotes não usados nos ultimos 7 dias, o PNPM já faz exatamente isso...
NÃO use o Yarn ou Npm...
Usa o que então? Sugiro mudar o título para algo que descreva melhor o tópico como "XSQW: Como economizar muito espaço em projetos node.js".
Criei um pacote que resolve isso: ele armazena o node_modules fora do projeto
Tive que ir ao projeto para entender como realmente funciona: "Com o xsqw, você pode instalar pacotes em um único diretório e reutilizá-los em diferentes projetos".
A impressão na frase aqui é que você armazenava o node_modules de cada projeto fora do projeto, o que daria no mesmo em relação espaço em disco... Mas reutilizar a mesma pasta node_modules para vários projetos aí sim pode ser interessante para quem não tem espaço em disco.
Minhas pastas node_modules não passam de 500MB, geralmente tenho 10 projetos locais, o que dão ~5GB. Pra mim é suave da forma padrão... Mas sua iniciativa é incrível, fazer algo que atenda a necessidade de qualquer público é sempre sensacional!
sempre pensei que o node_modules deveria ser uma pasta em .local contendo "todas" as libs baixadas lá e vem de uma cópia a cada projeto. E o npm, yarn, pnpm ... ou qualquer gerenciador de pacotes da vez deveria apenas apontar os módulos na pasta global.
Esse parece um projeto que segue essa ideia, então acredito ser interessante dar uma olhada
Parabéns pela iniciativa, mas não seria mais fácil apenas usar o pnpm?
Aliás, fui abrir o seu repo no git pelo link do site do npm, deu 404...
Parabéns pela iniciativa, mas não seria mais fácil apenas instalar bibliotecas (libs) com o parâmetro -g
--global
? Por ex.: npm install express -g
Segue a documentação relevante
Já usou PNPM? Segue o link: https://www.npmjs.com/package/pnpm