0Pricing
TypeScript Academy · Leçon

Stratégie de conversion fichier par fichier

Renommez progressivement .js en .ts sans rien casser

Stratégie de conversion fichier par fichier est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 3 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.

L'approche progressive

La conversion fichier par fichier consiste à renommer un fichier .js en .ts à la fois et à corriger les erreurs de types au fur et à mesure. Le projet continue ainsi à compiler à chaque étape.

# Step 1: rename
mv src/utils.js src/utils.ts
# Step 2: fix errors
npx tsc --noEmit
# Step 3: commit and repeat

Choisir par où commencer

Commencez par les modules feuilles, c'est-à-dire les fichiers qui n'importent aucun autre fichier du projet. Ils n'ont aucune dépendance TypeScript en aval à satisfaire en premier.

# Find files with fewest imports from other project files:
grep -r "from './" src --include="*.js" | sort | uniq -c | sort -n
# Convert lowest-count files first

Gérer les erreurs liées à any implicite

Lorsqu'un fichier JS est renommé en .ts, les paramètres sans types deviennent des erreurs liées à any implicite si noImplicitAny: true est activé. Ajoutez des types explicites ou utilisez temporairement any.

// Before: JS
function process(data) { return data.value; }

// After: TS (add annotation)
function process(data: { value: string }) { return data.value; }
// Or temporarily:
function process(data: any) { return data.value; }

Supprimer temporairement les erreurs

Utilisez // @ts-ignore sur les lignes difficiles à corriger et suivez-les comme des tâches TODO afin de ne pas les oublier.

// TODO: type this properly in follow-up PR
// @ts-ignore
const result = complexLegacyFunction(x);

Mettre à jour les instructions d'importation

Lorsqu'un fichier devient .ts, les fichiers qui l'utilisent peuvent nécessiter la mise à jour de leurs importations. TypeScript résout automatiquement les fichiers .ts sans extension de fichier dans les chemins d'importation.

// No extension needed — TypeScript finds .ts
import { process } from "./utils";

Convertir les appels require de bibliothèques tierces

Remplacez les appels require de CommonJS par la syntaxe d'importation import des modules ES lors de la conversion, afin de respecter la résolution des modules de TypeScript.

// Before: CommonJS
const fs = require("fs");
// After: ES module
import fs from "fs";

Progression vers le mode strict

Activez progressivement les options strictes fichier par fichier à l'aide de commentaires // @ts-strict-ignore propres à chaque fichier, ou migrez vers un tsconfig distinct avec le mode strict activé.

// tsconfig.strict.json — points to converted files only
{
  "extends": "./tsconfig.json",
  "compilerOptions": { "strict": true },
  "include": ["src/converted/**/*"]
}

Suivre les fichiers restants

Conservez une liste de contrôle ou utilisez un script pour compter les fichiers .js restants et suivre la progression de la migration au fil du temps.

find src -name "*.js" | wc -l   # remaining JS files
find src -name "*.ts" | wc -l   # converted TS files

Éviter les grandes PR

Convertissez un fichier par PR afin de rendre les révisions plus faciles à gérer. Les grandes migrations TypeScript sont plus simples à réviser et à annuler lorsqu'elles sont limitées à des fichiers individuels.

# Good: one file per PR
# Bad: 50 files renamed in one PR

Exécuter les tests après chaque conversion

Exécutez la suite de tests après chaque conversion de fichier afin de détecter les régressions à l'exécution que le vérificateur de types de TypeScript pourrait ne pas repérer.

npm test
# Ensure all tests pass after each .js → .ts rename

Récapitulatif : stratégie fichier par fichier

Convertissez d'abord les fichiers feuilles, corrigez ou supprimez les erreurs, faites en sorte que le projet continue à compiler à chaque étape, suivez les fichiers JS restants et soumettez un fichier par PR pour faciliter les révisions.

Vérification rapide

Quels fichiers devez-vous convertir en TypeScript en premier lors d'une migration fichier par fichier ?

Ce que vous avez appris

Migration fichier par fichier : commencez par les modules feuilles, renommez-les en .ts, corrigez ou supprimez les erreurs, faites en sorte que le projet continue à compiler et suivez la progression. De petites conversions par PR rendent la migration sûre et facile à réviser.

Questions Fréquemment Posées

La leçon « Stratégie de conversion fichier par fichier » est-elle gratuite ?

Oui — le texte complet de « Stratégie de conversion fichier par fichier » 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 « Stratégie de conversion fichier par fichier » ?

Renommez progressivement .js en .ts sans rien casser 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 3 sur 4.

Combien de temps prend la leçon « Stratégie de conversion fichier par fichier » ?

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