Skip to content

deps(web): move the wizard to SvelteKit 3 - #313

Merged
Defilan merged 1 commit into
mainfrom
deps/sveltekit-3
Nov 4, 2026
Merged

Defilan merged 1 commit into
mainfrom
deps/sveltekit-3

Conversation

@Defilan

@Defilan Defilan commented Nov 4, 2026

Copy link
Copy Markdown
Member

Supersedes #300. That PR bumped @sveltejs/kit to 3.1.0 alone, and npm ci failed because @sveltejs/adapter-static 3.0.10 accepts only kit ^2.

This PR moves kit to 3.1.1 and adapter-static to 4.0.1, and makes the changes the SvelteKit 3 migration guide asks of the wizard:

  • tsconfig: tsconfig.json extends $app/tsconfig and lists its own include, which $app/tsconfig leaves out.
  • $lib becomes #lib: SvelteKit no longer generates $lib. #lib is a subpath import declared in package.json imports. The 30 imports now carry the .js extension the guide asks for on TypeScript modules. The alias option would have kept $lib, but SvelteKit 3 deprecates it.
  • cookie override removed: ^0.7.2 was there for GHSA-pxg6-pf52-xh8x under kit 2. Kit 3 depends on cookie ^2.0.1, and the override would have forced it back to 0.7.
  • version.pollInterval: 0: kit 3 polls for a new deployment hourly by default. The wizard ships inside the binary that serves it and never reads updated, so it keeps kit 2's behavior and doesn't poll.

Alerts

  • This closes Dependabot B1 GGUF reader #4 and B3 Provenance and lineage #5: GHSA-27mw-82g8-phjj and GHSA-pfhg-q3qv-9q6r, both fixed in kit 3.0.0. Neither reached the wizard, which sets no headers and has no form actions or use:enhance. OpenSSF Scorecard counts them anyway.

  • web/osv-scanner.toml records GHSA-gcqx-w48m-w2h4 (deepmerge) as not applying, the way tools/socair-sigstore/osv-scanner.toml does for GO-2026-5932:

    • vite-plugin-svelte uses deepmerge only at build time, to merge the project's own options;
    • nothing from a user or a model reaches it, and it isn't in the bundle;
    • no patched version exists.

    The Dependabot alert was already dismissed with the same reason.

Checks

  • npm run check: 0 errors and 0 warnings.
  • npm test: 76 passed.
  • npm run build: writes build/ with no deprecation warnings.
  • Smoke test: the built wizard, served by socair serve --web, loaded /scan, ran a scan of a small safetensors file, and showed the engine's report and promotion state. The one console error was the airlock log's expected 400, since the server ran without --store.

Assisted-by: Claude Code (made the migration and ran the checks; the maintainer's review is pending)

Dependabot's #300 (kit 3.1.0) failed npm ci: adapter-static 3 accepts
only kit 2. This takes kit to 3.1.1 and adapter-static to 4.0.1, and
makes the changes SvelteKit 3's migration guide asks of this project:

- tsconfig.json extends $app/tsconfig and lists its files;
- $lib, no longer generated, becomes #lib, a subpath import declared in
  package.json, with each TypeScript module's .js extension;
- the cookie override (^0.7.2, for GHSA-pxg6-pf52-xh8x under kit 2) is
  removed: kit 3 depends on cookie ^2.0.1;
- version.pollInterval is 0: kit 3 polls for a new deployment hourly by
  default, and the wizard ships inside the binary that serves it.

It clears GHSA-27mw-82g8-phjj and GHSA-pfhg-q3qv-9q6r (fixed in kit
3.0.0). Neither reached the wizard, which sets no headers and has no form
actions, but both are counted against the repository.

web/osv-scanner.toml records GHSA-gcqx-w48m-w2h4 (deepmerge) as not
applying, as tools/socair-sigstore/osv-scanner.toml does for its module:
vite-plugin-svelte merges the project's own options with it at build
time, nothing from a user or a model reaches it, it is not in the
bundle, and there is no patched version.

npm run check (0 errors), npm test (76 passed), and npm run build pass.
The built wizard, served by socair serve, ran a scan and showed the
engine's report.

Signed-off-by: Christopher Maher <chris@mahercode.io>
@Defilan
Defilan merged commit 9515b36 into main Nov 4, 2026
17 checks passed
@Defilan
Defilan deleted the deps/sveltekit-3 branch November 4, 2026 01:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant