-
Notifications
You must be signed in to change notification settings - Fork 0
/
tsconfig.base.json
113 lines (105 loc) · 11 KB
/
tsconfig.base.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
{
"compilerOptions": {
/* Visit https://aka.ms/tsconfig to read more about this file */
/* 项目 */
// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
// "composite": true, /* 启用约束,允许TypeScript项目与项目引用一起使用。 */
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
/* 语言和环境 */
"target": "es2015" /* 为生成的 JavaScript 设置 JavaScript 语言版本并包含兼容的库声明。 */,
"lib": [
"DOM",
"DOM.Iterable",
"es6"
] /* 指定一组描述目标运行时环境的捆绑库声明文件。 */,
// "jsx": "react" /* 指定生成什么样的 JSX 代码。 */,
// "experimentalDecorators": true, /* 启用对 TC39 阶段 2 草案 ES6装饰器 的实验性支持。 */
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
// "jsxFactory": "React.createElement" /* 指定在以 React JSX emit 为目标时使用的 JSX 工厂函数,例如 'React.createElement' 或 '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 'jsx: react-jsx*'. */
// "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
// "noLib": true, /* 禁用包括任何库文件,包括默认的 lib.d.ts。 */
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
// "moduleDetection": "auto", /* 控制使用什么方法检测模块格式的JS文件。 */
/* 模块 */
"module": "ESNext" /* Specify what module code is generated. */,
// "rootDir": "./", /* 在源文件中指定根文件夹. */
"moduleResolution": "node" /* Specify how TypeScript looks up a file from a given module specifier. */,
"baseUrl": "./" /* Specify the base directory to resolve non-relative module names. */,
// "paths": {
// "@common/*": ["src/common/*"]
// } /* 指定一组将导入重新映射到其他查找位置的条目。和webpack中resolve.alias配置一样 */,
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
"typeRoots": [
"./typings",
"./node_modules/@types"
] /* 指定多个文件夹,类似于'./node_modules/@types'。 */,
// "types": [], /* 指定要包含的类型包名,而不需要在源文件中引用。 */
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
// "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
"resolveJsonModule": true /* Enable importing .json files. */,
// "noResolve": true, /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */
/* JavaScript 支持 */
"allowJs": false /* 允许JavaScript文件成为程序的一部分。使用'checkJS'选项从这些文件中获取错误。 */,
"checkJs": false /* 在类型检查的JavaScript文件中启用错误报告。 */,
// "maxNodeModuleJsDepth": 1, /* 指定用于从'node_modules'检查JavaScript文件的最大文件夹深度。只适用于'allowJs'。 */
/* 输出 */
"declaration": true /* 为你项目中的 TypeScript 和 JavaScript 文件生成 .d.ts 文件。 */,
// "declarationMap": true, /* Create sourcemaps for d.ts files. */
// "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
"sourceMap": true /* 为输出的JavaScript文件创建源映射文件。 */,
// "outFile": "./", /* 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. */
// "outDir": "./dist" /* 为所有输出/生成的文件指定一个输出文件夹。 */,
// "removeComments": true, /* 禁止输出注释 */
// "noEmit": false /* 禁止从编译中生成文件。 表示只做类型检查,而不会输出产物文件 */,
// "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
// "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */
// "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
// "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
// "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
// "newLine": "crlf", /* Set the newline character for emitting files. */
// "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
// "noEmitHelpers": true, /* 禁止在编译输出中生成自定义辅助函数,如“__extends”。 */
// "noEmitOnError": true, /* 当报告任何类型检查错误,则禁用生成文件。 */
// "preserveConstEnums": true, /* 禁用删除生成代码中的“const enum”声明。 */
// "declarationDir": "./dist/types" /* 指定生成的声明文件的输出目录。 */,
// "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */
/* Interop Constraints */
// "isolatedModules": true /* 确保每个文件都可以安全地转译,而不依赖于其他导入。 */,
"allowSyntheticDefaultImports": true /* 当模块没有默认导出时,允许'import x from y' */,
// "esModuleInterop": false /* 生成额外的 JavaScript 以简化对 importing CommonJS 模块的支持。 这会启用“allowSyntheticDefaultImports”以实现类型兼容性。 */,
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
/* 类型检查 */
"strict": true /* 启用所有严格的类型检查选项。 */,
// "noImplicitAny": true, /* 为隐含的'any'类型的表达式和声明启用错误报告。 */
// "strictNullChecks": true, /* 在类型检查时,要考虑“null”和“undefined”。 */
// "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
// "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
// "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
// "noImplicitThis": true, /* 当“this”的类型为“any”时启用错误报告. */
// "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
// "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
// "noUnusedLocals": true, /* 在局部变量未被读取时启用错误报告。 */
// "noUnusedParameters": true, /* 未读取函数形参时引发错误。 */
// "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
// "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
// "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
// "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
// "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
// "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
// "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
/* Completeness */
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
"skipLibCheck": true /* 所有 .d.ts 文件 跳过检查 */
},
"exclude": ["node_modules", "dist", "__tests__"]
}