This commit is contained in:
Ilia Denisov
2026-05-07 07:18:55 +02:00
parent 7af57933eb
commit 7cc18159e9
20 changed files with 2090 additions and 12 deletions
+22 -12
View File
@@ -241,12 +241,12 @@ live in per-phase topic docs under `ui/docs/`.
---
## Phase 1. Workspace Skeleton
## ~~Phase 1. Workspace Skeleton~~
Status: pending.
Status: done.
Goal: bring up the `ui/` workspace with a runnable empty Svelte+Vite
frontend and architectural anchors.
Goal: bring up the `ui/` workspace with a runnable empty
SvelteKit + Vite frontend and architectural anchors.
Artifacts:
@@ -254,10 +254,19 @@ Artifacts:
- `ui/Makefile` with placeholder targets for every build type (`web`,
`wasm`, `gomobile`, `desktop-{mac,win,linux}`, `ios`, `android`,
`all`)
- `ui/frontend/` Svelte 5 + Vite + TypeScript project scaffolded with
`pnpm create vite`
- `ui/frontend/src/routes/` minimal landing page rendering the app
version string in the page footer
- `ui/pnpm-workspace.yaml` declaring the single-package pnpm workspace
- `ui/frontend/` Svelte 5 + SvelteKit + Vite + TypeScript project
(the SvelteKit scaffold provides `+layout.svelte`, `+page.svelte`,
`static/`, and the file-system router used by later phases)
- `ui/frontend/src/routes/+page.svelte` minimal landing page
rendering the app version string in the page footer; the version
is read at build time by Vite `define` from
`ui/frontend/package.json`
- `ui/frontend/{vitest.config.ts, tests/}` minimum Vitest harness
needed to run the smoke test below (`vitest`, `jsdom`,
`@testing-library/svelte`); the rest of the test toolchain
(Playwright, `@testing-library/jest-dom`, CI workflows) lands in
Phase 2
- `ui/.gitignore` covering `node_modules`, `dist`, `*.wasm`, build
outputs for Wails and Capacitor, Playwright artefacts
- `ui/docs/` empty directory ready for per-phase topic docs
@@ -287,10 +296,11 @@ depends on, including Tier 1 (per-PR) and Tier 2 (release) targets.
Artifacts:
- `ui/frontend/package.json` dev-dependencies: `vitest`,
`@testing-library/svelte`, `@testing-library/jest-dom`, `jsdom`,
`playwright`, `@playwright/test`
- `ui/frontend/vitest.config.ts` configured for Svelte + JSDOM
- `ui/frontend/package.json` dev-dependencies (added on top of the
Phase 1 minimum of `vitest`, `jsdom`, `@testing-library/svelte`):
`@testing-library/jest-dom`, `playwright`, `@playwright/test`
- `ui/frontend/vitest.config.ts` extended for `@testing-library/jest-dom`
matchers (the JSDOM environment itself is wired in Phase 1)
- `ui/frontend/playwright.config.ts` with three projects:
`chromium-desktop`, `webkit-desktop`, `chromium-mobile-iphone-13`,
`chromium-mobile-pixel-5`; tracing and screenshots enabled on failure