Skip to content

chore(deps): refresh dependencies and add Dependabot version updates - #40

Merged
antonstefer merged 8 commits into
mainfrom
claude/cranky-leakey-9532ea
Oct 30, 2026
Merged

antonstefer merged 8 commits into
mainfrom
claude/cranky-leakey-9532ea

Conversation

@antonstefer

@antonstefer antonstefer commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

Summary

Replaces the open Dependabot security PRs #29, #31, #32, #33, #34, #35, #36 and #37 with one in-range refresh, and adds .github/dependabot.yml so updates stop piling up.

  • In-range updates. Every outdated dependency moves to the newest version its range allows, the ranges' floors move up to match, and package-lock.json is regenerated: wrangler 4.78 → 4.156, @sveltejs/kit 2.57 → 2.70, svelte 5.55 → 5.57, vite 8.0 → 8.3, vitest 4.1.2 → 4.1.12, typescript-eslint 8.57 → 8.72 and prettier 3.8 → 3.9. Also updated: svelte-check, eslint-plugin-svelte, svelte-eslint-parser, @sveltejs/vite-plugin-svelte, @sveltejs/adapter-cloudflare 7.2.9, prettier-plugin-svelte 3.5.2, eslint and @types/node. Majors stay out (see below).
  • Alerts. This resolves 55 of the 62 open Dependabot alerts. npm audit drops from 22 findings (11 high, 7 moderate, 4 low) to 6 low, and runtime dependencies stay at 0. The undici, sharp and ws alerts could only clear through wrangler: miniflare pins all three exactly, and the miniflare in wrangler 4.156 ships undici 7.30.1, sharp 0.35.5 and ws 8.21.0.
  • Lockfile. The old lockfile listed only darwin-arm64 binaries for workerd and sharp. The regenerated one lists every platform again, and records the versions released in chore: release logic-grid 3.0.0 #22 and chore: release logic-grid-ai 2.0.0 #24 (logic-grid 3.0.0, logic-grid-ai 2.0.0).
  • Two code-neutral changes in packages/logic-grid, required by the new tooling. typescript-eslint 8.72 flags the two as Category assertions in sliceCategory as unnecessary, and prettier 3.9 puts one union type on a single line.
  • .github/dependabot.yml. npm runs weekly from the root, which covers every workspace. GitHub Actions also runs weekly. Each has an open-PR limit of 3.
    • Grouping: dev dependencies' minor and patch updates share one PR, and their security updates share another. Majors get their own PR, in npm and in GitHub Actions. The exception is vitest and @vitest/coverage-v8: coverage-v8 pins its vitest peer exactly, so a vitest-major group moves their majors together.
    • Runtime bumps: these get their own fix(deps) PR, so release-please ships them in a logic-grid-ai release. Today that's only logic-grid-ai's @anthropic-ai/sdk.
    • Hidden commit types: dev bumps use chore(deps-dev) and Actions bumps use ci(deps). release-please-config.json hides both.
    • Ignored majors: the @sveltejs/kit, @sveltejs/adapter-cloudflare and typescript majors are ignored until they're migrated by hand, so they can't fill the open-PR slots. Ignore rules cover security updates too.

New in the lockfile: rollup ≥ 4.64 declares an optional @napi-rs/lzma-linux-x64-gnu. Rollup's code never loads it, it has no install script, and both packages publish with provenance.

Remaining alerts (7, all low)

None of them can be reached in the deployed demo or the published packages.

Alerts Advisory Clears with Why it doesn't apply
#81, #82, #93, #94 @sveltejs/kit < 3.0.0: open redirect through use:enhance (GHSA-pfhg-q3qv-9q6r); XSS from an untrusted cache-control passed to setHeaders on a prerendered page (GHSA-27mw-82g8-phjj) kit 3 The demo has no forms and never calls setHeaders
#1 cookie < 0.7.0, via kit 2's cookie ^0.6 kit 3 The demo sets no cookies
#17 esbuild < 0.28.1, via tsup 8's esbuild ^0.27: file read through the dev server on Windows tsup 9 tsup doesn't run esbuild's dev server
#92 deepmerge ≤ 4.3.1, via @sveltejs/vite-plugin-svelte nothing yet (no patched release) Only merges config at build time

