{
  "compilerOptions": {
    // 基本配置
    "target": "ES5", // 编译成哪个版本的 es
    "module": "ESNext", // 指定生成哪个模块系统代码
    "lib": ["dom", "dom.iterable", "esnext"], // 编译过程中需要引入的库文件的列表
    "allowJs": true, // 允许编译 js 文件
    "jsx": "react", // 在 .tsx 文件里支持 JSX
    "isolatedModules": true, // 提供额外的一些语法检查，如文件没有模块导出会报错
    "strict": false, // 启用所有严格类型检查选项

    // 模块解析选项
    "moduleResolution": "node", // 指定模块解析策略
    "esModuleInterop": true, // 支持 CommonJS 和 ES 模块之间的互操作性
    "resolveJsonModule": true, // 支持导入 json 模块
    "baseUrl": "./", // 根路径
    "paths": {
      "@packages": ["packages"], // 如果要使用index.tsx的，需要配置这个
      "@packages/*": ["packages/*"], // 要使用别名下的模块的，配置这个。
    },

    // 实验性选项
    "experimentalDecorators": true, // 启用实验性的ES装饰器
    "emitDecoratorMetadata": true, // 给源码里的装饰器声明加上设计类型元数据

    // 其他选项
    "forceConsistentCasingInFileNames": true, // 禁止对同一个文件的不一致的引用
    "skipLibCheck": true, // 忽略所有的声明文件（ *.d.ts）的类型检查
    "allowSyntheticDefaultImports": true, // 允许从没有设置默认导出的模块中默认导入
    "noEmit": false, // 不生成输出文件

    "suppressImplicitAnyIndexErrors": true
  },
  "include": ["./packages/**/*", "./src/**/*", "./typings/**/*"],
  "exclude": [
    "node_modules",
    "lib",
    "es",
    "dist",
    "**/__test__",
    "test",
    "docs",
    "tests"
  ]
}
