TypeScript - Commandes tsc et guide complet CLI

🏷️ Lignes des commandes 📅 23/03/2026 08:00:00 👤 Mezgani said
Typescript Javascript Typage Statique Compilation Tsc Développement Frontend Node.js Scalabilité Maintenabilité

Explorez TypeScript avec ce guide complet des commandes CLI. Compilez TypeScript en JavaScript avec typage statique et meilleures pratiques.

Ligne de commande :
npm install -g typescript
Description :

Installe TypeScript globalement

Options :
  • --save-dev
  • -D
  • --save
  • -S
  • --help

Ligne de commande :
npm install --save-dev typescript
Description :

Installe TypeScript comme dépendance de développement

Options :
  • --help

Ligne de commande :
tsc
Description :

Compile les fichiers TypeScript en JavaScript

Options :
  • --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

Ligne de commande :
tsc --version
Description :

Affiche la version de TypeScript

Ligne de commande :
tsc --init
Description :

Crée un fichier tsconfig.json avec les options par défaut

Ligne de commande :
tsc --project tsconfig.json
Description :

Compile avec un fichier de configuration spécifique

Options :
  • -p
  • --project

Ligne de commande :
tsc -p tsconfig.json
Description :

Alias court pour --project

Ligne de commande :
tsc --watch
Description :

Compile en mode watch (recompile sur modification)

Options :
  • -w
  • --watch
  • --preserveWatchOutput

Ligne de commande :
tsc -w
Description :

Alias court pour --watch

Ligne de commande :
tsc --noEmit
Description :

Vérifie les types sans générer de fichiers JS

Options :
  • --noEmit

Ligne de commande :
tsc --strict
Description :

Active toutes les options de vérification strictes

Options :
  • --strict

Ligne de commande :
tsc --target ES2022
Description :

Compile vers ECMAScript 2022

Options :
  • -t
  • --target

Ligne de commande :
tsc --module commonjs
Description :

Utilise le système de modules CommonJS

Options :
  • -m
  • --module

Ligne de commande :
tsc --module esnext
Description :

Utilise les modules ESNext

Options :
  • -m
  • --module

Ligne de commande :
tsc --moduleResolution node
Description :

Utilise la résolution de modules Node.js

Options :
  • --moduleResolution

Ligne de commande :
tsc --moduleResolution bundler
Description :

Utilise la résolution de modules pour bundlers (Vite, Webpack)

Options :
  • --moduleResolution

Ligne de commande :
tsc --outDir dist
Description :

Définit le dossier de sortie pour les fichiers JS

Options :
  • --outDir

Ligne de commande :
tsc --rootDir src
Description :

Définit le dossier racine des sources TypeScript

Options :
  • --rootDir

Ligne de commande :
tsc --declaration
Description :

Génère les fichiers de déclaration .d.ts

Options :
  • -d
  • --declaration

Ligne de commande :
tsc --declarationMap
Description :

Génère les source maps pour les fichiers .d.ts

Options :
  • --declarationMap

Ligne de commande :
tsc --emitDeclarationOnly
Description :

Génère uniquement les fichiers .d.ts (pas de JS)

Options :
  • --emitDeclarationOnly

Ligne de commande :
tsc --sourceMap
Description :

Génère les source maps (.js.map)

Options :
  • --sourceMap

Ligne de commande :
tsc --inlineSourceMap
Description :

Inclut la source map dans les fichiers JS

Options :
  • --inlineSourceMap

Ligne de commande :
tsc --inlineSources
Description :

Inclut le code source dans les source maps

Options :
  • --inlineSources

Ligne de commande :
tsc --removeComments
Description :

Supprime les commentaires des fichiers JS générés

Options :
  • --removeComments

Ligne de commande :
tsc --noImplicitAny
Description :

Erreur sur les expressions avec type 'any' implicite

Options :
  • --noImplicitAny

Ligne de commande :
tsc --strictNullChecks
Description :

Vérification stricte des valeurs null/undefined

Options :
  • --strictNullChecks

Ligne de commande :
tsc --strictFunctionTypes
Description :

Vérification stricte des types de fonctions

Options :
  • --strictFunctionTypes

Ligne de commande :
tsc --strictBindCallApply
Description :

Vérification stricte de bind/call/apply

Options :
  • --strictBindCallApply

Ligne de commande :
tsc --strictPropertyInitialization
Description :

Vérification de l'initialisation des propriétés de classe

Options :
  • --strictPropertyInitialization

Ligne de commande :
tsc --noImplicitThis
Description :

Erreur sur 'this' de type 'any' implicite

