- 属于自用的 TypeScript 配置文件,基于 @eggjs/tsconfig,如需最新版本,请前往@eggjs/tsconfig
Fork @eggjs/tsconfig
npm i --save-dev @mznjs/tsconfig
pnpm add @mznjs/tsconfig -D
yarn add @mznjs/tsconfig -D
// tsconfig.json
{
"extends": "@mznjs/tsconfig/tsconfig.json",
// "extends": "@mznjs/tsconfig",
// custom config
"compilerOptions": {
}
}
{
// 当文件保存时自动编译
"compileOnSave": true,
// 编译器选项
"compilerOptions": {
// 目标JavaScript版本
"target": "ES2020",
// 模块系统类型
"module": "commonjs",
// 开启严格模式
"strict": true,
// 不强制要求 'any' 类型的表达式和声明,因为许多npm包没有自己的定义
"noImplicitAny": false,
// 为运行时babel生态系统兼容性生成 '__importStar' 和 '__importDefault' 帮助函数,并启用 '--allowSyntheticDefaultImports' 以支持类型系统兼容性
"esModuleInterop": true,
// 允许编译JavaScript文件
"allowJs": false,
// 输出美化
"pretty": true,
// 不因错误而阻止编译
"noEmitOnError": false,
// 检查未使用的局部变量
"noUnusedLocals": true,
// 检查未使用的参数
"noUnusedParameters": true,
// 不允许无法到达的代码
"allowUnreachableCode": false,
// 不允许未使用的标签
"allowUnusedLabels": false,
// 确保非未定义的类属性在构造函数中初始化
"strictPropertyInitialization": false,
// 不允许switch语句中无break的情况
"noFallthroughCasesInSwitch": true,
// 跳过对库文件的类型检查
"skipLibCheck": true,
// 跳过对默认库文件的类型检查
"skipDefaultLibCheck": true,
// 内联源映射
"inlineSourceMap": true,
// 生成声明文件
"declaration": true,
// 允许导入JSON模块
"resolveJsonModule": true,
// 开启ES7装饰器的实验性支持
"experimentalDecorators": true,
// 为装饰器生成元数据
"emitDecoratorMetadata": true,
// 在catch块中使用未知类型
"useUnknownInCatchVariables": true,
// 关闭增量编译,每次编译都是全量编译
"incremental": false
}
}