/* Copyright(C) 2017-2026, HJD (https://github.com/hjdhjd). All rights reserved.
 *
 * tsconfig.json: Default TypeScript transpiler options for ESM Homebridge plugins.
 */
{
  "compilerOptions": {

    "allowImportingTsExtensions": true,
    "declaration": true,
    "declarationMap": true,
    "erasableSyntaxOnly": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "isolatedModules": true,

    "lib": [

      "DOM",
      "ES2024",
      "ESNext.Array",
      "ESNext.Collection",
      "ESNext.Disposable",
      "ESNext.Iterator",
      "ESNext.Promise"
    ],

    "module": "nodenext",
    "noFallthroughCasesInSwitch": true,
    "noImplicitOverride": true,
    "noImplicitReturns": true,
    "noPropertyAccessFromIndexSignature": true,
    "noUncheckedIndexedAccess": true,
    "noUncheckedSideEffectImports": true,
    "resolveJsonModule": true,
    "rewriteRelativeImportExtensions": true,
    "skipLibCheck": true,
    "sourceMap": true,
    "strict": true,
    "target": "ES2024",
    "verbatimModuleSyntax": true
  }
}
/* When creating your own tsconfig.json, use the following as a starting point to inherit these defaults:
 *
 * {
 *   "compilerOptions": {
 *
 *     "outDir": "dist",
 *     "rootDir": "src"
 *   },
 *
 *   "extends": "./build/tsconfig.json",
 *
 *   "include": [
 *
 *     "build",
 *     "eslint.config.mjs",
 *     "src",
 *     "ui"
 *   ]
 * }
 */