Options :
  • --noImplicitThis

Ligne de commande :
tsc --noImplicitReturns
Description :

Erreur si toutes les branches ne retournent pas une valeur

Options :
  • --noImplicitReturns

Ligne de commande :
tsc --noImplicitOverride
Description :

Force l'utilisation du mot-clé 'override'

Options :
  • --noImplicitOverride

Ligne de commande :
tsc --noUnusedLocals
Description :

Erreur sur les variables locales non utilisées

Options :
  • --noUnusedLocals

Ligne de commande :
tsc --noUnusedParameters
Description :

Erreur sur les paramètres de fonction non utilisés

Options :
  • --noUnusedParameters

Ligne de commande :
tsc --noFallthroughCasesInSwitch
Description :

Erreur sur les fallthrough dans les switch

Options :
  • --noFallthroughCasesInSwitch

Ligne de commande :
tsc --noUncheckedIndexedAccess
Description :

Ajoute 'undefined' aux accès par index

Options :
  • --noUncheckedIndexedAccess

Ligne de commande :
tsc --noPropertyAccessFromIndexSignature
Description :

Force la syntaxe d'index pour les propriétés dynamiques

Options :
  • --noPropertyAccessFromIndexSignature

Ligne de commande :
tsc --exactOptionalPropertyTypes
Description :

Interprète les propriétés optionnelles comme écrites

Options :
  • --exactOptionalPropertyTypes

Ligne de commande :
tsc --useUnknownInCatchVariables
Description :

Type 'unknown' par défaut pour les variables catch

Options :
  • --useUnknownInCatchVariables

Ligne de commande :
tsc --allowUnreachableCode
Description :

Autorise le code inaccessible

Options :
  • --allowUnreachableCode

Ligne de commande :
tsc --allowUnusedLabels
Description :

Autorise les labels inutilisés

Options :
  • --allowUnusedLabels

Ligne de commande :
tsc --alwaysStrict
Description :

Parse en mode strict et émet 'use strict'

Options :
  • --alwaysStrict

Ligne de commande :
tsc --esModuleInterop
Description :

Active l'interopérabilité des modules ES

Options :
  • --esModuleInterop

Ligne de commande :
tsc --allowSyntheticDefaultImports
Description :

Permet les imports par défaut depuis des modules sans export par défaut

Options :
  • --allowSyntheticDefaultImports

Ligne de commande :
tsc --resolveJsonModule
Description :

Permet l'import de fichiers JSON

Options :
  • --resolveJsonModule

Ligne de commande :
tsc --forceConsistentCasingInFileNames
Description :

Force la casse cohérente des noms de fichiers

Options :
  • --forceConsistentCasingInFileNames

Ligne de commande :
tsc --skipLibCheck
Description :

Ignore la vérification des fichiers de déclaration (.d.ts)

Options :
  • --skipLibCheck

Ligne de commande :
tsc --skipDefaultLibCheck
Description :

Ignore la vérification de la bibliothèque par défaut

Options :
  • --skipDefaultLibCheck

Ligne de commande :
tsc --lib es2022,dom
Description :

Spécifie les bibliothèques à inclure

Options :
  • --lib

Ligne de commande :
tsc --types node,express
Description :

Spécifie les packages de types à inclure

Options :
  • --types

Ligne de commande :
tsc --typeRoots ./node_modules/@types,./typings
Description :

Spécifie les dossiers de types

Options :
  • --typeRoots

Ligne de commande :
tsc --baseUrl .
Description :

Définit l'URL de base pour la résolution des modules

Options :
  • --baseUrl

Ligne de commande :
tsc --paths "@app/*: ['./src/*']"
Description :

Définit des alias de chemins

Options :
  • --paths

Ligne de commande :
tsc --rootDirs src,generated
Description :

Définit plusieurs dossiers racines

Options :
  • --rootDirs

Ligne de commande :
tsc --jsx react
Description :

Support JSX pour React

Options :
  • --jsx

Ligne de commande :
tsc --jsx react-jsx
Description :

Support JSX pour React 17+ (nouveau runtime)

Options :
  • --jsx

Ligne de commande :
tsc --jsx react-jsxdev
Description :

Support JSX pour React avec mode développement

Options :
  • --jsx

Ligne de commande :
tsc --jsx preserve
Description :

Préserve le JSX pour un autre outil

Options :
  • --jsx

Ligne de commande :
tsc --jsxFactory h
Description :

Spécifie la fonction factory JSX (ex: Preact)

Options :
  • --jsxFactory

Ligne de commande :
tsc --jsxFragmentFactory Fragment
Description :

