# tsconfig.json · versecafe/ashlar

[View on GitCafe](https://git.cafe/versecafe/ashlar/blob/refs%2Fheads%2Fchore%2Fsolid-2-rc1/tsconfig.json)

Repository: [versecafe/ashlar](https://git.cafe/versecafe/ashlar)

Visibility: public

Requested revision: refs/heads/chore/solid-2-rc1

Commit: 4eb4924784ef3fa01aabbd48124bf4dbe7398f2d

Blob: 734b36d51c3d1f5aec10d54291033326af342ed1

Size: 1407 bytes

[Immutable source](https://git.cafe/versecafe/ashlar/blob/4eb4924784ef3fa01aabbd48124bf4dbe7398f2d/tsconfig.json?format=markdown)

```
{
	"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"]
}

```
