+ {
+ "include": ["src/**/*"],
+ "compilerOptions": {
+ // Type Checking
+
+ "allowUnreachableCode": false,
+ "allowUnusedLabels": false,
+ // "alwaysStrict": true, // included in `strict`
+ "exactOptionalPropertyTypes": true,
+ "noFallthroughCasesInSwitch": true,
+ // "noImplicitAny": true, // included in `strict`
+ "noImplicitOverride": true,
+ "noImplicitReturns": true,
+ // "noImplicitThis": true, // included in `strict`
+ // "noPropertyAccessFromIndexSignature": true,
+ "noUncheckedIndexedAccess": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "strict": true,
+ // "strictBindCallApply": true, // included in `strict`
+ // "strictFunctionTypes": true, // included in `strict`
+ // "strictNullChecks": true, // included in `strict`
+ // "strictPropertyInitialization": true, // included in `strict`
+ // "useUnknownInCatchVariables": true, // included in `strict`
+
+ // Modules
+
+ "module": "nodenext",
+ "moduleResolution": "nodenext",
+ "resolveJsonModule": true,
+
+ // Emit
+
+ "declaration": true,
+ "declarationMap": true,
+ "newLine": "lf",
+ "noEmit": true, // use `tsup` or `esbuild` or `swc`, etc for emitting JS
+ "noEmitOnError": true,
+ "outDir": "dist",
+ "removeComments": true,
+ "sourceMap": true,
+
+ // Interop Constraints
+
+ "allowSyntheticDefaultImports": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+
+ // Language and Environment
+
+ // "emitDecoratorMetadata": true,
+ // "experimentalDecorators": true,
+ // "lib": ["DOM", "DOM.Iterable", "ES2020"],
+ "target": "es2020",
+ "useDefineForClassFields": true,
+
+ // Compiler Diagnostics
+
+ // "explainFiles": true,
+ // "extendedDiagnostics": true,
+ // "generateCpuProfile": true,
+ // "listEmittedFiles": true,
+ // "listFiles": true,
+ // "traceResolution": true,
+
+ // Completeness
+
+ "skipLibCheck": true
+ }
+ }