Spécifie la fonction fragment JSX

Options :
  • --jsxFragmentFactory

Ligne de commande :
tsc --jsxImportSource react
Description :

Spécifie la source d'import JSX

Options :
  • --jsxImportSource

Ligne de commande :
tsc --experimentalDecorators
Description :

Active le support des décorateurs expérimentaux

Options :
  • --experimentalDecorators

Ligne de commande :
tsc --emitDecoratorMetadata
Description :

Émet les métadonnées pour les décorateurs

Options :
  • --emitDecoratorMetadata

Ligne de commande :
tsc --useDefineForClassFields
Description :

Utilise la sémantique standard pour les champs de classe

Options :
  • --useDefineForClassFields

Ligne de commande :
tsc --incremental
Description :

Compilation incrémentale (plus rapide)

Options :
  • --incremental

Ligne de commande :
tsc --tsBuildInfoFile .tsbuildinfo
Description :

Spécifie le fichier d'info de build incrémental

Options :
  • --tsBuildInfoFile

Ligne de commande :
tsc --build
Description :

Construit un projet composite (project references)

Options :
  • -b
  • --build

Ligne de commande :
tsc -b --clean
Description :

Nettoie les sorties d'un projet composite

Options :
  • --clean

Ligne de commande :
tsc -b --force
Description :

Force la reconstruction complète

Options :
  • -f
  • --force

Ligne de commande :
tsc -b --dry
Description :

Simule le build sans écrire de fichiers

Options :
  • --dry

Ligne de commande :
tsc -b --verbose
Description :

Mode verbeux pour le build composite

Options :
  • --verbose

Ligne de commande :
tsc --listFiles
Description :

Liste les fichiers inclus dans la compilation

Options :
  • --listFiles

Ligne de commande :
tsc --listEmittedFiles
Description :

Liste les fichiers émis

Options :
  • --listEmittedFiles

Ligne de commande :
tsc --explainFiles
Description :

Explique pourquoi les fichiers sont inclus

Options :
  • --explainFiles

Ligne de commande :
tsc --showConfig
Description :

Affiche la configuration résolue

Options :
  • --showConfig

Ligne de commande :
tsc --extendedDiagnostics
Description :

Affiche des diagnostics détaillés

Options :
  • --extendedDiagnostics

Ligne de commande :
tsc --generateCpuProfile profile.cpuprofile
Description :

Génère un profil CPU

Options :
  • --generateCpuProfile

Ligne de commande :
tsc --locale fr
Description :

Définit la langue des messages

Options :
  • --locale

Ligne de commande :
tsc --diagnostics
Description :

Affiche des informations de diagnostic

Options :
  • --diagnostics

Ligne de commande :
tsc --traceResolution
Description :

Trace la résolution des modules

Options :
  • --traceResolution

Ligne de commande :
tsc --maxNodeModuleJsDepth 0
Description :

Limite la profondeur de recherche dans node_modules

Options :
  • --maxNodeModuleJsDepth

Ligne de commande :
tsc --noErrorTruncation
Description :

N'affiche pas les erreurs tronquées

Options :
  • --noErrorTruncation

Ligne de commande :
tsc --pretty
Description :

Active les messages d'erreur colorés et formatés

Options :
  • --pretty

Ligne de commande :
tsc --noPretty
Description :

Désactive le formatage coloré

Options :
  • --noPretty

Ligne de commande :
npm install --save-dev ts-node
Description :

Installe ts-node (exécution directe de TypeScript)

Options :
  • --help

Ligne de commande :
ts-node script.ts
Description :

Exécute un fichier TypeScript directement

Options :
  • --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

Ligne de commande :
ts-node --transpile-only script.ts
Description :

Exécute sans vérification de types (plus rapide)

Options :
  • --transpile-only

Ligne de commande :
ts-node --project tsconfig.json script.ts
Description :

Exécute avec une configuration spécifique

Options :
  • -P
  • --project

Ligne de commande :
ts-node -P tsconfig.json script.ts
Description :

Alias court pour --project

Ligne de commande :
ts-node --esm script.ts
Description :

Exécute en mode ES Modules

Options :
  • --esm

Ligne de commande :
ts-node --swc script.ts
Description :

Utilise SWC pour la transpilation (ultra-rapide)

Options :
  • --swc

Ligne de commande :
ts-node --files script.ts
Description :

Charge les fichiers spécifiés dans tsconfig

Options :
  • --files

Ligne de commande :
ts-node --ignore node_modules script.ts
Description :

Ignore certains dossiers

Options :
  • --ignore

