{
"name": "tsc",
"description": "CLI tool for TypeScript compiler",
"options": [
{
"names": [
"--all"
],
"description": "Show all compiler options"
},
{
"names": [
"--generateTrace"
],
"description": "Generates an event trace and a list of types"
},
{
"names": [
"--help"
],
"description": "Gives local information for help on the CLI"
},
{
"names": [
"--init"
],
"description": "Initializes a TypeScript project and creates a tsconfig.json file"
},
{
"names": [
"--listFilesOnly"
],
"description": "Print names of files that are part of the compilation and then stop processing"
},
{
"names": [
"--locale"
],
"description": "Set the language of the messaging from TypeScript. This does not affect emit"
},
{
"names": [
"--project"
],
"description": "Compile the project given the path to its configuration file, or to a folder with a tsconfig.json",
"takes_arg": true,
"arg": {
"name": "path",
"template": "filepaths"
}
},
{
"names": [
"--showConfig"
],
"description": "Print the final configuration instead of building"
},
{
"names": [
"--version"
],
"description": "Print the compiler's version"
},
{
"names": [
"--build"
],
"description": "Build one or more projects and their dependencies, if out of date"
},
{
"names": [
"--clean"
],
"description": "Delete the outputs of all projects"
},
{
"names": [
"--dry"
],
"description": "Show what would be built (or deleted, if specified with '--clean')"
},
{
"names": [
"--force"
],
"description": "Build all projects, including those that appear to be up to date"
},
{
"names": [
"--verbose"
],
"description": "Enable verbose logging"
},
{
"names": [
"--excludeDirectories"
],
"description": "Remove a list of directories from the watch process",
"takes_arg": true,
"arg": {
"name": "dir",
"is_variadic": true,
"template": "folders"
}
},
{
"names": [
"--excludeFiles"
],
"description": "Remove a list of files from the watch mode's processing",
"takes_arg": true,
"arg": {
"name": "files",
"is_variadic": true,
"template": "filepaths"
}
},
{
"names": [
"--fallbackPolling"
],
"description": "Specify what approach the watcher should use if the system runs out of native file watchers",
"takes_arg": true,
"arg": {
"name": "approach",
"suggestions": [
"fixedPollingInterval",
"priorityPollingInterval",
"dynamicPriorityPolling"
]
}
},
{
"names": [
"--synchronousWatchDirectory"
],
"description": "Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively"
},
{
"names": [
"--watch"
],
"description": "Watch input files"
},
{
"names": [
"--watchDirectory"
],
"description": "Specify how directories are watched on systems that lack recursive file-watching functionality",
"takes_arg": true,
"arg": {
"name": "approach",
"suggestions": [
"fixedPollingInterval",
"dynamicPriorityPolling",
"useFsEvents"
]
}
},
{
"names": [
"--watchFile"
],
"description": "Specify how the TypeScript watch mode works",
"takes_arg": true,
"arg": {
"name": "approach",
"suggestions": [
"fixedPollingInterval",
"priorityPollingInterval",
"dynamicPriorityPolling",
"useFsEvents",
"useFsEventsOnParentDirectory"
]
}
},
{
"names": [
"--allowJs"
],
"description": "Allow JavaScript files to be a part of your program. Use the checkJS option to get errors from these files"
},
{
"names": [
"--allowSyntheticDefaultImports"
],
"description": "Allow 'import x from y' when a module doesn't have a default export"
},
{
"names": [
"--allowUmdGlobalAccess"
],
"description": "Allow accessing UMD globals from modules"
},
{
"names": [
"--allowUnreachableCode"
],
"description": "Disable error reporting for unreachable code"
},
{
"names": [
"--allowUnusedLabels"
],
"description": "Disable error reporting for unused label"
},
{
"names": [
"--alwaysStrict"
],
"description": "Ensure 'use strict' is always emitted"
},
{
"names": [
"--assumeChangesOnlyAffectDirectDependencies"
],
"description": "Have recompiles in projects that use incremental and watch mode assume that changes within a file will only affect files directly depending on it"
},
{
"names": [
"--baseUrl"
],
"description": "Specify the base directory to resolve non-relative module names",
"takes_arg": true,
"arg": {
"name": "directory",
"template": "filepaths"
}
},
{
"names": [
"--checkJs"
],
"description": "Enable error reporting in type-checked JavaScript files"
},
{
"names": [
"--composite"
],
"description": "Enable constraints that allow a TypeScript project to be used with project references"
},
{
"names": [
"--declaration"
],
"description": "Generate .d.ts files from TypeScript and JavaScript files in your project"
},
{
"names": [
"--declarationDir"
],
"description": "Specify the output directory for generated declaration files",
"takes_arg": true,
"arg": {
"name": "string",
"template": "folders"
}
},
{
"names": [
"--declarationMap"
],
"description": "Create sourcemaps for d.ts files"
},
{
"names": [
"--diagnostics"
],
"description": "Output compiler performance information after building"
},
{
"names": [
"--disableReferencedProjectLoad"
],
"description": "Reduce the number of projects loaded automatically by TypeScript"
},
{
"names": [
"--disableSizeLimit"
],
"description": "Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server"
},
{
"names": [
"--disableSolutionSearching"
],
"description": "Opt a project out of multi-project reference checking when editing"
},
{
"names": [
"--disableSourceOfProjectReferenceRedirect"
],
"description": "Disable preferring source files instead of declaration files when referencing composite projects"
},
{
"names": [
"--downlevelIteration"
],
"description": "Emit more compliant, but verbose and less performant JavaScript for iteration"
},
{
"names": [
"--emitBOM"
],
"description": "Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files"
},
{
"names": [
"--emitDeclarationOnly"
],
"description": "Only output d.ts files and not JavaScript files"
},
{
"names": [
"--emitDecoratorMetadata"
],
"description": "Emit design-type metadata for decorated declarations in source files"
},
{
"names": [
"--esModuleInterop"
],
"description": "Emit additional JavaScript to ease support for importing CommonJS modules. This enables allowSyntheticDefaultImports for type compatibility"
},
{
"names": [
"--exactOptionalPropertyTypes"
],
"description": "Differentiate between undefined and not present when type checking"
},
{
"names": [
"--experimentalDecorators"
],
"description": "Enable experimental support for TC39 stage 2 draft decorators"
},
{
"names": [
"--explainFiles"
],
"description": "Print files read during the compilation including why it was included"
},
{
"names": [
"--extendedDiagnostics"
],
"description": "Output more detailed compiler performance information after building"
},
{
"names": [
"--forceConsistentCasingInFileNames"
],
"description": "Ensure that casing is correct in imports"
},
{
"names": [
"--generateCpuProfile"
],
"description": "Emit a v8 CPU profile of the compiler run for debugging"
},
{
"names": [
"--importHelpers"
],
"description": "Allow importing helper functions from tslib once per project, instead of including them per-file"
},
{
"names": [
"--importsNotUsedAsValues"
],
"description": "Specify emit/checking behavior for imports that are only used for types",
"takes_arg": true,
"arg": {
"name": "type",
"suggestions": [
"remove",
"preserve",
"error"
]
}
},
{
"names": [
"--incremental"
],
"description": "Save .tsbuildinfo files to allow for incremental compilation of projects"
},
{
"names": [
"--inlineSourceMap"
],
"description": "Include sourcemap files inside the emitted JavaScript"
},
{
"names": [
"--inlineSources"
],
"description": "Include source code in the sourcemaps inside the emitted JavaScript"
},
{
"names": [
"--isolatedModules"
],
"description": "Ensure that each file can be safely transpiled without relying on other imports"
},
{
"names": [
"--jsx"
],
"description": "Specify what JSX code is generated",
"takes_arg": true,
"arg": {
"name": "type",
"suggestions": [
"react",
"react-jsx",
"react-jsxdev",
"react-native",
"preserve"
]
}
},
{
"names": [
"--jsxFactory"
],
"description": "Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'",
"takes_arg": true,
"arg": {
"name": "JSX factory function"
}
},
{
"names": [
"--jsxFragmentFactory"
],
"description": "Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'",
"takes_arg": true,
"arg": {
"name": "JSX fragment"
}
},
{
"names": [
"--jsxImportSource"
],
"description": "Specify module specifier used to import the JSX factory functions when using jsx: react-jsx*",
"takes_arg": true,
"arg": {
"name": "string"
}
},
{
"names": [
"--keyofStringsOnly"
],
"description": "Make keyof only return strings instead of string, numbers or symbols. Legacy option"
},
{
"names": [
"--lib"
],
"description": "Specify a set of bundled library declaration files that describe the target runtime environment",
"takes_arg": true,
"arg": {
"name": "list",
"is_variadic": true,
"template": "filepaths"
}
},
{
"names": [
"--listEmittedFiles"
],
"description": "Print the names of emitted files after a compilation"
},
{
"names": [
"--listFiles"
],
"description": "Print all of the files read during the compilation"
},
{
"names": [
"--mapRoot"
],
"description": "Specify the location where debugger should locate map files instead of generated locations",
"takes_arg": true,
"arg": {
"name": "string",
"template": "folders"
}
},
{
"names": [
"--maxNodeModuleJsDepth"
],
"description": "Specify the maximum folder depth used for checking JavaScript files from node_modules. Only applicable with allowJs",
"takes_arg": true,
"arg": {
"name": "number"
}
},
{
"names": [
"--module"
],
"description": "Specify what module code is generated",
"takes_arg": true,
"arg": {
"name": "module",
"suggestions": [
"ES6",
"ES2015",
"ES2020",
"None",
"UMD",
"AMD",
"System",
"ESNext",
"CommonJS"
]
}
},
{
"names": [
"--moduleResolution"
],
"description": "Specify how TypeScript looks up a file from a given module specifier",
"takes_arg": true,
"arg": {
"name": "module"
}
},
{
"names": [
"--newLine"
],
"description": "Set the newline character for emitting files",
"takes_arg": true,
"arg": {
"name": "character"
}
},
{
"names": [
"--noEmit"
],
"description": "Disable emitting file from a compilation"
},
{
"names": [
"--noEmitHelpers"
],
"description": "Disable generating custom helper functions like __extends in compiled output"
},
{
"names": [
"--noEmitOnError"
],
"description": "Disable emitting files if any type checking errors are reported"
},
{
"names": [
"--noErrorTruncation"
],
"description": "Disable truncating types in error messages"
},
{
"names": [
"--noFallthroughCasesInSwitch"
],
"description": "Enable error reporting for fallthrough cases in switch statements"
},
{
"names": [
"--noImplicitAny"
],
"description": "Enable error reporting for expressions and declarations with an implied any type"
},
{
"names": [
"--noImplicitOverride"
],
"description": "Ensure overriding members in derived classes are marked with an override modifier"
},
{
"names": [
"--noImplicitReturns"
],
"description": "Enable error reporting for codepaths that do not explicitly return in a function"
},
{
"names": [
"--noImplicitThis"
],
"description": "Enable error reporting when this is given the type any"
},
{
"names": [
"--noImplicitUseStrict"
],
"description": "Disable adding 'use strict' directives in emitted JavaScript files"
},
{
"names": [
"--noLib"
],
"description": "Disable including any library files, including the default lib.d.ts"
},
{
"names": [
"--noPropertyAccessFromIndexSignature"
],
"description": "Enforces using indexed accessors for keys declared using an indexed type"
},
{
"names": [
"--noResolve"
],
"description": "Disallow imports, requires or <reference>s from expanding the number of files TypeScript should add to a project"
},
{
"names": [
"--noStrictGenericChecks"
],
"description": "Disable strict checking of generic signatures in function types"
},
{
"names": [
"--noUncheckedIndexedAccess"
],
"description": "Add undefined to a type when accessed using an index"
},
{
"names": [
"--noUnusedLocals"
],
"description": "Enable error reporting when a local variables aren't read"
},
{
"names": [
"--noUnusedParameters"
],
"description": "Raise an error when a function parameter isn't read"
},
{
"names": [
"--outDir"
],
"description": "Specify an output folder for all emitted files",
"takes_arg": true,
"arg": {
"name": "string",
"template": "folders"
}
},
{
"names": [
"--outFile"
],
"description": "Specify a file that bundles all outputs into one JavaScript file. If declaration is true, also designates a file that bundles all .d.ts output",
"takes_arg": true,
"arg": {
"name": "string",
"template": "filepaths"
}
},
{
"names": [
"--paths"
],
"description": "Specify a set of entries that re-map imports to additional lookup locations",
"takes_arg": true,
"arg": {
"name": "object"
}
},
{
"names": [
"--plugins"
],
"description": "Specify a list of language service plugins to include",
"takes_arg": true,
"arg": {
"name": "plugins",
"is_variadic": true
}
},
{
"names": [
"--preserveConstEnums"
],
"description": "Disable erasing const enum declarations in generated code"
},
{
"names": [
"--preserveSymlinks"
],
"description": "Disable resolving symlinks to their realpath. This correlates to the same flag in node"
},
{
"names": [
"--preserveWatchOutput"
],
"description": "Disable wiping the console in watch mode"
},
{
"names": [
"--pretty"
],
"description": "Enable color and formatting in output to make compiler errors easier to read"
},
{
"names": [
"--reactNamespace"
],
"description": "Specify the object invoked for createElement. This only applies when targeting react JSX emit",
"takes_arg": true,
"arg": {
"name": "object"
}
},
{
"names": [
"--removeComments"
],
"description": "Disable emitting comments"
},
{
"names": [
"--resolveJsonModule"
],
"description": "Enable importing .json files"
},
{
"names": [
"--rootDir"
],
"description": "Specify the root folder within your source files",
"takes_arg": true,
"arg": {
"name": "string",
"template": "folders"
}
},
{
"names": [
"--rootDirs"
],
"description": "Allow multiple folders to be treated as one when resolving modules",
"takes_arg": true,
"arg": {
"name": "string",
"is_variadic": true,
"template": "folders"
}
},
{
"names": [
"--skipDefaultLibCheck"
],
"description": "Skip type checking .d.ts files that are included with TypeScript"
},
{
"names": [
"--skipLibCheck"
],
"description": "Skip type checking all .d.ts files"
},
{
"names": [
"--sourceMap"
],
"description": "Create source map files for emitted JavaScript files"
},
{
"names": [
"--sourceRoot"
],
"description": "Specify the root path for debuggers to find the reference source code",
"takes_arg": true,
"arg": {
"name": "string",
"template": "filepaths"
}
},
{
"names": [
"--strict"
],
"description": "Enable all strict type checking options"
},
{
"names": [
"--strictBindCallApply"
],
"description": "Check that the arguments for bind, call, and apply methods match the original function"
},
{
"names": [
"--strictFunctionTypes"
],
"description": "When assigning functions, check to ensure parameters and the return values are subtype-compatible"
},
{
"names": [
"--strictNullChecks"
],
"description": "When type checking, take into account null and undefined"
},
{
"names": [
"--strictPropertyInitialization"
],
"description": "Check for class properties that are declared but not set in the constructor"
},
{
"names": [
"--stripInternal"
],
"description": "Disable emitting declarations that have @internal in their JSDoc comments"
},
{
"names": [
"--suppressExcessPropertyErrors"
],
"description": "Disable reporting of excess property errors during the creation of object literals"
},
{
"names": [
"--suppressImplicitAnyIndexErrors"
],
"description": "Suppress noImplicitAny errors when indexing objects that lack index signatures"
},
{
"names": [
"--target"
],
"description": "Set the JavaScript language version for emitted JavaScript and include compatible library declarations",
"takes_arg": true,
"arg": {
"suggestions": [
"ES3",
"ES5",
"ES6",
"ES2015",
"ES7",
"ES2016",
"ES2017",
"ES2018",
"ES2019",
"ES2020",
"ESNext"
]
}
},
{
"names": [
"--traceResolution"
],
"description": "Log paths used during the moduleResolution process"
},
{
"names": [
"--tsBuildInfoFile"
],
"description": "Specify the folder for .tsbuildinfo incremental compilation files",
"takes_arg": true,
"arg": {
"name": "string",
"template": "folders"
}
},
{
"names": [
"--typeRoots"
],
"description": "Specify multiple folders that act like ./node_modules/@types",
"takes_arg": true,
"arg": {
"name": "folders",
"is_variadic": true,
"template": "folders"
}
},
{
"names": [
"--types"
],
"description": "Specify type package names to be included without being referenced in a source file",
"takes_arg": true,
"arg": {
"name": "package names",
"is_variadic": true
}
},
{
"names": [
"--useDefineForClassFields"
],
"description": "Emit ECMAScript-standard-compliant class fields"
},
{
"names": [
"--useUnknownInCatchVariables"
],
"description": "Default catch clause variables as unknown instead of any"
}
],
"args": [
{
"name": "tsc script"
}
]
}