{
"compilerOptions": {
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "bundler",
"lib": ["ESNext", "DOM", "DOM.Iterable"],
"jsx": "preserve",
"jsxImportSource": "@solidjs/web",
"strict": true,
// Off deliberately. The unsafe lookups this was meant to catch were the
// state-keyed tables, and those are now closed by `StateName` being a
// literal union. What is left is fixed-size geometry — 48-point rings,
// four-corner radius tuples, the shape and expression catalogues — where
// the flag would only add fallbacks to invariants held by construction,
// inside the per-point loops that run sixty times a second.
"noUncheckedIndexedAccess": false,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"exactOptionalPropertyTypes": false,
"allowImportingTsExtensions": true,
"rewriteRelativeImportExtensions": true,
"verbatimModuleSyntax": true,
"isolatedModules": true,
"noEmit": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"types": ["vite/client", "bun"]
},
"include": ["src", "vite.config.ts", "biome.json"],
"exclude": ["node_modules", "dist"]
}