{
  "compilerOptions": {
    /* Visit https://aka.ms/tsconfig.json to read more about this file */
    /* 基础选项 */
    "module": "commonjs", /* 使用 CommonJS 模块机制 */
    "target": "es2017", /* 特定ECMAScript目标版本:“es3”(默认)，“es5”，“es15”，“es2016”，“es2017”，“es2019”，“es2020”，或“esnext”. */
    "lib": [
      "es2015",
      "es2016",
      "esnext.asynciterable"
    ], /* 指定要包含在编译中的库文件. */
    "noImplicitAny": true, //在表达式和声明上有隐含的'any'类型时报错。
    "noImplicitThis": true,
    "inlineSourceMap": true, /* 在生成的JavaScript中包含sourcemap文件。 */
    "newLine": "lf", // 统一跨平台下编译文件的换行符
    "rootDirs": [
      "."
    ], //仅用来控制输出的目录结构--outDir。
    "outDir": "./lib", /* 编译后的代码输出目录 */
    "strict": false, /* 启动严格模式 */
    /* 模块解析选项 */
    "moduleResolution": "node", /* 这是一个 Node.js 项目 */
    "esModuleInterop": true, /* 通过为所有导入创建名称空间对象，实现CommonJS和ES模块之间的互操作性。意味着“allowSyntheticDefaultImports”. */
    /* 实验选项 */
    "experimentalDecorators": true, /* 启用对ES7装饰器的实验性支持. */
    "emitDecoratorMetadata": true, /*为decorator的发射类型元数据提供实验性支持. */
    /* 高级选项 */
    "skipLibCheck": true, /* 跳过声明文件的类型检查. */
    "forceConsistentCasingInFileNames": true, /* 禁止对同一文件的引用大小写不一致. */
    "resolveJsonModule": true, /* 启用.json文件导入 */
    "strictNullChecks": false, /* 在进行类型检查时，要考虑null和undefined. */
    "watch": false, //在监视模式下运行编译器。会监视输出文件，在它们改变时重新编译。
  },
  "include": [
    "./**/*.ts"
  ],
  "exclude": [
    "./template/**/*.*",
    "./lib/**/*.*"
  ]
}