isolatedModules
TypeScript 🟡 MidDéfinition
Option tsconfig qui garantit que chaque fichier peut être transpilé isolément, sans analyse inter-fichiers (compatible Babel, esbuild, SWC, Oxc). Elle interdit par exemple le ré-export d'un type sans le mot-clé type. Son complément récent est --erasableSyntaxOnly (TS 5.8, 28 février 2025), qui bannit la syntaxe non effaçable (enum, namespace avec code, propriétés de paramètre) pour le type stripping natif de Node.js.
Analogie
Comme une règle qui dit que chaque chapitre d'un livre doit être compréhensible seul, sans lire les autres.
Exemple de code
// tsconfig.json
{ "compilerOptions": { "isolatedModules": true } }
// Interdit: export { Type } from "./types"
// OK: export type { Type } from "./types"
Cas d'usage
Obligatoire dès qu'un transpileur non-TS produit le JavaScript : Vite 8 (Oxc), esbuild, SWC, ou Node.js exécutant directement un fichier .ts.
Anti-pattern
Désactiver isolatedModules avec esbuild/Vite — des re-exports de types cassent silencieusement le build.
Termes liés
Sources
Fiche mise à jour le 2026-09-27