{
    "compilerOptions": {
        "allowUnreachableCode": false,
        "allowUnusedLabels": false,
        "alwaysStrict": true,
        "exactOptionalPropertyTypes": true,
        "noImplicitAny": true,
        "noImplicitOverride": true,
        "noImplicitReturns": true,
        "noImplicitThis": true,
        "noPropertyAccessFromIndexSignature": true,
        "noUncheckedIndexedAccess": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "strict": true,
        "strictBindCallApply": true,
        "strictFunctionTypes": true,
        "strictNullChecks": true,
        "strictPropertyInitialization": true,
        "useUnknownInCatchVariables": true,
        "outDir": "dist",
        "target": "ESNext",
        "module": "NodeNext",
        "moduleResolution": "NodeNext",
        "types": [
            "node"
        ],
        "esModuleInterop": true,
        "removeComments": true,
        "resolveJsonModule": true,
        "lib": [
            "ESNext",
            "DOM"
        ],
    },
    "include": [
        "src/**/*.ts",
        "config/*.json",
        "eslint.config.js"
    ],
    "exclude": [
        "node_modules",
        "dist",
    ]
}