Template
Replace the single-scroll showcase and its anchor/scrollIntoView navigation with real routes: /, /patterns, /components/*, /foundations/*, /docs/*, plus a 404 fallback. - src/app/routes.tsx is the route table and the only source for paths, section headings, sidebar entries, breadcrumbs and the rail, so navigation cannot drift from the pages that exist - src/pages/* holds one component per route; App.tsx is now the shell (topbar, sidebar, breadcrumbs, Switch, right rail, scroll-to-top) - the active pattern moves into the URL (/patterns?pattern=table) and the sidebar/palette deep-link into it; SearchPalette results now carry a path - Sidebar/RightRail render <Link> with aria-current; Hero and Topbar use route links too (ButtonLink keeps the button visual) - PATTERNS + PatternId move to src/data/patterns.ts (no non-component export in a component file), pattern buttons gain aria-pressed - tests/routing.test.tsx: registry/nav invariants, per-route rendering, sidebar navigation, pattern deep links, 404
35 lines
864 B
JSON
35 lines
864 B
JSON
{
|
|
"name": "design-system",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"lint": "oxlint",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"check": "oxlint && node scripts/check-tokens.mjs && npm run test && npm run build",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"lucide-react": "^1.45.0",
|
|
"react": "^19.2.8",
|
|
"react-dom": "^19.2.8",
|
|
"wouter": "^3.11.0"
|
|
},
|
|
"devDependencies": {
|
|
"@testing-library/jest-dom": "^7.0.1",
|
|
"@testing-library/react": "^16.3.3",
|
|
"@types/node": "^24.13.3",
|
|
"@types/react": "^19.2.18",
|
|
"@types/react-dom": "^19.2.7",
|
|
"@vitejs/plugin-react": "^6.1.1",
|
|
"jsdom": "^30.0.1",
|
|
"oxlint": "^1.81.0",
|
|
"typescript": "~6.0.2",
|
|
"vite": "^8.3.0",
|
|
"vitest": "^5.0.0"
|
|
}
|
|
}
|