Skip to content

repo: sweep through Dependabot backlog — bring all deps up to current #488

@Axelj00

Description

@Axelj00

Problem

Dependabot has been opening PRs for weeks and nothing's been merged. We're sitting on 15 open Dependabot PRs plus a long tail of closed/superseded ones. The backlog includes a couple of risky majors (Vite 6→8, TypeScript 5→6) mixed in with trivial patch bumps that should just go in.

This issue is the umbrella to drive the sweep — group the bumps by risk, merge the safe ones quickly, and decide deliberately on the majors.

Current state

Snapshot of npm outdated:

Package Current Latest Notes
@tauri-apps/api 2.10.1 2.11.0 minor
@tauri-apps/cli 2.10.1 2.11.1 minor
@tauri-apps/plugin-opener (js) 2.5.3 2.5.4 patch
@tauri-apps/plugin-updater 2.10.0 2.10.1 patch
eslint 10.0.3 10.3.0 minor
prettier 3.8.1 3.8.3 patch
typescript 5.9.3 6.0.3 major
typescript-eslint 8.57.0 8.59.2 minor
vite 6.4.1 8.0.11 two majors
vitest 4.1.0 4.1.5 patch

Cargo side (from open PRs — cargo outdated not installed locally):

Crate From To Notes
tauri 2.10.3 2.11.0 minor, paired with JS bumps
tauri-build 2.5.6 2.6.0 minor
tauri-plugin-opener (rs) 2.5.3 2.5.4 patch
libc 0.2.185 0.2.186 patch
sysinfo (Windows) 0.33.1 0.38.4 several majors — Windows-only path
windows (Windows) 0.59.0 0.61.3 minor — Windows-only path
toml 0.8.2 0.9.12 minor — touches config parsing

CI / workflows:

Action From To
mozilla-actions/sccache-action 0.0.9 0.0.10
actions/checkout 4 6
actions/setup-node 4 6

Open Dependabot PRs

Bucketed by risk:

Bucket A — patch / safe minor (just merge)

Bucket B — coordinated Tauri bump (merge as a set)

The Tauri JS API, CLI, Rust crate, and tauri-build need to land together to keep the IPC ABI consistent. Don't merge piecemeal.

Verify after: dev build, prod build, updater handshake, all tauri-plugin-pty IPC paths, traffic-light window controls, OSC handler.

Bucket C — risky majors (decide deliberately, one at a time)

Closed / superseded — just for context

Lots of stale Dependabot PRs were closed because newer versions came out before we got to them: #279/#440/#425/#231/#86 (Vite), #424/#280 (vitest), #282 (TS 6.0.2), #413/#439/#232 (eslint), #444/#442/#427/#412/#230 (typescript-eslint), #426 (prettier).

Worth checking before closing this issue — if Dependabot has already opened replacements, fine; if not, we may need to nudge it.

A few were closed without ever being merged but were upgraded by hand (already reflected in package.json): @xterm/xterm 5.5.0 → 6.0.0 (#85), @xterm/addon-fit 0.10.0 → 0.11.0 (#87), @xterm/addon-web-links 0.11.0 → 0.12.0 (#88), toml 0.8.2 → 0.9.12 (#84 — but Cargo.toml still pins 0.8, so the PR's actually still relevant), sysinfo 0.33.1 → 0.38.4 (#228Cargo.toml still pins 0.33), windows 0.59.0 → 0.61.3 (#229Cargo.toml still pins 0.59), actions/checkout 4 → 6 (#82), actions/setup-node 4 → 6 (#81). These last several are still stale in the lockfile/manifest — re-open or re-bump.

Plan

  1. Now — merge Bucket A in one batch. npm run preflight after each, or after the whole batch if green individually.
  2. Same session — merge Bucket B as a single coordinated PR or a tight sequence. Smoke-test the full app: launch a tab, split a pane, run a worktree split, kill a process, check for updates, copy/paste, OSC notifications.
  3. Separate session per major in Bucket C. Each gets its own PR with notes on what broke and how it was migrated. TypeScript 6 first (lower blast radius), Vite 8 second.
  4. Cargo side: revisit Bump toml from 0.8.2 to 0.9.12+spec-1.1.0 in /src-tauri #84 (toml 0.9), Bump sysinfo from 0.33.1 to 0.38.4 in /src-tauri #228 (sysinfo 0.38), Bump windows from 0.59.0 to 0.61.3 in /src-tauri #229 (windows 0.61), Bump actions/setup-node from 4 to 6 #81 (setup-node 6), Bump actions/checkout from 4 to 6 #82 (checkout 6) — these PRs are closed but the manifests still point at the old versions. Either re-open or just open a fresh PR.
  5. Set up a recurring expectation: merge the next Dependabot batch within ~2 weeks of it opening so we don't end up here again.

Acceptance

  • All Bucket A and B PRs merged or explicitly closed with reason.
  • Decision recorded in this issue for each Bucket C major: upgraded, deferred (with a target date), or pinned permanently.
  • Cargo.toml versions for toml, sysinfo, windows reviewed and either bumped or explicitly justified at the current pin.
  • CI workflows updated to actions/checkout@v6 and actions/setup-node@v6 (or current latest at the time of the sweep).
  • npm outdated shows nothing under "latest" except items intentionally pinned, with the reason in a comment.
  • No regressions in: dev build, prod build, updater, PTY plugin, custom titlebar / window controls, copy / paste / paste-confirm, search, OSC handlers.

Non-goals

  • Re-architecting the build or testing setup.
  • Adding new tooling (cargo-outdated, Renovate) — Dependabot already covers it; the problem is the merge cadence, not the visibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: mediumImportant but not urgentrepoRepository hygiene and CItech-debtTechnical debt and code quality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions