Generador de TSConfig

Genera tsconfig.json para cualquier proyecto TypeScript. Presets para Node 18/20/22, Next.js, React, librerías — con cada opción del compilador explicada.

Comma-separated glob patterns

Comma-separated glob patterns

Acerca de esta herramienta

El archivo tsconfig.json controla cómo el compilador de TypeScript procesa tu código — qué versión de JavaScript generar, qué sistema de módulos usar, cuán estricta debe ser la comprobación de tipos, y dónde encontrar tus archivos fuente. Configurar tsconfig correctamente importa. Un target mal configurado significa que incluyes polyfills que no necesitas, o usas sintaxis que tu runtime no soporta. Ajustes de módulos incorrectos rompen los imports. Faltar flags de strict deja pasar bugs. Este generador te da presets probados en batalla para las configuraciones más comunes — Node.js (18, 20, 22), Next.js, React con Vite, y librerías npm — luego te permite ajustar cada opción. La configuración generada está lista para pegar en tu proyecto.

Cómo usar

1. Elige un preset que coincida con tu proyecto (Node 20, Next.js, React, etc.) 2. Ajusta opciones individuales del compilador si es necesario — target, module, strictness, paths 3. El tsconfig.json se actualiza en tiempo real mientras cambias ajustes 4. Haz clic en "Copiar" para copiar la configuración al portapapeles, o "Descargar" para guardar el archivo 5. Pégalo en la raíz de tu proyecto como tsconfig.json

Preguntas frecuentes

¿Qué tsconfig debo usar para Node 18?
Para Node 18, usa target: ES2023, module: NodeNext, y moduleResolution: NodeNext. Esto coincide con el soporte nativo de JavaScript de Node 18 y el sistema de módulos ESM. El preset Node 18 en este generador configura todas estas opciones automáticamente.
¿Cuál es la diferencia entre module NodeNext y ESNext?
NodeNext sigue las reglas de resolución de módulos de Node.js — respeta los 'exports' de package.json y requiere extensiones de archivo en los imports. ESNext asume que un bundler (como Vite o webpack) manejará la resolución de módulos. Usa NodeNext para apps de Node.js, ESNext para apps frontend con bundler.
¿Qué hace moduleResolution Bundler?
moduleResolution: Bundler le dice a TypeScript que resuelva imports como lo hacen los bundlers modernos (Vite, webpack, esbuild) — sin extensiones de archivo requeridas, 'exports' de package.json soportados. Úsalo para proyectos frontend construidos con un bundler. No lo uses para apps Node.js que corren sin bundler.
¿Debo activar el modo strict?
Sí, para cualquier proyecto nuevo. El modo strict activa strictNullChecks, noImplicitAny, strictFunctionTypes, y otras comprobaciones que detectan bugs reales. Desactivar strict en codebases legacy es comprensible, pero proyectos nuevos siempre deberían empezar con strict: true.
¿Cuál es la diferencia entre target y lib?
target controla qué sintaxis JavaScript genera el compilador (arrow functions, async/await, etc.). lib controla qué definiciones de tipos están disponibles (Promise, Map, APIs del DOM, etc.). Para Node.js típicamente quieres lib: ['ES2023'] sin DOM. Para navegadores añades 'DOM' y 'DOM.Iterable'.
¿Necesito skipLibCheck: true?
skipLibCheck: true salta la comprobación de tipos de archivos de declaración .d.ts, lo que acelera la compilación significativamente. Se recomienda para la mayoría de proyectos porque los archivos de declaración de node_modules pueden tener tipos conflictivos que no son tu problema resolver.
¿Qué hace verbatimModuleSyntax?
verbatimModuleSyntax obliga a usar 'import type' para imports solo de tipos y mantiene tu sintaxis de import/export exactamente como está escrita. Reemplaza las opciones anteriores importsNotUsedAsValues y preserveValueImports. Es la forma moderna de manejar imports de tipos en TypeScript 5+.

Herramientas relacionadas