- Vite 8 / React 19 / TS 6 strict (noUncheckedIndexedAccess, no baseUrl deprecation) - Tailwind 4 via @tailwindcss/vite (no PostCSS step) - TanStack Query 5, react-router-dom 7, Recharts, clsx - Vitest + Testing Library + jsdom for unit tests - Playwright skeleton + first smoke spec (login redirect) - ESLint flat config: typescript-eslint type-checked, react-hooks, react-refresh, prettier - Prettier config (semi, single quotes, 100-col, lf) - IBM Plex font @font-face declarations targeting /fonts/ (self-host, no CDN — OPSEC)
35 lines
852 B
JSON
35 lines
852 B
JSON
{
|
|
"compilerOptions": {
|
|
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
"target": "es2023",
|
|
"lib": ["ES2023", "DOM", "DOM.Iterable"],
|
|
"module": "esnext",
|
|
"types": ["vite/client"],
|
|
"skipLibCheck": true,
|
|
|
|
"moduleResolution": "bundler",
|
|
"allowImportingTsExtensions": true,
|
|
"verbatimModuleSyntax": true,
|
|
"moduleDetection": "force",
|
|
"noEmit": true,
|
|
"jsx": "react-jsx",
|
|
|
|
"strict": true,
|
|
"noImplicitAny": true,
|
|
"strictNullChecks": true,
|
|
"noImplicitReturns": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"noUncheckedIndexedAccess": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"erasableSyntaxOnly": true,
|
|
"isolatedModules": true,
|
|
"useDefineForClassFields": true,
|
|
|
|
"paths": {
|
|
"@/*": ["./src/*"]
|
|
}
|
|
},
|
|
"include": ["src"]
|
|
}
|