Migrando para a v16
Plano de migração e mudanças estruturais
A atualização para o Next.js 16 exige preparar o ambiente antes de mexer no código. As principais exigências e remoções já aparecem como warnings na v15.5, mas agora são obrigatórias.
Requisitos mínimos
- Node.js 20.9 ou superior. Não há suporte oficial para Node 18.
- TypeScript 5.1+: revise
package.jsone otsconfig.jsonpara garantir compatibilidade. - Browsers: suporte oficial a Chrome/Edge/Firefox 111+ e Safari 16.4+.
Remoções importantes
next lint: o comando foi retirado. Use diretamenteeslintoubiome, e atualize os scripts depackage.json.- AMP (
useAmp,config = { amp: true }): todas as APIs foram removidas. Planeje uma versão HTML tradicional ou migre para Web Vitals. devIndicatorscustomizados:appIsrStatus,buildActivityebuildActivityPositiondeixam de existir.serverRuntimeConfig/publicRuntimeConfig: substitua por variáveis de ambiente (process.env).
Checklist sugerido
- Execute o codemod:
npx @next/codemod@latest next-lint-to-eslint-cli . - Crie ou atualize
eslint.config.mjsoubiome.json. - Revise o
next.config.tsem busca de flagsexperimental.*antigas. - Confirme que sua pipeline CI/CD usa Node 20.9+.
- Remova dependências AMP e ajuste rotas que usavam
legacyBehavior.
Em paralelo, teste sua aplicação com os novos Cache Components e o Turbopack default para garantir que o comportamento em produção permanece correto (considere medir TTFB e uso de memória).