0Pricing
TypeScript Academy · Leçon

Commencer la migration : allowJs et checkJs

Activez la vérification TypeScript dans un projet JavaScript

Commencer la migration : allowJs et checkJs est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.

Le défi de la migration

Effectuer d'un seul coup la migration d'une grande base de code JavaScript vers TypeScript est risqué. L'approche progressive consiste à activer TypeScript graduellement, fichier par fichier, tout en gardant le projet fonctionnel.

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

Étape 1 : installer TypeScript

Ajoutez TypeScript au projet et créez un tsconfig minimal, sans mode strict dans un premier temps.

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

allowJs: true

Avec allowJs: true, TypeScript inclut les fichiers .js dans la compilation. La vérification des types est permissive : la plupart des fichiers JavaScript seront compilés sans erreurs.

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

checkJs: true

checkJs: true active la vérification des types pour les fichiers JavaScript à l'aide des types inférés et des annotations JSDoc. Cette option fait apparaître les erreurs évidentes sans nécessiter la conversion en .ts.

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

Supprimer les erreurs avec @ts-nocheck

Ajoutez // @ts-nocheck en haut des fichiers JS problématiques afin de supprimer toutes les erreurs TypeScript pendant que vous effectuez progressivement la migration.

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

Suppression des erreurs ligne par ligne

Utilisez // @ts-ignore pour supprimer l'erreur d'une seule ligne sans désactiver la vérification de tout le fichier.

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

maxNodeModuleJsDepth

Par défaut, TypeScript vérifie uniquement les fichiers JS de votre projet. Définissez maxNodeModuleJsDepth pour contrôler la profondeur de vérification des fichiers JS dans node_modules.

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

Compiler les fichiers JS vers dist

Avec allowJs, le compilateur TypeScript peut également transcompiler les fichiers JS, ce qui est utile pour appliquer uniformément des polyfills et cibler des environnements plus anciens.

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

Mesurer la progression

Suivez la progression de la migration en comptant les fichiers .js et .ts. Fixez un objectif concernant le pourcentage converti à chaque sprint.

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

Éviter la régression des types

Conservez initialement noImplicitAny: false afin que les fichiers JS existants ne soient pas submergés d'erreurs. Activez cette option après avoir converti chaque fichier en TypeScript.

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

Récapitulatif : commencer la migration

Commencez la migration avec allowJs: true et checkJs: true, utilisez @ts-nocheck pour les fichiers qui ne sont pas prêts et suivez la progression en comptant les fichiers. Cette approche permet de continuer à compiler le projet pendant que vous convertissez progressivement les fichiers.

Vérification rapide

Que fait checkJs: true sans nécessiter la conversion de .js en .ts ?

Ce que vous avez appris

Commencez la migration de JS vers TS avec allowJs: true et, si nécessaire, checkJs: true. Utilisez @ts-nocheck pour faire taire les fichiers qui ne sont pas prêts, puis convertissez progressivement les fichiers en suivant la progression grâce à leur nombre.

Questions Fréquemment Posées

La leçon « Commencer la migration : allowJs et checkJs » est-elle gratuite ?

Oui — le texte complet de « Commencer la migration : allowJs et checkJs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Commencer la migration : allowJs et checkJs » ?

Activez la vérification TypeScript dans un projet JavaScript Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer TypeScript Academy ?

Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Commencer la migration : allowJs et checkJs » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?

Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Commencer la migration : allowJs et checkJs
  2. Annotations de types JSDoc comme passerelle
  3. Stratégie de conversion fichier par fichier
  4. Gérer les bibliothèques tierces non typées
← Retour à TypeScript Academy