isolatedModules

TypeScript 🟡 Mid

Dé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

#tooling#best-practice#ts5

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre