Explorez TypeScript avec ce guide complet des commandes CLI. Compilez TypeScript en JavaScript avec typage statique et meilleures pratiques.
npm install -g typescript
Installe TypeScript globalement
--save-dev-D--save-S--help
npm install --save-dev typescript
Installe TypeScript comme dépendance de développement
--help
tsc
Compile les fichiers TypeScript en JavaScript
--version-v--help-h--all--build-b--clean--declaration-d--declarationMap--emitDeclarationOnly--excludeDirectories--excludeFiles--extendedDiagnostics--force-f--generateCpuProfile--help--incremental--init--isolatedModules--listEmittedFiles--listFiles--listFilesOnly--locale--module-m--newLine--noEmit--noErrorTruncation--noFallthroughCasesInSwitch--noImplicitAny--noImplicitOverride--noImplicitReturns--noImplicitThis--noImplicitUseStrict--noLib--noPropertyAccessFromIndexSignature--noResolve--noStrictGenericChecks--noUncheckedIndexedAccess--noUnusedLocals--noUnusedParameters--out--outDir--outFile--paths--preserveConstEnums--preserveSymlinks--preserveWatchOutput--pretty--project-p--removeComments--resolveJsonModule--rootDir--rootDirs--showConfig--skipDefaultLibCheck--skipLibCheck--sourceMap--sourceRoot--strict--strictBindCallApply--strictFunctionTypes--strictNullChecks--strictPropertyInitialization--stripInternal--target-t--traceResolution--tsBuildInfoFile--typeRoots--types--useDefineForClassFields--useUnknownInCatchVariables--watch-w--watchDirectory--watchFile
tsc --version
Affiche la version de TypeScript
tsc --init
Crée un fichier tsconfig.json avec les options par défaut
tsc --project tsconfig.json
Compile avec un fichier de configuration spécifique
-p--project
tsc -p tsconfig.json
Alias court pour --project
tsc --watch
Compile en mode watch (recompile sur modification)
-w--watch--preserveWatchOutput
tsc -w
Alias court pour --watch
tsc --noEmit
Vérifie les types sans générer de fichiers JS
--noEmit
tsc --strict
Active toutes les options de vérification strictes
--strict
tsc --target ES2022
Compile vers ECMAScript 2022
-t--target
tsc --module commonjs
Utilise le système de modules CommonJS
-m--module
tsc --module esnext
Utilise les modules ESNext
-m--module
tsc --moduleResolution node
Utilise la résolution de modules Node.js
--moduleResolution
tsc --moduleResolution bundler
Utilise la résolution de modules pour bundlers (Vite, Webpack)
--moduleResolution
tsc --outDir dist
Définit le dossier de sortie pour les fichiers JS
--outDir
tsc --rootDir src
Définit le dossier racine des sources TypeScript
--rootDir
tsc --declaration
Génère les fichiers de déclaration .d.ts
-d--declaration
tsc --declarationMap
Génère les source maps pour les fichiers .d.ts
--declarationMap
tsc --emitDeclarationOnly
Génère uniquement les fichiers .d.ts (pas de JS)
--emitDeclarationOnly
tsc --sourceMap
Génère les source maps (.js.map)
--sourceMap
tsc --inlineSourceMap
Inclut la source map dans les fichiers JS
--inlineSourceMap
tsc --inlineSources
Inclut le code source dans les source maps
--inlineSources
tsc --removeComments
Supprime les commentaires des fichiers JS générés
--removeComments
tsc --noImplicitAny
Erreur sur les expressions avec type 'any' implicite
--noImplicitAny
tsc --strictNullChecks
Vérification stricte des valeurs null/undefined
--strictNullChecks
tsc --strictFunctionTypes
Vérification stricte des types de fonctions
--strictFunctionTypes
tsc --strictBindCallApply
Vérification stricte de bind/call/apply
--strictBindCallApply
tsc --strictPropertyInitialization
Vérification de l'initialisation des propriétés de classe
--strictPropertyInitialization
tsc --noImplicitThis
Erreur sur 'this' de type 'any' implicite
--noImplicitThis
tsc --noImplicitReturns
Erreur si toutes les branches ne retournent pas une valeur
--noImplicitReturns
tsc --noImplicitOverride
Force l'utilisation du mot-clé 'override'
--noImplicitOverride
tsc --noUnusedLocals
Erreur sur les variables locales non utilisées
--noUnusedLocals
tsc --noUnusedParameters
Erreur sur les paramètres de fonction non utilisés
--noUnusedParameters
tsc --noFallthroughCasesInSwitch
Erreur sur les fallthrough dans les switch
--noFallthroughCasesInSwitch
tsc --noUncheckedIndexedAccess
Ajoute 'undefined' aux accès par index
--noUncheckedIndexedAccess
tsc --noPropertyAccessFromIndexSignature
Force la syntaxe d'index pour les propriétés dynamiques
--noPropertyAccessFromIndexSignature
tsc --exactOptionalPropertyTypes
Interprète les propriétés optionnelles comme écrites
--exactOptionalPropertyTypes
tsc --useUnknownInCatchVariables
Type 'unknown' par défaut pour les variables catch
--useUnknownInCatchVariables
tsc --allowUnreachableCode
Autorise le code inaccessible
--allowUnreachableCode
tsc --allowUnusedLabels
Autorise les labels inutilisés
--allowUnusedLabels
tsc --alwaysStrict
Parse en mode strict et émet 'use strict'
--alwaysStrict
tsc --esModuleInterop
Active l'interopérabilité des modules ES
--esModuleInterop
tsc --allowSyntheticDefaultImports
Permet les imports par défaut depuis des modules sans export par défaut
--allowSyntheticDefaultImports
tsc --resolveJsonModule
Permet l'import de fichiers JSON
--resolveJsonModule
tsc --forceConsistentCasingInFileNames
Force la casse cohérente des noms de fichiers
--forceConsistentCasingInFileNames
tsc --skipLibCheck
Ignore la vérification des fichiers de déclaration (.d.ts)
--skipLibCheck
tsc --skipDefaultLibCheck
Ignore la vérification de la bibliothèque par défaut
--skipDefaultLibCheck
tsc --lib es2022,dom
Spécifie les bibliothèques à inclure
--lib
tsc --types node,express
Spécifie les packages de types à inclure
--types
tsc --typeRoots ./node_modules/@types,./typings
Spécifie les dossiers de types
--typeRoots
tsc --baseUrl .
Définit l'URL de base pour la résolution des modules
--baseUrl
tsc --paths "@app/*: ['./src/*']"
Définit des alias de chemins
--paths
tsc --rootDirs src,generated
Définit plusieurs dossiers racines
--rootDirs
tsc --jsx react
Support JSX pour React
--jsx
tsc --jsx react-jsx
Support JSX pour React 17+ (nouveau runtime)
--jsx
tsc --jsx react-jsxdev
Support JSX pour React avec mode développement
--jsx
tsc --jsx preserve
Préserve le JSX pour un autre outil
--jsx
tsc --jsxFactory h
Spécifie la fonction factory JSX (ex: Preact)
--jsxFactory
tsc --jsxFragmentFactory Fragment
Spécifie la fonction fragment JSX
--jsxFragmentFactory
tsc --jsxImportSource react
Spécifie la source d'import JSX
--jsxImportSource
tsc --experimentalDecorators
Active le support des décorateurs expérimentaux
--experimentalDecorators
tsc --emitDecoratorMetadata
Émet les métadonnées pour les décorateurs
--emitDecoratorMetadata
tsc --useDefineForClassFields
Utilise la sémantique standard pour les champs de classe
--useDefineForClassFields
tsc --incremental
Compilation incrémentale (plus rapide)
--incremental
tsc --tsBuildInfoFile .tsbuildinfo
Spécifie le fichier d'info de build incrémental
--tsBuildInfoFile
tsc --build
Construit un projet composite (project references)
-b--build
tsc -b --clean
Nettoie les sorties d'un projet composite
--clean
tsc -b --force
Force la reconstruction complète
-f--force
tsc -b --dry
Simule le build sans écrire de fichiers
--dry
tsc -b --verbose
Mode verbeux pour le build composite
--verbose
tsc --listFiles
Liste les fichiers inclus dans la compilation
--listFiles
tsc --listEmittedFiles
Liste les fichiers émis
--listEmittedFiles
tsc --explainFiles
Explique pourquoi les fichiers sont inclus
--explainFiles
tsc --showConfig
Affiche la configuration résolue
--showConfig
tsc --extendedDiagnostics
Affiche des diagnostics détaillés
--extendedDiagnostics
tsc --generateCpuProfile profile.cpuprofile
Génère un profil CPU
--generateCpuProfile
tsc --locale fr
Définit la langue des messages
--locale
tsc --diagnostics
Affiche des informations de diagnostic
--diagnostics
tsc --traceResolution
Trace la résolution des modules
--traceResolution
tsc --maxNodeModuleJsDepth 0
Limite la profondeur de recherche dans node_modules
--maxNodeModuleJsDepth
tsc --noErrorTruncation
N'affiche pas les erreurs tronquées
--noErrorTruncation
tsc --pretty
Active les messages d'erreur colorés et formatés
--pretty
tsc --noPretty
Désactive le formatage coloré
--noPretty
npm install --save-dev ts-node
Installe ts-node (exécution directe de TypeScript)
--help
ts-node script.ts
Exécute un fichier TypeScript directement
--transpile-only--compiler-C--project-P--ignore-I--prefer-ts-exts--log-error--pretty--skip-project--skip-ignore--emit--cwd--scope--scope-dir--files--help--version
ts-node --transpile-only script.ts
Exécute sans vérification de types (plus rapide)
--transpile-only
ts-node --project tsconfig.json script.ts
Exécute avec une configuration spécifique
-P--project
ts-node -P tsconfig.json script.ts
Alias court pour --project
ts-node --esm script.ts
Exécute en mode ES Modules
--esm
ts-node --swc script.ts
Utilise SWC pour la transpilation (ultra-rapide)
--swc
ts-node --files script.ts
Charge les fichiers spécifiés dans tsconfig
--files
ts-node --ignore node_modules script.ts
Ignore certains dossiers
--ignore
ts-node --skip-project script.ts
Ignore le tsconfig.json
--skip-project
ts-node --emit script.ts
Émet les fichiers JS en plus de l'exécution
--emit
npm install --save-dev tsx
Installe tsx (exécution TypeScript/ESM ultra-rapide avec esbuild)
--help
tsx script.ts
Exécute un fichier TypeScript avec tsx
--no-cache--tsconfig--watch--help--version
tsx --watch script.ts
Exécute en mode watch (rechargement automatique)
--watch
tsx --tsconfig tsconfig.json script.ts
Exécute avec un tsconfig spécifique
--tsconfig
tsx --no-cache script.ts
Désactive le cache de compilation
--no-cache
npx tsx script.ts
Exécute tsx sans installation globale
--watch--tsconfig--no-cache
npm install --save-dev ts-node-dev
Installe ts-node-dev (hot reload pour TypeScript)
--help
ts-node-dev script.ts
Exécute avec rechargement automatique
--respawn--transpile-only--poll--interval--debounce--clear--watch--ignore--ignore-watch--deps--no-deps--debug--inspect--exit-child--no-notify--rs--help
ts-node-dev --respawn script.ts
Redémarre le processus à chaque changement
--respawn
ts-node-dev --transpile-only script.ts
Rechargement rapide sans vérification de types
--transpile-only
ts-node-dev --watch src script.ts
Surveille un dossier spécifique
--watch
ts-node-dev --ignore node_modules script.ts
Ignore certains dossiers
--ignore
ts-node-dev --debug script.ts
Lance en mode debug
--debug
ts-node-dev --inspect script.ts
Active l'inspecteur Node.js
--inspect
npm install --save-dev @types/node
Installe les types Node.js
--help
npm install --save-dev @types/express
Installe les types Express
npm install --save-dev @types/react
Installe les types React
@types/react-dom
npm install --save-dev @types/jest
Installe les types Jest
npm install --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parser
Installe ESLint pour TypeScript
npx eslint --init
Initialise la configuration ESLint (supporte TypeScript)
--help
npx eslint . --ext .ts,.tsx
Lance ESLint sur les fichiers TypeScript
--fix--quiet--max-warnings--format--cache
npx prettier --write "**/*.ts"
Formate les fichiers TypeScript avec Prettier
--check--config--ignore-path
npm install --save-dev typedoc
Installe TypeDoc (générateur de documentation pour TypeScript)
--help
npx typedoc
Génère la documentation depuis les sources TypeScript
--out--entryPoints--tsconfig--name--readme--plugin--theme--exclude--excludePrivate--excludeProtected--excludeInternal--excludeExternals--includeVersion--categorizeByGroup--defaultCategory--categoryOrder--sort--visibilityFilters--searchInComments--help
npx typedoc --out docs src/index.ts
Génère la documentation dans le dossier docs
--out
npx typedoc --tsconfig tsconfig.json
Utilise un tsconfig spécifique
--tsconfig
npx typedoc --name "Mon API" --readme README.md src
Documentation avec nom et README personnalisés
--name--readme
npx typedoc --exclude "**/*.test.ts" --excludePrivate
Exclut les tests et membres privés
--exclude--excludePrivate
npx typedoc --plugin typedoc-plugin-markdown
Génère la documentation au format Markdown
--plugin
npx typedoc --theme default
Utilise le thème par défaut
--theme
npx tsc --noEmit && npx eslint . --ext .ts
Vérifie les types ET le linting (combinaison)
npm install --save-dev typesync
Installe typesync (synchronise @types avec package.json)
npx typesync
Ajoute les @types manquants au package.json
--dry--help
npm install --save-dev typescript-transform-paths
Installe le transformateur de chemins (pour ts-patch)
npx tsc-alias
Remplace les alias de chemins dans les fichiers JS générés
-p--project-w--watch--outDir--resolveFullPaths--verbose--help
npx tsc-alias -p tsconfig.json
Remplace les alias en utilisant un tsconfig
-p--project
npx tsc-alias --watch
Mode watch pour les alias
-w--watch
npm install --save-dev rimraf
Installe rimraf pour nettoyer les dossiers
rimraf dist && tsc
Nettoie le dossier dist avant compilation
npm run build
Script de build typique dans package.json
npm run type-check
Vérifie les types sans émettre de fichiers
npm run dev
Mode développement avec hot reload
npm install --save-dev ts-jest
Installe ts-jest pour les tests Jest avec TypeScript
--help
npx ts-jest config:init
Initialise la configuration ts-jest
npx jest --coverage
Lance les tests avec couverture (avec ts-jest configuré)
--watch--testPathPattern--verbose
npm install --save-dev vitest
Installe Vitest (test runner rapide avec support TypeScript natif)
npx vitest
Lance Vitest
--watch--run--coverage--ui--reporter--silent--dom--environment--update-u--testNamePattern-t--dir--exclude--typecheck
npx vitest --typecheck
Lance les tests avec vérification des types
--typecheck
npx vitest --coverage
Lance les tests avec couverture
--coverage
npm install --save-dev @swc/core @swc/cli
Installe SWC (compilateur ultra-rapide pour TypeScript)
npx swc src -d dist
Compile avec SWC
-d--out-dir-w--watch--config-file--source-maps--copy-files--strip-leading-paths--include-dotfiles--only--ignore--no-swcrc
npx swc src -d dist --watch
Compile en mode watch avec SWC
-w--watch
npm install --save-dev esbuild
Installe esbuild (bundler ultra-rapide avec support TypeScript)
npx esbuild src/index.ts --bundle --outfile=dist/bundle.js
Bundle TypeScript avec esbuild
--bundle--outfile--outdir--platform--target--format--minify--sourcemap--watch--serve--loader--define--external--tree-shaking--metafile--legal-comments--log-level--color--charset--tsconfig--jsx