Skip to content

chore: triage remaining Dependabot alerts — all in dev-only dependency chains #451

Description

@ryanmagoon

After #450 the alert count went 55 → 48 (2 critical, 20 high, 24 medium, 2 low). The remainder is not reachable from the shipped application, and this issue records why so the number isn't misread as a production emergency.

The shipped app has four runtime dependencies

apps/desktop/package.json dependencies:

@sentry/electron   ^7.18.0
@sentry/react      ^10.73.0
electron-log       ^5.4.4
electron-updater   ^6.8.9

None of the alerting packages are among them. Every remaining alert arrives through dev tooling — devtools, build tooling, test infrastructure — none of which is bundled into a production build.

Where the biggest sources come from

Package Alerts Reached via
hono 16 agent-react-devtools → @modelcontextprotocol/sdk → @hono/node-server
fast-uri 7 ajv, via the same MCP SDK chain
tar 6 electron-builder / node-gyp toolchain
brace-expansion 4 transitive under glob/minimatch across dev tooling
ip-address 3 socks proxy chain under dev tooling

agent-react-devtools is a devDependency and no-ops in production (import.meta.env.PROD check — see .claude/rules/agent-react-devtools.md), so the hono chain — a third of all remaining alerts — cannot reach users.

Why Dependabot still flags them

Alerts are raised against pnpm-lock.yaml without distinguishing dev from runtime scope, so dev-only tooling shows up with the same severity as shipped code.

Suggested handling

Not urgent, but worth a deliberate pass rather than leaving 48 open indefinitely:

  1. Bump the direct dev dependencies that own these chains (agent-react-devtools, electron-builder) and see how many resolve transitively.
  2. For anything remaining with no upstream fix, use pnpm.overrides to force a patched transitive version — the existing @types/node pin is the precedent.
  3. Dismiss what is genuinely unreachable, with a recorded reason, so the count reflects real exposure.

Worth confirming

Whether Dependabot can be configured to separate dev-scope from runtime-scope alerts here — that would keep the count meaningful without manual triage each time.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions