Repository navigation
deps(web): SvelteKit 3, Vite 8, and current web tooling - #140
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
SvelteKit 3.1, adapter-static 4, vite-plugin-svelte 7.3, Vite 8.3, Svelte 5.57, Playwright 1.64, with a regenerated lockfile; cookie moves to 2.0.1, closing GHSA-pxg6-pf52-xh8x, and npm audit reports nothing. TypeScript stays on 6.0.3 (TS 7 has no JS API and svelte-check peers ^5 || ^6) and @types/node tracks the Node 22 floor; both holds are encoded in their ranges. Kit 3's migration, applied as its guide recommends: `$lib` becomes `#lib/*` subpath imports with explicit extensions (65 imports, 29 files), svelte.config.js moves into the sveltekit() Vite plugin, the tsconfig extends $app/tsconfig, invalidateAll becomes refreshAll (6 sites), and goto uses replace/reset. Node is ^22.17 || >=24; CI pins Node 24 with a SHA-pinned actions/setup-node v7.1.0 in both workflows. The draft-recovery test for a stranded router relied on a Kit 2 popstate bug that Kit 3 fixed; it now asserts that an aborted shallow traversal leaves the editor usable in place (it fails against Kit 2, as a control). Refs #54 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ser floor Independent review tried seven ways to strand the router under SvelteKit 3.1 (it clears navigating on shallow popstate, kit#17118) and none did, so the "Resume editing" control, its rejection effect, and their now-false comments are removed; the draft page fails closed either way, and the replaced draft-recovery test (which fails against Kit 2's stranding) is the guard. That test now also types and saves while the aborted departure's load is held and checks the text and the entry survive, and drops an assertion only SvelteKit could fail. ADR 0005 records the SvelteKit 3 toolchain; the install guide and changelog state the browser floor Vite 8 sets (Chrome/Edge 111, Firefox 114, Safari 16.4). The lockfile is regenerated with npm 11 (CI's), restoring license metadata with no version changes. Refs #54 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Rebased onto |
4adce3e to
32b5942
Compare
A minor release under ADR 0022: the complete installation export (#130), the web stack on SvelteKit 3 and Vite 8 (#140) with the browser floor it brings (Chrome/Edge 111, Firefox 114, Safari 16.4), Rust 1.99 and SQLite 3.51 (#139), and doctor's migration verdict matching serve (#144, ADR 0029). Upgrading from 0.2.0 runs no migration. Versions agree across Cargo and web (tests/release_version.rs); the changelog, README, roadmap, and install guide name 0.3.0. Refs #146 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Primary Issue
Closes #54
Problem And Outcome
npm auditreported thecookie< 0.7.0 advisory (GHSA-pxg6-pf52-xh8x, Dependabot alert #1). It was reachable only through SvelteKit 2, and Dependabot's own bump (#134) failed at install because Kit 3 needs vite-plugin-svelte 7. The maintainer asked for "latest versions of packages here where it makes sense in general". After merge, the web stack is on current releases,npm auditreports 0 findings, and every user-visible behavior is unchanged, as the full browser suite confirms. The one exception is the browser floor, which is now documented.Changes
^5 || ^6, and the TS 7 announcement says Svelte projects should stay on 6)sv migrate sveltekit-3was run and reviewed, and partly kept):$lib→#lib/*subpath imports with explicit extensions (65 imports, 29 files);svelte.config.js→sveltekit({ adapter })invite.config.ts;$app/tsconfig;invalidateAll→refreshAll(6 sites);gotousesreplaceandreset.^22.17 || >=24. CI pins Node 24 with a SHA-pinnedactions/setup-nodev7.1.0 in both workflows. Job names are unchanged, so the required checks still apply.docs/install.mdand CHANGELOG state the browser floor Vite 8 sets: Chrome/Edge 111, Firefox 114, Safari/iOS 16.4.npm auditfindings.Scope
Verification
4adce3e1d5b0d115a5b960cac6ea8edddfef2149(tree4a5e6548).scripts/proof.pypassed 7/7 gates in 526 s.b75858d7…, archived on the maintainer machine.npm audit:{low:0, moderate:0, high:0, critical:0}.npm outdatedlists only the two holdbacks.Review And Merge Notes
2a59e5c): 0 blocking, 1 should-fix (the unreachable Resume control), 6 nits.4adce3etogether with the nits: the test hardened, a vacuous assertion dropped, ADR 0005 amended, the browser floor documented, and the lockfile regenerated with npm 11.gotoandrefreshAllsemantics are equivalent;$libregression is blocked by the toolchain;2a59e5c..4adce3e: self-reviewed by the integrator, and the whole draft-recovery spec was re-run (47 passed) before the full proof.sv migrateaddedif (navigation.shallow && navigation.type === 'goto') return;to the draft page'sbeforeNavigate, and it was left out on purpose, because the app has no shallowgoto. A future shallowgotoon that page would be cancelled while edits are pending.^22.17 || >=24; the installed server needs no Node.🤖 Generated with Claude Code