{
  "$schema": "https://json.schemastore.org/tsconfig",
  "display": "Strictest",
  "compilerOptions": {
    "strict": true,
    "strictNullChecks": true,
    "allowUnusedLabels": false,
    "allowUnreachableCode": false,
    "exactOptionalPropertyTypes": true,
    "noFallthroughCasesInSwitch": true,
    "noImplicitOverride": true,
    "noImplicitReturns": true,
    "noPropertyAccessFromIndexSignature": true,
    "noUncheckedIndexedAccess": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,

    "isolatedModules": true,

    "allowJs": true,
    "checkJs": true,

    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,

    "lib": ["es2023"],
    "module": "esnext",
    "target": "es2022",
    "moduleResolution": "bundler",
    "moduleDetection": "force",
    "resolveJsonModule": true,
    "noEmit": true,
    "incremental": true,

    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "pretty": true,
    "preserveWatchOutput": true,

    "tsBuildInfoFile": "${configDir}/tsconfig.tsbuildinfo",
    "baseUrl": "${configDir}",
    "paths": {
      "@/*": ["${configDir}/src/*"]
    }
  },
  "include": [
    "${configDir}/**/*.ts",
    "${configDir}/**/*.tsx",
    "${configDir}/**/*.cts",
    "${configDir}/**/*.ctsx",
    "${configDir}/**/*.mts",
    "${configDir}/**/*.mtsx",
    "${configDir}/**/*.js",
    "${configDir}/**/*.jsx",
    "${configDir}/**/*.cjs",
    "${configDir}/**/*.cjsx",
    "${configDir}/**/*.mjs",
    "${configDir}/**/*.mjsx"
  ],
  "exclude": ["${configDir}/node_modules", "${configDir}/dist"]
}
