Capítulo 258 de 456

typescript

Core Idea

Config typescript em next.config.js controla como o next build lida com erros de TypeScript e qual tsconfig.json usar.

Key Concepts

  • ignoreBuildErrors (default false): permite que o build de produção complete mesmo com erros de TypeScript, pulando completamente a etapa de type checking (não roda TS e suprime erros, simplesmente não checa).
  • tsconfigPath (default 'tsconfig.json'): path para um arquivo tsconfig.json customizado usado no build/tooling.

Code Examples

module.exports = {
  typescript: {
    ignoreBuildErrors: false,
    tsconfigPath: 'tsconfig.json',
  },
}
  • O que demonstra: as duas opções com seus defaults.
module.exports = {
  typescript: {
    // !! WARN !!
    // Dangerously allow production builds to successfully complete even if
    // your project has type errors.
    // !! WARN !!
    ignoreBuildErrors: true,
  },
}
  • O que demonstra: como desabilitar a checagem de tipos no build (com o aviso explícito da doc sobre o perigo disso).

Reference Tables

OptionTypeDefaultDescription
ignoreBuildErrorsbooleanfalsePermite build de produção completar mesmo com erros TS.
tsconfigPathstring'tsconfig.json'Path para um tsconfig.json customizado.

Anti-patterns

  • Habilitar ignoreBuildErrors: true sem type check em outro lugar do pipeline: a doc é explícita: "if disabled, be sure you are running type checks as part of your build or deploy process, otherwise this can be very dangerous."

Key Takeaways

  1. ignoreBuildErrors: true não silencia erros, ele pula a etapa de checagem inteira, muito diferente de "ignorar warnings".
  2. Se usar ignoreBuildErrors, mova o type check para CI/deploy pipeline separadamente.
  3. tsconfigPath é útil para ter um tsconfig diferente para build vs. desenvolvimento/IDE.

Connects To

  • TypeScript (config/typescript): página completa com mais contexto sobre tsconfigPath (custom tsconfig) e disabling errors em produção.
  • useTypeScriptCli: opção relacionada que troca o mecanismo de type-checking (CLI tsc vs API JS do compiler).