- React + Vite + Tailwind CSS v4 + React Router - Keypad component: 10-digit pad with dot indicators, keyboard support, haptic feel - Auth pages: Login (email → keypad), Signup (email → method → keypad/key) - Home page: session info, practice keypad - Admin dashboard: placeholder stats + user management - Developer dashboard: OIDC client registration UI placeholder - WASM client wrapper: lazy loads from /wasm/, falls back to mock client - TypeScript type declarations for nkode-client-wasm package - Dark mode with system preference detection - Auth state management with localStorage persistence + auto-expiry - Code splitting: lazy-loaded route pages (~236KB main bundle) - Inter font, clean indigo/slate design system
33 lines
797 B
JSON
33 lines
797 B
JSON
{
|
|
"compilerOptions": {
|
|
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
"target": "ES2022",
|
|
"useDefineForClassFields": true,
|
|
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
"module": "ESNext",
|
|
"types": ["vite/client"],
|
|
"skipLibCheck": true,
|
|
|
|
/* Bundler mode */
|
|
"moduleResolution": "bundler",
|
|
"allowImportingTsExtensions": true,
|
|
"verbatimModuleSyntax": true,
|
|
"moduleDetection": "force",
|
|
"noEmit": true,
|
|
"jsx": "react-jsx",
|
|
|
|
/* Linting */
|
|
"strict": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"erasableSyntaxOnly": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"noUncheckedSideEffectImports": true,
|
|
"baseUrl": ".",
|
|
"paths": {
|
|
"@/*": ["src/*"]
|
|
}
|
|
},
|
|
"include": ["src"]
|
|
}
|