{
  "compilerOptions": {
    "target": "es5", // 指定ECMAScript目标版本
    // 编译过程中需要映入的库文件列表
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true, // 允许编译JS文件
    "skipLibCheck": true, // 忽略所有的声明文件（*.d.ts）的类型检查
    // https://zhuanlan.zhihu.com/p/148081795
    "esModuleInterop": true,
    // 允许从没有设置默认导出的模块中默认导入。
    "allowSyntheticDefaultImports": true,
    // 启用所有严格类型检查选项
    "strict": true,
    // 禁止对同一个文件的不一致的引用
    "forceConsistentCasingInFileNames": true,
    // 报告switch语句的fallthrough错误。（即，不允许switch的case语句贯穿）
    "noFallthroughCasesInSwitch": true,
    // 指定生成哪个模块系统代码
    "module": "esnext",
    // 决定如何处理模块
    "moduleResolution": "node",
    // 解析json模块
    "resolveJsonModule": true,
    // 将每个文件作为单独的模块
    "isolatedModules": true,
    // 不生成输出文件。仅用tsc做类型检查时，当一些其他工具（webpack、rollup）负责编译你的代码时
    "noEmit": true,
    "jsx": "react-jsx",
    "outDir": "dist"
  },
  "include": ["src"]
}
