Configure options below — the preview updates in real time.

Top-Level Options

Root-level settings that control which files are included in the program.

Specifies an exhaustive list of relative or absolute file paths to include in the program.

Array of filenames or glob patterns to include in the program.

Array of filenames or patterns that should be skipped when resolving include.

Path to one or more base configuration files to inherit from.

compileOnSaveSignals to IDEs to generate all files for a given tsconfig.json upon saving.

Type Checking

Options that control how strictly TypeScript checks types.

strictEnable all strict type-checking options.
alwaysStrictEnsure 'use strict' is always emitted.
noImplicitAnyRaise error on expressions and declarations with an implied 'any' type.
strictNullChecksEnable strict null checks.
strictFunctionTypesEnable strict checking of function types.
strictBindCallApplyEnable strict 'bind', 'call', and 'apply' methods on functions.
strictPropertyInitializationEnable strict checking of property initialization in classes.
noImplicitThisRaise error on 'this' expressions with an implied 'any' type.
useUnknownInCatchVariablesDefault catch clause variables as 'unknown' instead of 'any'.
exactOptionalPropertyTypesInterpret optional property types strictly as written, preventing assignments of undefined.
noUnusedLocalsReport errors on unused local variables.
noUnusedParametersReport errors on unused parameters in functions.
noImplicitReturnsReport an error when not all code paths in a function return a value.
noFallthroughCasesInSwitchReport errors for fallthrough cases in switch statements.
noUncheckedIndexedAccessInclude 'undefined' in index signature results.
noImplicitOverrideEnsure overriding members in derived classes are marked with an override modifier.
allowUnusedLabelsDisable error reporting for unused labels.
allowUnreachableCodeDisable error reporting for unreachable code.
noPropertyAccessFromIndexSignatureRequire undeclared properties from index signatures to use bracket notation.
strictBuiltinIteratorReturnBuilt-in iterators are instantiated with a TReturn type of undefined instead of any. (TS 5.6+)
noCheckDisable full type checking (only critical parse and emit errors will be reported).

Modules

Options that control the module system and module resolution behavior.

Sets the module system for the program.

Determine how modules get resolved.

Base directory to resolve non-absolute module names.

A series of entries which re-map imports to lookup locations relative to the baseUrl.

List of root folders whose combined content represents the structure of the project at runtime.

List of folders to include type definitions from.

Specify type package names to be included without being referenced in a source file.

resolveJsonModuleEnable importing .json files.
resolvePackageJsonExportsForce TypeScript to consult the exports field of package.json files.
resolvePackageJsonImportsForce TypeScript to consult the imports field of package.json files.
allowImportingTsExtensionsAllow imports to include TypeScript file extensions. Requires --moduleResolution bundler.
allowArbitraryExtensionsEnable importing files with any extension, provided a declaration file is present.

Conditions to set in addition to resolver-specific defaults when resolving imports/exports.

allowUmdGlobalAccessAllow accessing UMD globals from modules.

List of file name suffixes to search when resolving a module.

noResolveDisables adding files to the compilation project based on import or /// reference.
noUncheckedSideEffectImportsError if a side effect import cannot be resolved to a source file. (TS 5.6+)

Emit

Options that control what and how TypeScript emits output files.

Specify an output folder for all emitted files.

Concatenate and emit output to single file.

Specify the root folder within your source files.

declarationGenerate .d.ts files for every TypeScript or JavaScript file inside your project.

Specify the output directory for generated declaration files.

declarationMapGenerates a sourcemap for each corresponding .d.ts file.
sourceMapCreate source map files for emitted JavaScript files.
inlineSourceMapInclude sourcemap files inside the emitted JavaScript.
inlineSourcesInclude the source code in the sourcemaps inside the emitted JavaScript.
emitDeclarationOnlyOnly emit .d.ts declaration files.
noEmitDisable emitting files from a compilation.
removeCommentsDisable emitting comments.
importHelpersAllow importing helper functions from tslib once per project.
downlevelIterationEmit more compliant, but verbose and less performant JS for iteration.
emitBOMEmit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.

Set the newline character for emitting files.

stripInternalDisable emitting declarations that have @internal in their JSDoc comments.
preserveConstEnumsDisable erasing const enum declarations in generated code.
noEmitHelpersDisable generating custom helper functions like __extends in compiled output.
noEmitOnErrorDisable emitting files if any type checking errors are reported.

Specify the location where debugger should locate map files instead of generated locations.

Specify the location where debugger should locate TypeScript files instead of source locations.