Ligne de commande :
ts-node --skip-project script.ts
Description :

Ignore le tsconfig.json

Options :
  • --skip-project

Ligne de commande :
ts-node --emit script.ts
Description :

Émet les fichiers JS en plus de l'exécution

Options :
  • --emit

Ligne de commande :
npm install --save-dev tsx
Description :

Installe tsx (exécution TypeScript/ESM ultra-rapide avec esbuild)

Options :
  • --help

Ligne de commande :
tsx script.ts
Description :

Exécute un fichier TypeScript avec tsx

Options :
  • --no-cache
  • --tsconfig
  • --watch
  • --help
  • --version

Ligne de commande :
tsx --watch script.ts
Description :

Exécute en mode watch (rechargement automatique)

Options :
  • --watch

Ligne de commande :
tsx --tsconfig tsconfig.json script.ts
Description :

Exécute avec un tsconfig spécifique

Options :
  • --tsconfig

Ligne de commande :
tsx --no-cache script.ts
Description :

Désactive le cache de compilation

Options :
  • --no-cache

Ligne de commande :
npx tsx script.ts
Description :

Exécute tsx sans installation globale

Options :
  • --watch
  • --tsconfig
  • --no-cache

Ligne de commande :
npm install --save-dev ts-node-dev
Description :

Installe ts-node-dev (hot reload pour TypeScript)

Options :
  • --help

Ligne de commande :
ts-node-dev script.ts
Description :

Exécute avec rechargement automatique

Options :
  • --respawn
  • --transpile-only
  • --poll
  • --interval
  • --debounce
  • --clear
  • --watch
  • --ignore
  • --ignore-watch
  • --deps
  • --no-deps
  • --debug
  • --inspect
  • --exit-child
  • --no-notify
  • --rs
  • --help

Ligne de commande :
ts-node-dev --respawn script.ts
Description :

Redémarre le processus à chaque changement

Options :
  • --respawn

Ligne de commande :
ts-node-dev --transpile-only script.ts
Description :

Rechargement rapide sans vérification de types

Options :
  • --transpile-only

Ligne de commande :
ts-node-dev --watch src script.ts
Description :

Surveille un dossier spécifique

Options :
  • --watch

Ligne de commande :
ts-node-dev --ignore node_modules script.ts
Description :

Ignore certains dossiers

Options :
  • --ignore

Ligne de commande :
ts-node-dev --debug script.ts
Description :

Lance en mode debug

Options :
  • --debug

Ligne de commande :
ts-node-dev --inspect script.ts
Description :

Active l'inspecteur Node.js

Options :
  • --inspect

Ligne de commande :
npm install --save-dev @types/node
Description :

Installe les types Node.js

Options :
  • --help

Ligne de commande :
npm install --save-dev @types/express
Description :

Installe les types Express

Ligne de commande :
npm install --save-dev @types/react
Description :

Installe les types React

Options :
  • @types/react-dom

Ligne de commande :
npm install --save-dev @types/jest
Description :

Installe les types Jest

Ligne de commande :
npm install --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parser
Description :

Installe ESLint pour TypeScript

Ligne de commande :
npx eslint --init
Description :

Initialise la configuration ESLint (supporte TypeScript)

Options :
  • --help

Ligne de commande :
npx eslint . --ext .ts,.tsx
Description :

Lance ESLint sur les fichiers TypeScript

Options :
  • --fix
  • --quiet
  • --max-warnings
  • --format
  • --cache

Ligne de commande :
npx prettier --write "**/*.ts"
Description :

Formate les fichiers TypeScript avec Prettier

Options :
  • --check
  • --config
  • --ignore-path

Ligne de commande :
npm install --save-dev typedoc
Description :

Installe TypeDoc (générateur de documentation pour TypeScript)

Options :
  • --help

Ligne de commande :
npx typedoc
Description :

Génère la documentation depuis les sources TypeScript

Options :
  • --out
  • --entryPoints
  • --tsconfig
  • --name
  • --readme
  • --plugin
  • --theme
  • --exclude
  • --excludePrivate
  • --excludeProtected
  • --excludeInternal
  • --excludeExternals
  • --includeVersion
  • --categorizeByGroup
  • --defaultCategory
  • --categoryOrder
  • --sort
  • --visibilityFilters
  • --searchInComments
  • --help

Ligne de commande :
npx typedoc --out docs src/index.ts
Description :

Génère la documentation dans le dossier docs

Options :
  • --out

Ligne de commande :
npx typedoc --tsconfig tsconfig.json
Description :

Utilise un tsconfig spécifique

