0Pricing
TypeScript Academy · Lección

Inicio de la migración: allowJs y checkJs

Habilite la comprobación de TypeScript en un proyecto de JavaScript.

Inicio de la migración: allowJs y checkJs es una lección gratuita de TypeScript Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de TypeScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de TypeScript Academy incluye 4 lecciones en total.

El desafío de la migración

Migrar de una sola vez una base de código JavaScript grande a TypeScript es arriesgado. El enfoque incremental consiste en habilitar TypeScript gradualmente, archivo por archivo, mientras se mantiene el proyecto funcional.

# Key compiler flags for gradual migration:
# allowJs — allow .js files in the compilation
# checkJs — type-check .js files with JSDoc types

Paso 1: Instalar TypeScript

Añada TypeScript al proyecto y cree inicialmente un tsconfig mínimo sin el modo estricto.

npm install --save-dev typescript
npx tsc --init
# Edit tsconfig.json to set allowJs: true

allowJs: true

Con allowJs: true, TypeScript incluye los archivos .js en la compilación. La comprobación de tipos es permisiva: la mayoría del código JavaScript se compilará sin errores.

{
  "compilerOptions": {
    "allowJs": true,
    "outDir": "./dist",
    "target": "ES2020"
  },
  "include": ["src"]
}

checkJs: true

checkJs: true habilita la comprobación de tipos en los archivos JavaScript mediante tipos inferidos y anotaciones JSDoc. Permite detectar errores evidentes sin exigir la conversión a .ts.

{
  "compilerOptions": {
    "allowJs": true,
    "checkJs": true
  }
}

Suprimir errores con @ts-nocheck

Añada // @ts-nocheck al principio de los archivos JS problemáticos para suprimir todos los errores de TypeScript mientras trabaja gradualmente en la migración.

// @ts-nocheck
// This file is not yet migrated — errors suppressed
function legacyUtil(x) { return x.foo.bar; }

Supresión de errores por línea

Utilice // @ts-ignore para suprimir el error de una sola línea sin deshabilitar la comprobación de todo el archivo.

const result = legacyFn(value); // @ts-ignore
// Only this line's error is suppressed

maxNodeModuleJsDepth

De forma predeterminada, TypeScript comprueba únicamente los archivos JS del proyecto. Establezca maxNodeModuleJsDepth para controlar hasta qué profundidad comprueba el código JS de node_modules.

{
  "compilerOptions": {
    "maxNodeModuleJsDepth": 1 // Check 1 level deep in node_modules
  }
}

Compilar JS en dist

Con allowJs, el compilador de TypeScript también puede transpilar archivos JS, lo que resulta útil para aplicar polyfills y dirigirse uniformemente a entornos antiguos.

tsc
# Compiles both .ts and .js files to dist/

Medir el progreso

Realice un seguimiento del progreso de la migración contando los archivos .js y .ts. Establezca un objetivo para el porcentaje que se convertirá en cada sprint.

find src -name "*.ts" | wc -l   # TypeScript files
find src -name "*.js" | wc -l   # JavaScript files remaining

Evitar la regresión de tipos

Mantenga inicialmente noImplicitAny: false para que los archivos JS existentes no se llenen de errores. Habilítelo después de convertir cada archivo a TypeScript.

{
  "compilerOptions": {
    "allowJs": true,
    "noImplicitAny": false // Relax for JS files; enable per .ts file
  }
}

Resumen: iniciar la migración

Inicie la migración con allowJs: true y checkJs: true, utilice @ts-nocheck para los archivos que aún no estén preparados y realice un seguimiento del progreso contando archivos. Este enfoque mantiene el proyecto compilando mientras convierte los archivos de forma incremental.

Comprobación rápida

¿Qué hace checkJs: true sin exigir la conversión de .js a .ts?

Lo que ha aprendido

Inicie la migración de JS→TS con allowJs: true y, opcionalmente, checkJs: true. Utilice @ts-nocheck para silenciar los archivos que aún no estén preparados y conviértalos de forma incremental mientras realiza un seguimiento del progreso contando archivos.

Preguntas frecuentes

¿La lección «Inicio de la migración: allowJs y checkJs» es gratis?

Sí — el texto completo de «Inicio de la migración: allowJs y checkJs» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de TypeScript Academy, actualiza a CoddyKit PRO. El curso de TypeScript Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Inicio de la migración: allowJs y checkJs»?

Habilite la comprobación de TypeScript en un proyecto de JavaScript. Practicas TypeScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar TypeScript Academy?

No se requiere experiencia previa. TypeScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Inicio de la migración: allowJs y checkJs»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de TypeScript Academy?

Sí. Cada lección de TypeScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Inicio de la migración: allowJs y checkJs
  2. Anotaciones de tipos JSDoc como puente
  3. Estrategia de conversión archivo por archivo
  4. Cómo trabajar con bibliotecas de terceros sin tipos
← Volver a TypeScript Academy