rewriteRelativeImportExtensionsRewrite .ts, .tsx, .mts, and .cts file extensions in relative import paths to their JavaScript equivalent in output files. (TS 5.7+)

JavaScript Support

Options for working with JavaScript files in your TypeScript project.

allowJsAllow JavaScript files to be a part of your program.
checkJsEnable error reporting in type-checked JavaScript files.

Specify the maximum folder depth used for checking JavaScript files from node_modules.

Interop Constraints

Options that control how TypeScript interoperates with other module systems and tools.

esModuleInteropEmit additional JavaScript to ease support for importing CommonJS modules.
allowSyntheticDefaultImportsAllow 'import x from y' when a module doesn't have a default export.
forceConsistentCasingInFileNamesEnsure that casing is correct in imports.
isolatedModulesEnsure that each file can be safely transpiled without relying on other imports.
verbatimModuleSyntaxEnforce using type modifiers on imports to determine what gets emitted.
isolatedDeclarationsRequire sufficient annotation on exports so other tools can trivially generate declaration files. (TS 5.5+)
preserveSymlinksDisable resolving symlinks to their realpath.
erasableSyntaxOnlyRestrict TypeScript to syntax that can be fully erased (prohibits enums, namespaces, etc). (TS 5.8+)

Language & Environment

Options that control the target runtime environment and language features.

Set the JavaScript language version for emitted JavaScript.

Specify a set of bundled library declaration files that describe the target runtime environment.

Specify what JSX code is generated.

Specify the JSX factory function used when targeting React JSX emit.

Specify the JSX Fragment reference used for fragments when targeting React JSX.

Specify module specifier used to import the JSX factory functions when using jsx: react-jsx.

experimentalDecoratorsEnable experimental support for TC39 stage 2 draft decorators.
emitDecoratorMetadataEmit design-type metadata for decorated declarations in source files.
useDefineForClassFieldsEmit ECMAScript-standard-compliant class fields.

Specify the object invoked for createElement. Only applies when targeting react JSX emit.

noLibDisable including any library files, including the default lib.d.ts.

Control what method is used to detect whether a file is a script or a module.

libReplacementAllow substituting default lib files with custom ones from @typescript/lib-* packages. (TS 5.8+)

Projects

Options for TypeScript project references and incremental builds.

compositeEnable constraints that allow a TypeScript project to be used with project references.
incrementalSave .tsbuildinfo files to allow for faster subsequent builds.

Specify the folder or file for storing .tsbuildinfo incremental compilation information.

disableSolutionSearchingOpt a project out of multi-project reference checking when editing.
disableReferencedProjectLoadReduce the number of projects loaded automatically by TypeScript.
disableSourceOfProjectReferenceRedirectDisable preferring source files instead of declaration files when referencing composite projects.

Completeness

Options that control how thoroughly TypeScript checks your project.

skipLibCheckSkip type checking all .d.ts files.
skipDefaultLibCheckSkip type checking .d.ts files that are included with TypeScript.

Editor Support

Options that affect the TypeScript language service.

disableSizeLimitRemove the 20MB limit on total source code size for JavaScript files in the TypeScript language server.

Output Formatting

Options that control how compiler output and diagnostics are displayed.

noErrorTruncationDisable truncating types in error messages.
preserveWatchOutputDisable wiping the console in watch mode.
prettyEnable color and formatting in TypeScript's output to make compiler errors easier to read.

Compiler Diagnostics

Options that output diagnostic information about the compiler itself.

diagnosticsOutput compiler performance information after building.
extendedDiagnosticsOutput more detailed compiler performance information after building.
traceResolutionLog paths used during the module resolution process.
listEmittedFilesPrint the names of emitted files after a compilation.
listFilesPrint all of the files read during the compilation.
explainFilesPrint files read during the compilation and why they were included.

Emit a v8 CPU profile of the compiler run for debugging.

Watch Options

Options that control the file-watching behavior of tsc --watch.

Strategy for how individual files are watched.

Strategy for how entire directory trees are watched.

Polling strategy to use when the system runs out of native file watchers.

synchronousWatchDirectorySynchronously call callbacks and update the state of directory watchers on platforms that don't natively support it.

Remove a list of directories from the watch process.

Remove a list of specific files from the watch process.

Type Acquisition

Options that control automatic type acquisition for JavaScript projects.

enableEnable auto-discovery of type declarations (@types).

List of module names to always be acquired by type acquisition.

List of module names to exclude from type acquisition.

disableFilenameBasedTypeAcquisitionDisables filename-based type acquisition.