Using the CLI
Running tsc
locally will compile the closest project defined by a tsconfig.json
, or you can compile a set of TypeScript
files by passing in a glob of files you want. When input files are specified on the command line, tsconfig.json
files are
ignored.
sh
# Run a compile based on a backwards look through the fs for a tsconfig.jsontsc# Emit JS for just the index.ts with the compiler defaultstsc index.ts# Emit JS for any .ts files in the folder src, with the default settingstsc src/*.ts# Emit files referenced in with the compiler settings from tsconfig.production.jsontsc --project tsconfig.production.json# Emit d.ts files for a js file with showing compiler options which are booleanstsc index.js --declaration --emitDeclarationOnly# Emit a single .js file from two files via compiler options which take string argumentstsc app.ts util.ts --target esnext --outfile index.js
Compiler Options
If you’re looking for more information about the compiler options in a tsconfig, check out the TSConfig Reference
CLI Commands
Flag | Type | |
---|---|---|
--all |
|
|
Show all compiler options. | ||
--help |
|
|
Gives local information for help on the CLI. | ||
--init |
|
|
Initializes a TypeScript project and creates a tsconfig.json file. | ||
--listFilesOnly |
|
|
Print names of files that are part of the compilation and then stop processing. | ||
--locale |
|
|
Set the language of the messaging from TypeScript. This does not affect emit. | ||
--project |
|
|
Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'. | ||
--showConfig |
|
|
Print the final configuration instead of building. | ||
--version |
|
|
Print the compiler's version. |
Build Options
Flag | Type | |
---|---|---|
--build |
|
|
Build one or more projects and their dependencies, if out of date | ||
--clean |
|
|
Delete the outputs of all projects. | ||
--dry |
|
|
Show what would be built (or deleted, if specified with '--clean') | ||
--force |
|
|
Build all projects, including those that appear to be up to date. | ||
--verbose |
|
|
Enable verbose logging. |
Watch Options
Flag | Type | |
---|---|---|
--excludeDirectories |
|
|
Remove a list of directories from the watch process. | ||
--excludeFiles |
|
|
Remove a list of files from the watch mode's processing. | ||
--fallbackPolling |
|
|
Specify what approach the watcher should use if the system runs out of native file watchers. | ||
--synchronousWatchDirectory |
|
|
Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively. | ||
--watch |
|
|
Watch input files. | ||
--watchDirectory |
|
|
Specify how directories are watched on systems that lack recursive file-watching functionality. | ||
--watchFile |
|
|
Specify how the TypeScript watch mode works. |
Compiler Flags
Flag | Type | Default |
---|---|---|
--allowArbitraryExtensions |
|
|
Enable importing files with any extension, provided a declaration file is present. | ||
--allowImportingTsExtensions |
|
|
Allow imports to include TypeScript file extensions. | ||
--allowJs |
|
|
允许你的程序包含 JS 文件。使用 checkJS 来检查在这些文件中的错误。 | ||
--allowSyntheticDefaultImports |
|
|
当模块没有默认导入时,允许 'import x from y' | ||
--allowUmdGlobalAccess |
|
|
假设 UMD 的导入是全局可用的 | ||
--allowUnreachableCode |
|
|
Disable error reporting for unreachable code. | ||
--allowUnusedLabels |
|
|
Disable error reporting for unused labels. | ||
--alwaysStrict |
|
|
Ensure 'use strict' is always emitted. | ||
--assumeChangesOnlyAffectDirectDependencies |
|
|
Have recompiles in projects that use | ||
--baseUrl |
|
|
为相对路径的模块名设置基准目录 | ||
--charset |
|
|
No longer supported. In early versions, manually set the text encoding for reading files. | ||
--checkJs |
|
|
在经过类型检查的 JavaScript 中报告错误。 | ||
--composite |
|
|
启用约束以使工程可以引用其他工程来用于构建。 | ||
--customConditions |
|
|
Conditions to set in addition to the resolver-specific defaults when resolving imports. | ||
--declaration |
|
|
为你工程中的 TypeScript 以及 JavaScript 文件生成 .d.ts 文件。 | ||
--declarationDir |
|
|
Specify the output directory for generated declaration files. | ||
--declarationMap |
|
|
Create sourcemaps for d.ts files. | ||
--diagnostics |
|
|
Output compiler performance information after building. | ||
--disableReferencedProjectLoad |
|
|
Reduce the number of projects loaded automatically by TypeScript. | ||
--disableSizeLimit |
|
|
Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server. | ||
--disableSolutionSearching |
|
|
Opt a project out of multi-project reference checking when editing. | ||
--disableSourceOfProjectReferenceRedirect |
|
|
Disable preferring source files instead of declaration files when referencing composite projects. | ||
--downlevelIteration |
|
|
为迭代器对象生成更符合要求但更复杂的 JavaScript。 | ||
--emitBOM |
|
|
Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. | ||
--emitDeclarationOnly |
|
|
Only output d.ts files and not JavaScript files. | ||
--emitDecoratorMetadata |
|
|
Emit design-type metadata for decorated declarations in source files. | ||
--esModuleInterop |
|
|
为了便于支持导入 commonjs 模块生成额外的 JS | ||
--exactOptionalPropertyTypes |
|
|
Interpret optional property types as written, rather than adding | ||
--experimentalDecorators |
|
|
Enable experimental support for TC39 stage 2 draft decorators. | ||
--explainFiles |
|
|
Print files read during the compilation including why it was included. | ||
--extendedDiagnostics |
|
|
Output more detailed compiler performance information after building. | ||
--forceConsistentCasingInFileNames |
|
|
Ensure that casing is correct in imports. | ||
--generateCpuProfile |
|
|
Emit a v8 CPU profile of the compiler run for debugging. | ||
--generateTrace |
|
|
Generates an event trace and a list of types. | ||
--importHelpers |
|
|
允许每个项目从 tslib 中导入一次辅助函数,而不是在每个文件中都包含他们。 | ||
--importsNotUsedAsValues |
|
|
Specify emit/checking behavior for imports that are only used for types. | ||
--incremental |
|
|
为支持增量编译工程,保存 .tsbuildinfo 文件 | ||
--inlineSourceMap |
|
|
Include sourcemap files inside the emitted JavaScript. | ||
--inlineSources |
|
|
Include source code in the sourcemaps inside the emitted JavaScript. | ||
--isolatedDeclarations |
|
|
Require sufficient annotation on exports so other tools can trivially generate declaration files. | ||
--isolatedModules |
|
|
确保每个文件都可以不依赖于其他导入而被安全转译。 | ||
--jsx |
|
|
JSX 代码生成 | ||
--jsxFactory |
|
|
Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. | ||
--jsxFragmentFactory |
|
|
Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. | ||
--jsxImportSource |
|
|
Specify module specifier used to import the JSX factory functions when using | ||
--keyofStringsOnly |
|
|
Make keyof only return strings instead of string, numbers or symbols. Legacy option. | ||
--lib |
|
|
描述目标运行时环境的声明文件列表。 | ||
--listEmittedFiles |
|
|
Print the names of emitted files after a compilation. | ||
--listFiles |
|
|
Print all of the files read during the compilation. | ||
--mapRoot |
|
|
Specify the location where debugger should locate map files instead of generated locations. | ||
--maxNodeModuleJsDepth |
|
|
Specify the maximum folder depth used for checking JavaScript files from | ||
--module |
|
|
模块代码生成。 | ||
--moduleDetection |
|
"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules. |
Specify what method is used to detect whether a file is a script or a module. | ||
--moduleResolution |
|
|
允许 TypeScript 1.6 的模块解析策略 | ||
--moduleSuffixes |
|
|
List of file name suffixes to search when resolving a module. | ||
--newLine |
|
|
Set the newline character for emitting files. | ||
--noCheck |
|
|
Disable full type checking (only critical parse and emit errors will be reported). | ||
--noEmit |
|
|
不在编译中生产文件。 | ||
--noEmitHelpers |
|
|
Disable generating custom helper functions like | ||
--noEmitOnError |
|
|
Disable emitting files if any type checking errors are reported. | ||
--noErrorTruncation |
|
|
Disable truncating types in error messages. | ||
--noFallthroughCasesInSwitch |
|
|
Enable error reporting for fallthrough cases in switch statements. | ||
--noImplicitAny |
|
|
Enable error reporting for expressions and declarations with an implied | ||
--noImplicitOverride |
|
|
Ensure overriding members in derived classes are marked with an override modifier. | ||
--noImplicitReturns |
|
|
Enable error reporting for codepaths that do not explicitly return in a function. | ||
--noImplicitThis |
|
|
Enable error reporting when | ||
--noImplicitUseStrict |
|
|
Disable adding 'use strict' directives in emitted JavaScript files. | ||
--noLib |
|
|
Disable including any library files, including the default lib.d.ts. | ||
--noPropertyAccessFromIndexSignature |
|
|
Enforces using indexed accessors for keys declared using an indexed type. | ||
--noResolve |
|
|
Disallow | ||
--noStrictGenericChecks |
|
|
Disable strict checking of generic signatures in function types. | ||
--noUncheckedIndexedAccess |
|
|
Add | ||
--noUncheckedSideEffectImports |
|
|
Check side effect imports. | ||
--noUnusedLocals |
|
|
Enable error reporting when local variables aren't read. | ||
--noUnusedParameters |
|
|
Raise an error when a function parameter isn't read. | ||
--out |
|
|
Deprecated setting. Use | ||
--outDir |
|
|
为所有生成的文件设置一个输出目录。 | ||
--outFile |
|
|
将所有输出打包到一个 .js 文件中。如果 | ||
--paths |
|
|
一组用于寻找模块导入的路径 | ||
--plugins |
|
|
要包含的语言服务插件列表 | ||
--preserveConstEnums |
|
|
Disable erasing | ||
--preserveSymlinks |
|
|
不解析符号链接路径 | ||
--preserveValueImports |
|
|
Preserve unused imported values in the JavaScript output that would otherwise be removed. | ||
--preserveWatchOutput |
|
|
Disable wiping the console in watch mode. | ||
--pretty |
|
|
Enable color and formatting in TypeScript's output to make compiler errors easier to read. | ||
--reactNamespace |
|
|
Specify the object invoked for | ||
--removeComments |
|
|
不生成注释。 | ||
--resolveJsonModule |
|
|
Enable importing .json files. | ||
--resolvePackageJsonExports |
|
|
Use the package.json 'exports' field when resolving package imports. | ||
--resolvePackageJsonImports |
|
|
Use the package.json 'imports' field when resolving imports. | ||
--rootDir |
|
Computed from the list of input files. |
设置你源码的根目录。 | ||
--rootDirs |
|
Computed from the list of input files. |
设置多个根目录 | ||
--skipDefaultLibCheck |
|
|
Skip type checking .d.ts files that are included with TypeScript. | ||
--skipLibCheck |
|
|
Skip type checking all .d.ts files. | ||
--sourceMap |
|
|
为生成的 JavaScript 文件生成 source map 文件。 | ||
--sourceRoot |
|
|
Specify the root path for debuggers to find the reference source code. | ||
--stopBuildOnErrors |
|
|
Skip building downstream projects on error in upstream project. | ||
--strict |
|
|
Enable all strict type-checking options. | ||
--strictBindCallApply |
|
|
Check that the arguments for | ||
--strictBuiltinIteratorReturn |
|
|
Built-in iterators are instantiated with a TReturn type of undefined instead of any. | ||
--strictFunctionTypes |
|
|
When assigning functions, check to ensure parameters and the return values are subtype-compatible. | ||
--strictNullChecks |
|
|
When type checking, take into account | ||
--strictPropertyInitialization |
|
|
Check for class properties that are declared but not set in the constructor. | ||
--stripInternal |
|
|
Disable emitting declarations that have | ||
--suppressExcessPropertyErrors |
|
|
Disable reporting of excess property errors during the creation of object literals. | ||
--suppressImplicitAnyIndexErrors |
|
|
Suppress | ||
--target |
|
|
设置生成的 JavaScript 语言的版本,并且会包含兼容的库(环境)的定义。 | ||
--traceResolution |
|
|
Log paths used during the | ||
--tsBuildInfoFile |
|
|
为 .tsbuildinfo 增量编译信息指定目录。 | ||
--typeRoots |
|
|
TypeScript 应该去哪些路径寻找类型定义 | ||
--types |
|
|
用于创建一个允许包含在编译过程中的类型列表 | ||
--useDefineForClassFields |
|
|
Emit ECMAScript-standard-compliant class fields. | ||
--useUnknownInCatchVariables |
|
|
Default catch clause variables as | ||
--verbatimModuleSyntax |
|
|
Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. |
Related
- Every option is fully explained in the TSConfig Reference.
- Learn how to use a
tsconfig.json
file. - Learn how to work in an MSBuild project.