{
  // https://www.totaltypescript.com/tsconfig-cheat-sheet
  "compilerOptions": {
    /* Base options: */
    "esModuleInterop": true,
    "skipLibCheck": true,
    "target": "es2022",
    "allowJs": true,
    "resolveJsonModule": true,
    "moduleDetection": "force",
    "isolatedModules": true,
    "verbatimModuleSyntax": true,
    /* Strictness */
    "strict": true,
    // TODO: enable noUncheckedIndexedAccess
    // "noUncheckedIndexedAccess": true,
    "forceConsistentCasingInFileNames": true,
    "noImplicitOverride": true,
    /* If NOT transpiling with TypeScript: */
    "module": "preserve",
    "noEmit": true,
    /* If your code runs in the DOM: */
    "lib": [
      "es2022",
      "dom",
      "dom.iterable"
    ],
    "paths": {
      "#app": [
        "./packages/nuxt/src/app/index"
      ],
      "#app/*": [
        "./packages/nuxt/src/app/*"
      ],
      "#internal/nitro": [
        "./node_modules/nitropack/dist/runtime"
      ],
      "#internal/nitro/app": [
        "./node_modules/nitropack/dist/runtime/app"
      ],
      "#internal/nitro/utils": [
        "./node_modules/nitropack/dist/runtime/utils"
      ],
      "#vue-router": [
        "./node_modules/vue-router"
      ]
    }
  },
  "exclude": [
    "**/dist/**",
    "**/.nuxt/**",
    "**/nuxt.d.ts",
    "**/examples/**",
    "**/docs/**",
    "**/playground/**",
    "**/test/nuxt/**",
    "**/test/fixtures/**",
    "**/test/fixtures-temp/**"
  ]
}