{
"compilerOptions": {
// Environment setup & latest features
"lib": ["ESNext"],
"target": "ESNext",
"module": "Preserve",
"moduleDetection": "force",
"allowJs": true,
// Bundler mode
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"noEmit": true,
// Best practices
"strict": true,
"skipLibCheck": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedIndexedAccess": true,
"noImplicitOverride": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
// JSX → universal Solid renderer. `preserve` leaves JSX for
// babel-preset-solid (universal) to lower; types resolve from this
// package's own jsx-runtime.d.ts via self-referencing exports.
"jsx": "preserve",
"jsxImportSource": "ashlar",
"types": ["bun-types"]
},
"include": ["src", "scripts", "demo", "jsx-runtime.d.ts"]
}