Générateur TSConfig

Générez tsconfig.json pour n'importe quel projet TypeScript. Préréglages pour Node 18/20/22, Next.js, React, bibliothèques — avec chaque option du compilateur expliquée.

Comma-separated glob patterns

Comma-separated glob patterns

A propos de cet outil

Le fichier tsconfig.json contrôle comment le compilateur TypeScript traite votre code — quelle version JavaScript cibler, quel système de modules utiliser, quel niveau de rigueur pour la vérification des types et où trouver vos fichiers sources. Bien configurer tsconfig est important. Une cible mal configurée signifie que vous livrez des polyfills dont vous n'avez pas besoin, ou utilisez une syntaxe que votre runtime ne supporte pas. De mauvais paramètres de modules cassent les imports. Des drapeaux strict manquants laissent passer des bugs. Ce générateur vous offre des préréglages éprouvés pour les configurations les plus courantes — Node.js (18, 20, 22), Next.js, React avec Vite et bibliothèques npm — puis vous permet d'affiner chaque option. La configuration générée est prête à être collée dans votre projet.

Comment utiliser

1. Choisissez un préréglage correspondant à votre projet (Node 20, Next.js, React, etc.) 2. Ajustez les options individuelles du compilateur si nécessaire — target, module, strictness, paths 3. Le tsconfig.json se met à jour en temps réel pendant que vous modifiez les paramètres 4. Cliquez sur « Copier » pour copier la configuration ou « Télécharger » pour sauvegarder le fichier 5. Collez-le à la racine de votre projet comme tsconfig.json

Questions frequentes

Quel tsconfig utiliser pour Node 18 ?
Pour Node 18, utilisez target: ES2023, module: NodeNext et moduleResolution: NodeNext. Cela correspond au support JavaScript natif de Node 18 et au système de modules ESM. Le préréglage Node 18 de ce générateur définit automatiquement toutes ces options.
Quelle est la différence entre module NodeNext et ESNext ?
NodeNext suit les règles de résolution de modules de Node.js — il respecte les 'exports' du package.json et exige des extensions de fichiers dans les imports. ESNext suppose qu'un bundler (comme Vite ou webpack) gérera la résolution des modules. Utilisez NodeNext pour les applications Node.js, ESNext pour les applications frontend bundlées.
Que fait moduleResolution Bundler ?
moduleResolution: Bundler indique à TypeScript de résoudre les imports comme le font les bundlers modernes (Vite, webpack, esbuild) — pas d'extensions de fichiers requises, support des 'exports' du package.json. Utilisez-le pour les projets frontend construits avec un bundler. Ne l'utilisez pas pour les applications Node.js qui s'exécutent sans bundler.
Dois-je activer le mode strict ?
Oui, pour tout nouveau projet. Le mode strict active strictNullChecks, noImplicitAny, strictFunctionTypes et d'autres vérifications qui détectent de vrais bugs. Désactiver strict sur les bases de code legacy est compréhensible, mais les nouveaux projets devraient toujours commencer avec strict: true.
Quelle est la différence entre target et lib ?
target contrôle quelle syntaxe JavaScript le compilateur produit (fonctions fléchées, async/await, etc.). lib contrôle quelles définitions de types sont disponibles (Promise, Map, API DOM, etc.). Pour Node.js, vous voulez généralement lib: ['ES2023'] sans DOM. Pour les navigateurs, vous ajoutez 'DOM' et 'DOM.Iterable'.
Ai-je besoin de skipLibCheck: true ?
skipLibCheck: true ignore la vérification des types des fichiers de déclaration .d.ts, ce qui accélère considérablement la compilation. C'est recommandé pour la plupart des projets car les fichiers de déclaration de node_modules peuvent avoir des types conflictuels que vous n'avez pas à corriger.
Que fait verbatimModuleSyntax ?
verbatimModuleSyntax impose d'utiliser 'import type' pour les imports uniquement de types et conserve exactement votre syntaxe import/export telle qu'écrite. Il remplace les anciennes options importsNotUsedAsValues et preserveValueImports. C'est la façon moderne de gérer les imports de types dans TypeScript 5+.

Outils connexes