Phase 0 — docs/release/v0.2-frontend-overhaul.md as single source of truth for the v0.2 frontend coherence pass. Records hard rules, tooling pins, sacred-behaviour contract list, wrapper catalogue, per-page migration order, verification matrix, KI-05 plan, and the explicit "DO NOT add Skeleton" line. Phase 1 — tooling baseline. All exact-pinned per the plan: - @playwright/test@1.60.0 + playwright@1.60.0 + @axe-core/playwright@4.11.3 - rollup-plugin-visualizer@7.0.1 (wired behind ANALYZE=1) - @vitest/browser@4.1.6 + @vitest/browser-playwright@4.1.6 (provider) - vitest-browser-svelte@2.1.1 (runes-aware Svelte 5 bridge) - cargo-nextest installed globally New configs: playwright.config.ts (frontend-only, dev:frontend webServer, 900x700 + 1440x900 projects, visual baselines deferred), vitest.browser.config.js (separate from jsdom suite). New scripts: test:e2e, test:e2e:ui, test:browser, analyze, test:rust:fast, guard:no-skeleton. guard-no-skeleton.mjs walks package.json + package-lock + src/ for any @skeletonlabs reference and exits 1 if found — locks in the no-Skeleton hard rule for any future agent. Smoke baseline (tests/e2e/smoke.spec.ts): 16 tests passing across two viewports — app loads without Tauri runtime, keyboard nav, axe scan (color-contrast deferred to Phase 7 per docs/release/v0.1-contrast-audit.md), light/dark theme cycle, all three sensory zones (cave/energy/reset). 10 screenshots emitted to test-results/ as non-failing artefacts. Surfaced + fixed two browser-preview bugs while landing the baseline: - src/lib/utils/osInfo.ts: FALLBACK_BROWSER_INFO was evaluated at SSR module-load (navigator undefined → os: 'unknown'), and the UA check ran before navigator.platform — so Playwright's Windows-UA Chromium on a Linux runner detected as Windows, useCustomChrome went true, Titlebar mounted and tripped Tauri-only APIs. Now lazy-built per call; platform is the primary signal, UA only a fallback. - src/lib/components/Titlebar.svelte: defensive hasTauriRuntime() guard on every handler and the $effect. Titlebar should not crash if any future code path mounts it without Tauri. .gitignore: reports/, .playwright/, test-results/, playwright-report/. Per-phase gate green: npm run check (0/0), npm test (0/0), npm run test:e2e (16/16), npm run guard:no-skeleton (clean). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
58 lines
1.8 KiB
JSON
58 lines
1.8 KiB
JSON
{
|
|
"name": "lumotia",
|
|
"version": "0.1.0",
|
|
"description": "Lumotia — Think out loud",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "npm run dev:frontend",
|
|
"dev:frontend": "svelte-kit sync && vite dev",
|
|
"dev:tauri": "./run.sh",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
|
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:browser": "vitest --config vitest.browser.config.js --run",
|
|
"test:rust:fast": "cargo nextest run --workspace",
|
|
"analyze": "ANALYZE=1 vite build",
|
|
"guard:no-skeleton": "node scripts/guard-no-skeleton.mjs",
|
|
"tauri": "tauri"
|
|
},
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@chenglou/pretext": "0.0.5",
|
|
"@tauri-apps/api": "2.10.1",
|
|
"@tauri-apps/plugin-autostart": "^2.5.1",
|
|
"@tauri-apps/plugin-dialog": "^2.7.1",
|
|
"@tauri-apps/plugin-global-shortcut": "^2.3.1",
|
|
"@tauri-apps/plugin-notification": "^2.3.3",
|
|
"@tauri-apps/plugin-opener": "^2",
|
|
"lucide-svelte": "^0.577.0",
|
|
"svelte-i18n": "^4.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@axe-core/playwright": "4.11.3",
|
|
"@playwright/test": "1.60.0",
|
|
"@sveltejs/adapter-static": "3.0.10",
|
|
"@sveltejs/kit": "2.58.0",
|
|
"@sveltejs/vite-plugin-svelte": "5.1.1",
|
|
"@tailwindcss/vite": "4.2.1",
|
|
"@tauri-apps/cli": "2.10.1",
|
|
"@vitest/browser": "4.1.6",
|
|
"@vitest/browser-playwright": "4.1.6",
|
|
"jsdom": "29.1.1",
|
|
"playwright": "1.60.0",
|
|
"rollup-plugin-visualizer": "7.0.1",
|
|
"svelte": "5.53.12",
|
|
"svelte-check": "4.4.5",
|
|
"tailwindcss": "4.2.1",
|
|
"typescript": "5.6.3",
|
|
"vite": "6.4.2",
|
|
"vitest": "4.1.6",
|
|
"vitest-browser-svelte": "2.1.1"
|
|
}
|
|
}
|