Referência rápida dos comandos no monorepo após a migração para Bun. Use este guia para substituir o que era feito com pnpm.
| O que fazer | Antes (pnpm) | Agora (Bun) |
|---|---|---|
| Instalar tudo | pnpm install |
bun install |
| Lockfile exato | pnpm install --frozen-lockfile |
bun install --frozen-lockfile |
| Adicionar pacote (raiz) | pnpm add lodash |
bun add lodash |
| Adicionar dev (raiz) | pnpm add -D vitest |
bun add -d vitest |
Scripts do package.json da raiz (build, test, typecheck, etc.):
| Antes (pnpm) | Agora (Bun) |
|---|---|
pnpm build |
bun run build |
pnpm test |
bun run test |
pnpm typecheck |
bun run typecheck |
pnpm lint |
bun run lint |
pnpm gera-env |
bun run gera-env |
pnpm ci:test |
bun run ci:test |
Forma genérica: pnpm <script> → bun run <script>.
Para rodar um script apenas em um workspace (por nome ou padrão):
| Antes (pnpm) | Agora (Bun) |
|---|---|
pnpm --filter=@clinica/database migrate |
bun run --filter @clinica/database migrate |
pnpm --filter=@clinica/web-app dev |
bun run --filter @clinica/web-app dev |
pnpm --filter="./packages/*" build |
bun run --filter "./packages/*" build |
Sintaxe Bun: bun run --filter <nome-ou-padrão> <script>
Exemplos por nome do pacote (package.json → "name": "..."):
# Migrar banco (pacote @clinica/database)
bun run --filter @clinica/database migrate
# Dev do app clinica
bun run --filter @clinica/web-app dev
# Typecheck só no trigger
bun run --filter @clinica/trigger typecheckExemplos por padrão (glob):
# Todos os pacotes em packages/
bun run --filter "./packages/*" build
# Excluir um pacote
bun run --filter "pkg-*" --filter "!pkg-c" testSe você já está na pasta do workspace (ex.: cd services/web/apps/clinica):
| Antes (pnpm) | Agora (Bun) |
|---|---|
pnpm dev |
bun run dev |
pnpm build |
bun run build |
pnpm test |
bun run test |
Ou chamar o binário direto (quando existir):
bun run dev
# ou, se o script chama um binário instalado:
bunx vite devComandos “run once” de pacotes (CLI) sem adicionar ao package.json:
| Antes (pnpm) | Agora (Bun) |
|---|---|
pnpm dlx tailwindcss-cli ... |
bunx tailwindcss-cli ... |
pnpm dlx shadcn@latest add |
bunx shadcn@latest add |
pnpm dlx trigger.dev@4.0.2 dev |
bunx trigger.dev@4.0.2 dev |
Regra: pnpm dlx <pacote> [args] → bunx <pacote> [args]
Adicionar pacote só em um projeto do monorepo:
| Antes (pnpm) | Agora (Bun) |
|---|---|
pnpm add lodash --filter @clinica/web-app |
bun add lodash --filter @clinica/web-app |
pnpm add -D vitest --filter @clinica/zod |
bun add -d vitest --filter @clinica/zod |
Ou entrando na pasta do pacote e rodando bun add ... / bun add -d ... lá.
| Ação | pnpm | Bun |
|---|---|---|
| Instalar | pnpm install |
bun install |
| Script na raiz | pnpm <script> |
bun run <script> |
| Script em um pacote | pnpm --filter=<pkg> <script> |
bun run --filter <pkg> <script> |
| Na pasta do pacote | pnpm <script> |
bun run <script> |
| CLI sem instalar | pnpm dlx <pkg> |
bunx <pkg> |
| Add dependência (raiz) | pnpm add <pkg> |
bun add <pkg> |
| Add dev (raiz) | pnpm add -D <pkg> |
bun add -d <pkg> |