Type Stripping (Node exécute .ts)
JavaScript 🟡 MidDéfinition
Node.js exécute directement un fichier .ts en effaçant les annotations de type sans les vérifier. Activé par défaut depuis 23.6.0 et 22.18.0, déclaré stable en 25.2.0 et 24.12.0 ; Node 26 supprime --expérimental-transform-types. Seule la syntaxe effaçable passe : enum, namespace avec code, propriétés de paramètre, import = et décorateurs lèvent ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX. L'option TypeScript --erasableSyntaxOnly garantit la compatibilité.
Analogie
Un correcteur qui gomme les annotations au crayon avant de rendre la copie, sans relire le fond.
Exemple de code
// serveur.ts — lancé par : node serveur.ts (Node 24.12+/25.2+)
import type { IncomingMessage } from 'node:http'; // 'type' obligatoire
import { createServer } from 'node:http';
const port: number = 3000;
createServer((req: IncomingMessage, res) => {
res.end(`ok ${req.url}`);
}).listen(port);
// Interdit ici : enum, namespace avec code, constructor(private x)
Cas d'usage
Scripts, outils internes et serveurs simples en TypeScript sans étape de build ; tsc reste utile pour vérifier les types en CI.
Anti-pattern
Termes liés
Sources
Fiche mise à jour le 2026-09-27