@ctrliq/quantic-tsconfig
v1.9.0
Published
Shared TypeScript base configs for Quantic design system consumers
Readme
@ctrliq/quantic-tsconfig
Shared TypeScript base configs for Quantic design system consumers.
Requirements
- TypeScript
>=5.0
Install
pnpm add -D @ctrliq/quantic-tsconfig typescriptUsage
Pick the config that matches your project type:
Node / library
// tsconfig.json
{
"extends": "@ctrliq/quantic-tsconfig/base",
"include": ["src"]
}Vite + React app
Requires vite in the consuming project (the preset references vite/client types).
// tsconfig.json
{
"extends": "@ctrliq/quantic-tsconfig/react-app",
"include": ["src", "vite.config.ts"]
}Next.js app
Requires next in the consuming project (the preset enables the next TypeScript plugin).
// tsconfig.json
{
"extends": "@ctrliq/quantic-tsconfig/next-app",
"include": ["src", "next.config.ts"]
}Astro site
Requires astro in the consuming project (the preset extends Astro's own strict
config, which carries the include for generated .astro/types.d.ts and the ESNext
target Astro needs).
// tsconfig.json
{
"extends": "@ctrliq/quantic-tsconfig/astro"
}Unlike the other presets this one does not extend base. Astro ships a tsconfig that
already sets module, resolution, and JSX correctly for .astro files, so the Quantic
strictness rules are layered on top of that instead of overriding it.
What's included
| Config | Target | Notable settings |
|--------|--------|-----------------|
| base | ES2023 | strict, noUnusedLocals, noUnusedParameters, verbatimModuleSyntax, bundler resolution |
| react-app | inherits base | DOM libs, react-jsx, allowImportingTsExtensions, noEmit |
| next-app | inherits base | DOM libs, jsx: preserve, Next.js plugin, noEmit |
| astro | inherits astro/tsconfigs/strict | Quantic strictness on top of Astro's own preset |
All configs use moduleResolution: bundler, which requires a bundler (Vite, Next.js, etc.) and TypeScript >=5.0.
