- go.mod, local CLI install, and @wailsio/runtime move together;
the JS/Go wire protocol must match exactly, so the runtime never
moves alone
- bindings regen is byte-identical (same 29 methods/IDs), confirming
the bump is behavior-transparent at the binding layer
- beta.23 exists but is hours old and touches Linux single-instance;
deliberately deferred to a routine bump, not stacked onto 2.0
- deletes wails.json (staged earlier during retirement proof; the
version-source move lands in the next commit)
- svelte-check 0/0, vet/tests/builds green, smoke launch clean
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).
Fixes the wails3 dev boot failure and removes remaining v2-isms so the tree matches a stock v3 project.
- frontend/package.json: add missing build:dev script (vite build --minify false --mode development). The dev taskflow runs npm run build:dev, which v2-era package.json never had - this was the wails3 dev boot failure.
- frontend/vite.config.ts: add the @wailsio/runtime vite plugin (typed custom events, as in every v3 template) and the server host/port/strictPort block (5173, matching the dev task).
- Remove stale v2 build dirs build/darwin + build/windows (v2 wails scaffolding; v3 generates its own via build-assets if ever needed).
- Delete untracked frontend/package.json.md5 (v2 change-detection artifact; v3 Taskfile uses content-hash sources) and drop its gitignore rule.
- go.mod: delete the leftover commented-out v2 replace directive.
- README.md: dev/build docs updated to make dev / make build (wails3), dropping the v2 :34115 browser-server paragraph; install link points at v3 docs.
Verified: production vite build green with the plugin, and wails3 dev boots end-to-end (bindings regen, build:dev, vite on :5173, asset server connected, AniTrack 1.6.8 window mapped).
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.