Commit Graph
3 Commits
Author SHA1 Message Date
John O'Keefe 577c7d0d5b chore(frontend): Svelte 5 / Vite 8 / Tailwind CSS 4 dependency set
Move the toolchain to Svelte 5.57, Vite 8.3, vite-plugin-svelte 7.3,
svelte-check 4.7.6, svelte-spa-router 5.1.1, Tailwind 4.3 (plus the
new @tailwindcss/vite plugin), flowbite-svelte 1.33 and flowbite
4.0.2.

Dropped outright: svelte-preprocess (only ever handled lang="ts",
which the vite plugin does natively), svelte-headless-table (peers
svelte ^4, dead end - the one table gets rewritten dependency-free),
postcss/autoprefixer (v4 handles transforms internally) and the
vanilla flowbite.js script tag (no data-* usage anywhere; the Svelte
components are self-contained).

Deliberately pinned, not upgraded: typescript stays 5.9
(svelte-check peers ^5||^6, and 7.x is the native-port rewrite) and
@wailsio/runtime stays 3.0.0-beta.20 (must match the Go framework and
CLI exactly - it moves in lockstep with them, never alone).

Fresh lockfile, zero npm vulnerabilities (was ten).
2026-09-16 13:58:47 -04:00
John O'Keefe 0642163844 chore(wailsv3): migrate frontend to v3 bindings and runtime
Regenerated bindings with wails3 generate bindings (1 service, 29 methods, 25 models) into frontend/bindings/AniTrack as TypeScript; output verified byte-deterministic across regens, so it is committed like wailsjs was.

- 10 Svelte files: wailsjs/go/main/App imports -> import {App} from bindings/AniTrack with App.* call prefixes. No logic or markup changes.
- WebsiteLink.svelte: BrowserOpenURL -> Browser.OpenURL from @wailsio/runtime.
- AvatarMenu.svelte: runtime.Quit -> Application.Quit from @wailsio/runtime.
- package.json: add @wailsio/runtime pinned to 3.0.0-beta.20 (exact, matching the Go framework); lockfile updated, all deps still max in-range, majors deferred.
- Production vite build passes with the new bindings.
2026-09-13 17:10:17 -04:00
John O'Keefe 2bf8d3887e fix(ci): track frontend lockfile for reproducible installs
Release / release (push) Successful in 2m42s
The blanket package-lock.json gitignore rule meant the frontend lockfile was never committed, so every release installed whatever the registry handed it (silent transitive drift) and setup-node npm caching failed outright with unable to cache dependencies. Scope the ignore rule to the repo root (/package-lock.json; no root package.json exists) and commit the freshly updated frontend lockfile: all deps at max in-range versions (autoprefixer 10.5.6 -> 10.6.0), majors intentionally deferred to the v3 frontend refresh. Verified with a green vite build before committing.
2026-09-12 22:40:21 -04:00