atualização para next.js 16 beta
This commit is contained in:
parent
1ce402cdd7
commit
70c73db907
6 changed files with 168 additions and 98 deletions
13
docs/DEV.md
13
docs/DEV.md
|
|
@ -4,7 +4,8 @@ Este documento consolida o estado atual do ambiente de desenvolvimento, descreve
|
|||
|
||||
## Resumo rápido
|
||||
|
||||
- **Node/PNPM**: Node 20 + pnpm 9 (habilite via `corepack enable && corepack prepare pnpm@9 --activate`).
|
||||
- **Node/PNPM**: Node 20.9+ (Next.js 16 exige essa versão mínima) + pnpm 9 (habilite via `corepack enable && corepack prepare pnpm@9 --activate`).
|
||||
- **Next.js 16 (beta)**: Projeto já está em `next@16.0.0-beta.0`, com Turbopack como bundler padrão e cache de filesystem habilitado em `next.config.ts`.
|
||||
- **Lint/Test/Build**: `pnpm lint`, `pnpm test`, `pnpm build`. O script de testes usa `vitest --run --passWithNoTests`, eliminando o modo watch interativo.
|
||||
- **Banco DEV**: SQLite em `prisma/prisma/db.dev.sqlite`. Defina `DATABASE_URL="file:./prisma/db.dev.sqlite"` ao chamar CLI do Prisma.
|
||||
- **Desktop (Tauri)**: fonte em `apps/desktop`. Usa Radix tabs + componentes shadcn-like, integra com os endpoints `/api/machines/*` e suporta atualização automática via GitHub Releases.
|
||||
|
|
@ -30,10 +31,17 @@ Este documento consolida o estado atual do ambiente de desenvolvimento, descreve
|
|||
|
||||
> **Por quê inline?** Evitamos declarar `DATABASE_URL` em `prisma/.env` porque o Prisma lê também o `.env` da raiz (produção). O override inline garante isolamento do banco DEV.
|
||||
|
||||
## Next.js 16 (beta)
|
||||
|
||||
- Comportamento sujeito a mudanças; acompanhe o changelog antes da GA. Breaking changes relevantes já mitigados: `params`/`searchParams` assíncronos, `cookies()`/`headers()` com await e `revalidateTag` aguardando novo perfil (não utilizamos).
|
||||
- **Turbopack** é o bundler padrão. Mantemos `experimental.turbopackFileSystemCacheForDev = true` no `next.config.ts` para acelerar reinicializações do `pnpm dev`.
|
||||
- **React Compiler (opcional)**: habilite com `reactCompiler: true` no `next.config.ts` e instale `babel-plugin-react-compiler`. Use apenas para experiências controladas (a compilação fica mais lenta).
|
||||
- **Caching APIs**: considere `updateTag()`/`refresh()` em novas Server Actions. Atualmente não usamos `revalidateTag`.
|
||||
|
||||
## Comandos de qualidade
|
||||
|
||||
- `pnpm lint`: executa ESLint (flat config) sobre os arquivos do projeto.
|
||||
- `pnpm test`: Vitest em modo não interativo (`--run --passWithNoTests`). Use `pnpm test -- --watch` somente quando quiser rodar em watch localmente.
|
||||
- `pnpm test`: Vitest em modo não interativo (`--run --passWithNoTests`). Use `pnpm test -- --watch` somente quando quiser rodar em watch localmente. Inclui testes de API (rotas `/api/machines/*`) e utilitários de SMTP.
|
||||
- `pnpm build`: `next build --turbopack`.
|
||||
- `pnpm prisma:generate`: necessário antes do build quando o client Prisma muda.
|
||||
|
||||
|
|
@ -95,3 +103,4 @@ Artefatos: `apps/desktop/src-tauri/target/release/bundle/`.
|
|||
- **Histórico de incidentes**: `docs/historico-agente-desktop-2025-10-10.md`.
|
||||
|
||||
> Última revisão: 16/10/2025. Atualize este guia sempre que o fluxo de DEV ou automações mudarem.
|
||||
- **Next.js 16 (beta)**: comportamento sujeito a mudanças. Antes de subir para stable, acompanhe o changelog oficial (quebra: `revalidateTag` com segundo argumento, params assíncronos, etc.). Já estamos compatíveis com os breaking changes atuais.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue