beta

node_modules que quase não ocupa disco.

Cada pacote fica guardado uma vez só no seu computador: dez projetos usando o mesmo React ocupam o espaço de um.

$npm install -g brixel

Node 22+

quem já usa
Universidade Federal do Recôncavo da Bahia movuu Liga Colaborativa dos Povos Sellit
experimente

Instale três projetos. Veja o disco quase não crescer.

Cada quadradinho é um pedaço do que está guardado no seu computador. Azul é arquivo novo. Claro é arquivo que já estava lá.

Instala o projeto. Só baixa o que ainda não está guardado na sua máquina.

terminal~/dev
escolha um projeto abaixo
o que está guardadonada ainda
vazio arquivo novo já existia guardado
ocupado no disco
0 MB
o npm ocuparia
0 MB
economia
—
libere espaço no teu pc
o quanto encolhe

Cinco projetos parecidos, a mesma máquina

npm 2300 MB
brixel 478 MB
−79%
1,8 GB de volta
−63%
um projeto sozinho · 460 → 171 MB
−35%
quatro projetos diferentes · 1725 → 1106 MB
0 byte
a cada projeto que repete um pacote
como funciona

Quatro passos

Nada é reescrito no caminho, teu arquivo que chega no seu projeto é igualzinho ao que o npm publicou.

┌──────────────────────┐      ┌──────────────────────┐      ┌──────────────────────┐      ╔══════════════════════╗
│    1. LÊ A LISTA     │ ──▶  │       2. BAIXA       │ ──▶  │    3. IDENTIFICA     │ ──▶  ║4. GUARDA NUM LUGAR SÓ║
└──────────────────────┘      └──────────────────────┘      └──────────────────────┘      ╚══════════════════════╝

descobre de quais             baixa só o que ainda          dá uma impressão              uma pasta na sua
pacotes o projeto             não tem e confere se          digital pra cada              máquina, usada por
precisa                       veio inteiro                  arquivo: dois iguais          todos os projetos
                                                            têm a mesma digital

                                                                                                      │
                   ┌─────────────────────────────────────┬─────────────────────────────────────┬──────┘
                   ▼                                     ▼                                     ▼
               projeto A                             projeto B                             projeto C
             node_modules                          node_modules                          node_modules
               ocupa ~0                              ocupa ~0                              ocupa ~0
o que você ganha

Três coisas, hoje

◇

Espaço de volta

Cinco projetos parecidos saíram de 2300 MB para 478 MB. O React que todos eles usam ocupa o espaço de um.

●

node_modules em 4 segundos

Trocou de branch, clonou de novo, apagou a pasta: volta na hora, sem baixar nada da internet.

◐

Seu fluxo, do mesmo jeito

Mesmo package.json, mesmo lockfile, mesma pasta. Muda só onde os arquivos ficam guardados.

números reais

Medido em quatro projetos de verdade

SituaçãonpmbrixelΔ
1 projeto, sem nada pra repetir460 MB171 MB−63%
5 projetos que usam os mesmos pacotes2300 MB478 MB−79%
4 projetos bem diferentes entre si1725 MB1106 MB−35%
Tempo pra instalar mais um projeto5,7 s4,4 s—
Tempo pra remontar 22 mil arquivos—4,1 s—