{
    "compilerOptions": {
        "strict": true,
        // project options
        "outDir": "dist",
        "allowJs": true,
        "checkJs": true,
        "target": "ES2024",
        "module": "node16",
        "lib": ["DOM", "DOM.Iterable", "DOM.AsyncIterable", "WebWorker", "ES2024"],
        "noEmit": false,
        "noEmitOnError": true,
        "emitDeclarationOnly": false,
        "declaration": true,
        "declarationMap": true,
        "incremental": true,
        "composite": true,
        "isolatedModules": true,
        "removeComments": false,
        "sourceMap": true,
        // module resolution
        "esModuleInterop": true,
        "moduleResolution": "Node16",
        // advanced
        "verbatimModuleSyntax": true,
        "forceConsistentCasingInFileNames": true,
        "skipLibCheck": true,
        "stripInternal": true,
        "resolveJsonModule": true,
        "rewriteRelativeImportExtensions": true,
        "allowImportingTsExtensions": true,

        "types": [
            "@types/mocha",
            "@types/node"
        ]
    },
    "include": [
        "src",
        "test"
    ]
}