Majors left for follow-up PRs

  • @sveltejs/kit 3 with @sveltejs/adapter-cloudflare 8. These have to land together, since adapter 8 requires kit 3 and wrangler ≥ 4.118. Kit 3 also needs TypeScript 6 across the repo (typescript-eslint 8.72 supports < 6.1) and Node 22.17+. In the demo:

    • svelte.config.js moves into the sveltekit() options in vite.config.ts.
    • The 12 $lib imports become #lib, declared in package.json imports and written with file extensions.
    • $env/dynamic/private becomes $app/env/private.
    • The API routes swap the deprecated json() for Response.json().
    • ServerInit moves to @sveltejs/kit/hooks.

    The demo doesn't use platform, which adapter 8 removes. The sv migrate sveltekit-3 codemod covers much of this. Clears feat: add deduction engine with step-by-step solving #1, #81, #82, #93 and #94.

  • vitest 5 with @vitest/coverage-v8 5, bumped together for the root and the demo. Dependabot proposes them as one PR through the vitest-major group. clearMocks now defaults to true, and coverage.include/exclude match paths strictly, so the files counted by the 100% thresholds need re-checking. The bench suite uses plain tests, so the removal of the bench API doesn't touch it. Clears no alerts.

  • prettier-plugin-svelte 4 requires Svelte 5 and drops svelteBracketNewLine and svelteStrictMode, neither of which the demo sets. It's the smallest of the three and clears no alerts.

  • Dependabot will also propose two more majors:

    TypeScript majors are ignored: typescript-eslint doesn't support 7 yet, and kit 3 needs 6.

After merging

Test plan

  • wrangler deploy --dry-run bundles the demo Worker at 269.6 KiB gzipped, against 267 KiB after feat(logic-grid-ai)!: move to @anthropic-ai/sdk 1.x and Claude Sonnet 5.5 #39.
  • wrangler dev served the production build in local workerd. / renders and hydrates, and the three API routes return their validation errors without contacting the API.
  • In vite dev, switching presets, generating puzzles and marking grid cells (cross-outs propagate) logged no console errors.

Move every outdated dependency to the newest version its range allows,
raise the ranges' floors to match, and regenerate package-lock.json.
Notable bumps: wrangler 4.78 -> 4.156, @sveltejs/kit 2.57 -> 2.70,
svelte 5.55 -> 5.57, vite 8.0 -> 8.3, vitest 4.1.2 -> 4.1.12,
typescript-eslint 8.57 -> 8.72 and prettier 3.8 -> 3.9.

This resolves 55 of the 62 open Dependabot alerts and takes npm audit
from 22 findings (11 high) to 6 low. The rest need majors
(@sveltejs/kit 3, tsup 9) or have no patched release (deepmerge).

The lockfile again lists the workerd and sharp binaries for every
platform; the previous one only had darwin-arm64.

typescript-eslint 8.72 flags the two type assertions in sliceCategory
as unnecessary, and prettier 3.9 puts one union type on a single line.
Neither changes emitted code.
Check npm weekly from the root, which covers every workspace. Minor and
patch updates share one PR, and so do security updates. GitHub Actions
updates are grouped as well.

Commits use the chore and ci types that release-please-config.json
hides, so dependency updates never propose a Release PR or reach a
CHANGELOG.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
logic-grid 317dfb6 Commit Preview URL

Branch Preview URL
Oct 30 2026, 10:44 AM

- Runtime dependency bumps use fix(deps), so release-please ships them in
  a logic-grid-ai release; dev dependencies stay chore(deps-dev).
- Groups hold dev dependencies only, so a runtime bump gets its own PR
  and changelog entry.
- Majors stay out of every group, security and GitHub Actions included,
  so one breaking update can't block the routine ones.
- The SvelteKit, adapter-cloudflare and TypeScript majors are ignored
  until they're migrated by hand, so they can't fill the open-PR slots.
@vitest/coverage-v8 pins its vitest peer to the exact same version, so
separate major PRs for the two would each fail to install and could take
two of the three open-PR slots. Dependabot lets groups whose update-types
don't overlap share dependencies, so their minor and patch bumps stay in
minor-and-patch.
@antonstefer
antonstefer merged commit f202f38 into main Oct 30, 2026
6 checks passed
@antonstefer
antonstefer deleted the claude/cranky-leakey-9532ea branch October 30, 2026 10:48
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