{
"compilerOptions": {
// Environment setup & latest features
"lib": ["ESNext"],
"target": "ESNext",
"module": "Preserve",
"moduleDetection": "force",
"allowJs": true,
// Bundler mode
"moduleResolution": "bundler",
"customConditions": ["browser"],
"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
// @solidjs/babel-plugin (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"],
// Resolve the "ashlar" specifier straight to src so demo/ needs no
// package.json or node_modules of its own — nothing for `bun install`
// to clobber. Bun honors these paths at runtime too.
"paths": {
"ashlar": ["./src/index.ts"],
"ashlar/ui": ["./src/ui/index.ts"],
"ashlar/animation": ["./src/animation/index.ts"],
"ashlar/bun": ["./src/bun.ts"],
"ashlar/jsx-runtime": ["./jsx-runtime.d.ts"],
"ashlar/jsx-dev-runtime": ["./jsx-runtime.d.ts"]
}
},
"include": ["src", "scripts", "demo", "jsx-runtime.d.ts"]
}