Options :
  • --tsconfig

Ligne de commande :
npx typedoc --name "Mon API" --readme README.md src
Description :

Documentation avec nom et README personnalisés

Options :
  • --name
  • --readme

Ligne de commande :
npx typedoc --exclude "**/*.test.ts" --excludePrivate
Description :

Exclut les tests et membres privés

Options :
  • --exclude
  • --excludePrivate

Ligne de commande :
npx typedoc --plugin typedoc-plugin-markdown
Description :

Génère la documentation au format Markdown

Options :
  • --plugin

Ligne de commande :
npx typedoc --theme default
Description :

Utilise le thème par défaut

Options :
  • --theme

Ligne de commande :
npx tsc --noEmit && npx eslint . --ext .ts
Description :

Vérifie les types ET le linting (combinaison)

Ligne de commande :
npm install --save-dev typesync
Description :

Installe typesync (synchronise @types avec package.json)

Ligne de commande :
npx typesync
Description :

Ajoute les @types manquants au package.json

Options :
  • --dry
  • --help

Ligne de commande :
npm install --save-dev typescript-transform-paths
Description :

Installe le transformateur de chemins (pour ts-patch)

Ligne de commande :
npx tsc-alias
Description :

Remplace les alias de chemins dans les fichiers JS générés

Options :
  • -p
  • --project
  • -w
  • --watch
  • --outDir
  • --resolveFullPaths
  • --verbose
  • --help

Ligne de commande :
npx tsc-alias -p tsconfig.json
Description :

Remplace les alias en utilisant un tsconfig

Options :
  • -p
  • --project

Ligne de commande :
npx tsc-alias --watch
Description :

Mode watch pour les alias

Options :
  • -w
  • --watch

Ligne de commande :
npm install --save-dev rimraf
Description :

Installe rimraf pour nettoyer les dossiers

Ligne de commande :
rimraf dist && tsc
Description :

Nettoie le dossier dist avant compilation

Ligne de commande :
npm run build
Description :

Script de build typique dans package.json

Ligne de commande :
npm run type-check
Description :

Vérifie les types sans émettre de fichiers

Ligne de commande :
npm run dev
Description :

Mode développement avec hot reload

Ligne de commande :
npm install --save-dev ts-jest
Description :

Installe ts-jest pour les tests Jest avec TypeScript

Options :
  • --help

Ligne de commande :
npx ts-jest config:init
Description :

Initialise la configuration ts-jest

Ligne de commande :
npx jest --coverage
Description :

Lance les tests avec couverture (avec ts-jest configuré)

Options :
  • --watch
  • --testPathPattern
  • --verbose

Ligne de commande :
npm install --save-dev vitest
Description :

Installe Vitest (test runner rapide avec support TypeScript natif)

Ligne de commande :
npx vitest
Description :

Lance Vitest

Options :
  • --watch
  • --run
  • --coverage
  • --ui
  • --reporter
  • --silent
  • --dom
  • --environment
  • --update
  • -u
  • --testNamePattern
  • -t
  • --dir
  • --exclude
  • --typecheck

Ligne de commande :
npx vitest --typecheck
Description :

Lance les tests avec vérification des types

Options :
  • --typecheck

Ligne de commande :
npx vitest --coverage
Description :

Lance les tests avec couverture

Options :
  • --coverage

Ligne de commande :
npm install --save-dev @swc/core @swc/cli
Description :

Installe SWC (compilateur ultra-rapide pour TypeScript)

Ligne de commande :
npx swc src -d dist
Description :

Compile avec SWC

Options :
  • -d
  • --out-dir
  • -w
  • --watch
  • --config-file
  • --source-maps
  • --copy-files
  • --strip-leading-paths
  • --include-dotfiles
  • --only
  • --ignore
  • --no-swcrc

Ligne de commande :
npx swc src -d dist --watch
Description :

Compile en mode watch avec SWC

Options :
  • -w
  • --watch

Ligne de commande :
npm install --save-dev esbuild
Description :

Installe esbuild (bundler ultra-rapide avec support TypeScript)

Ligne de commande :
npx esbuild src/index.ts --bundle --outfile=dist/bundle.js
Description :

Bundle TypeScript avec esbuild

Options :
  • --bundle
  • --outfile
  • --outdir
  • --platform
  • --target
  • --format
  • --minify
  • --sourcemap
  • --watch
  • --serve
  • --loader
  • --define
  • --external
  • --tree-shaking
  • --metafile
  • --legal-comments
  • --log-level
  • --color
  • --charset
  • --tsconfig
  • --jsx