{
  "$schema": "https://json.schemastore.org/tsconfig",
  "display": "Base Configuration",
  "compilerOptions": {
    /* Base Options: */
    "esModuleInterop": true,
    "skipLibCheck": true,
    "target": "esnext",
    "lib": ["esnext"],
    "allowJs": true,
    "resolveJsonModule": true,
    "moduleDetection": "force",
    "isolatedModules": true,
    "verbatimModuleSyntax": false,

    /* Strictness */
    "strict": true,
    "noUncheckedIndexedAccess": true,
    "noImplicitOverride": true,

    /* Opinion */
    "incremental": true,
    "tsBuildInfoFile": "${configDir}/tsconfig.tsbuildinfo",
    "module": "preserve",
    "outDir": "${configDir}/dist",
    "baseUrl": "${configDir}",
    "rootDir": "${configDir}/src",
    "paths": {
      "~/*": ["./src/*"]
    }
  },
  "include": ["${configDir}/src", "${configDir}/src/**/*.json"],
  "exclude": ["${configDir}/node_modules", "${configDir}/dist"]
}
