feature/services-pages (#7)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful

Reviewed-on: #7
Co-authored-by: mifi <badmf@mifi.dev>
Co-committed-by: mifi <badmf@mifi.dev>
This commit was merged in pull request #7.
This commit is contained in:
2026-03-10 00:51:18 +00:00
committed by Mike Fitzpatrick
parent 66640fa535
commit 7012f0fdd2
98 changed files with 4119 additions and 1189 deletions

View File

@@ -34,10 +34,13 @@ This project uses **pnpm** as the package manager. After cloning, run `pnpm inst
| `pnpm test` | Run unit tests (Vitest) |
| `pnpm run test:e2e` | Run Playwright visual regression (e2e) |
| `pnpm run test:e2e:update-snapshots` | Regenerate e2e snapshots (in devcontainer = CI; see Visual regression) |
| `pnpm run test:ci` | Run same tests as CI: lint, lint:css, unit tests, e2e (used by pre-commit hook) |
| `pnpm run lint` | ESLint (JS/TS/Svelte) |
| `pnpm run lint:css` | Stylelint (global CSS + Svelte styles) |
| `pnpm run format` | Prettier (JS/TS/Svelte/CSS/JSON) |
A **pre-commit hook** (Husky) runs `pnpm run test:ci` so the same tests as CI run before each commit. Skip with `git commit --no-verify` if needed.
### Option 1: pnpm dev (recommended for editing)
From the project root:
@@ -88,7 +91,7 @@ E2e tests use Playwright and compare full-page screenshots to committed snapshot
**If youre not using the devcontainer:** run the **update-e2e-snapshots** workflow manually in Woodpecker (requires a `git_push_token` secret), or run `pnpm run test:e2e:update-snapshots` on a host with Docker.
Local `pnpm run test:e2e` on **macOS** uses the Darwin snapshot; the Linux snapshot is used in CI and in the devcontainer.
**Running e2e locally:** `pnpm run test:e2e` mirrors CI when Docker is available (runs tests in the same Playwright image). Without Docker (e.g. inside the devcontainer), it runs in the current environment. The config uses Linux snapshot paths so baselines stay consistent; run in Docker or devcontainer for matching rendering.
### Option 4: Docker (Production-like Test)
@@ -127,7 +130,7 @@ mifi-ventures-landing/
├── svelte.config.js # SvelteKit config (adapter-static)
├── vite.config.ts # Vite config
├── postcss.config.js # PostCSS (autoprefixer)
├── scripts/critters.mjs # Post-build critical CSS inlining
├── scripts/beasties.mjs # Post-build critical CSS inlining
├── static/ # Static assets (copied to dist as-is)
│ ├── favicon.svg, favicon.ico, robots.txt
│ ├── copyright-year.js # Minimal client script (footer year)