{
    "compilerOptions": {
        "target": "es2022",
        "module": "NodeNext",
        "lib": [
            "ES2022",
            "DOM" // We have to declare this so vitest doesn't explode
        ],
        "moduleResolution": "nodenext",
        "rootDir": ".",
        "outDir": "dist",
        "allowSyntheticDefaultImports": true,
        "importHelpers": true,
        "alwaysStrict": true,
        "sourceMap": true,
        "forceConsistentCasingInFileNames": true,
        "noFallthroughCasesInSwitch": true,
        "noImplicitReturns": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "noImplicitAny": false,
        "noImplicitThis": false,
        "strictNullChecks": true,
        "declaration": true,
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "esModuleInterop": true,
        "types": [
            "vitest/globals",
        ]
    },
    "include": [
        "./src/**/*.ts",
        "./scripts/**/*.ts"
    ],
    "exclude": [
        "./dist/**/*",
        "./**/*.ignore.ts"
    ],
}