Skip to content

Commit 816d831

Browse files
authored
chore: disable dependabot version updates for the bun ecosystem (#151)
The wildcard `version-update:semver-major` ignore does not hold for this ecosystem. #145 named vite, @vitejs/plugin-react, typescript and immer explicitly after the 2026-08-10 run let those majors through; the very next run, on the merged config, opened react-resizable-panels 2 -> 4. That is six majors through the bun entry against zero through 38 Cargo PRs sharing the same ignore block, so the wildcard is not being applied here rather than being mis-specified. Naming packages one at a time cannot fix it — the next major is always a package nobody has listed. `open-pull-requests-limit: 0` is the documented way to disable version updates for a single package manager. Security update PRs are exempt from the limit, so vulnerability fixes still arrive; only routine version bumps stop. The group and ignore blocks are kept in place, unused, so restoring the previous behaviour is a one-line change once bun support honours ignore.update-types. This matters more for the frontend than it would elsewhere. Per the `dedupe` note in vite.config.ts, a duplicated @codemirror/* or pdfjs-dist in the production bundle silently breaks editor theming and PDF rendering while lint, typecheck, `bun run build` and `bun run dev` all stay green. The check that would catch it is `bun run build:app` and a real window, which no unattended bot PR can attest to.
1 parent 9a65594 commit 816d831

1 file changed

Lines changed: 26 additions & 23 deletions

File tree

.github/dependabot.yml

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,42 @@
11
version: 2
22
updates:
3+
# Version updates are OFF for this ecosystem. `open-pull-requests-limit: 0`
4+
# is the documented way to disable them for a single package manager;
5+
# security update PRs are exempt from the limit and still arrive, which is
6+
# the only part we actually need to be automatic.
7+
#
8+
# This is a workaround for a real defect, not a statement that JS deps do not
9+
# matter. The wildcard `version-update:semver-major` ignore below does not
10+
# hold for the bun ecosystem. On 2026-08-10 it let through vite 6 -> 8,
11+
# typescript 5 -> 7, @vitejs/plugin-react 4 -> 6, immer 10 -> 11 and
12+
# lucide-react 0.468 -> 1.30; after those five were closed and the ignore was
13+
# made explicit per package, the very next run opened react-resizable-panels
14+
# 2 -> 4 (#146). Six majors through this entry against zero through 38 Cargo
15+
# PRs on the same config. Naming packages individually cannot work, because
16+
# the next major is always a package nobody has listed yet.
17+
#
18+
# It matters more here than it would elsewhere because JS breakage in this
19+
# repo is invisible to CI. Per the `dedupe` note in vite.config.ts, a
20+
# duplicated @codemirror/* or pdfjs-dist in the production bundle silently
21+
# breaks editor theming and PDF rendering while lint, typecheck, `bun run
22+
# build` and `bun run dev` all stay green. An unattended bot PR cannot attest
23+
# to the one thing that would catch it: `bun run build:app` and a real
24+
# window. Frontend deps therefore move deliberately, in their own PRs.
25+
#
26+
# Revisit if Dependabot's bun support starts honouring ignore.update-types —
27+
# at that point restore the limit and the group below and delete this note.
328
- package-ecosystem: "bun"
429
directory: "/"
530
schedule:
631
interval: "monthly"
7-
open-pull-requests-limit: 3
32+
open-pull-requests-limit: 0
833
groups:
9-
# One PR for the whole JS dependency set rather than one per package.
10-
# The frontend is only meaningfully verifiable as a whole anyway — a
11-
# bundler or plugin bump is judged by whether the packaged app still
12-
# renders, not by whether one package resolved.
1334
javascript:
1435
patterns: ["*"]
1536
update-types: ["minor", "patch"]
1637
ignore:
1738
- dependency-name: "*"
1839
update-types: ["version-update:semver-major"]
19-
# Belt and braces. The wildcard semver-major ignore above did not hold
20-
# for this ecosystem on the 2026-08-10 run — it opened vite 6 -> 8,
21-
# typescript 5 -> 7, @vitejs/plugin-react 4 -> 6, immer 10 -> 11 and
22-
# lucide-react 0.468 -> 1.30. The four below are named explicitly so that
23-
# a repeat is impossible regardless of why the wildcard was skipped.
24-
#
25-
# lucide-react is deliberately not pinned here: an icon rename fails as a
26-
# red typecheck, so CI catches it and the update is worth taking. The
27-
# four below are the ones whose breakage is invisible to CI. Per the
28-
# `dedupe` note in vite.config.ts, a duplicated @codemirror/* or
29-
# pdfjs-dist in the production bundle silently breaks editor theming and
30-
# PDF rendering while lint, typecheck, `bun run build` and `bun run dev`
31-
# all stay green. A major on any of these needs `bun run build:app` and a
32-
# real window, so it should never arrive as an unattended bot PR.
33-
- dependency-name: "vite"
34-
- dependency-name: "@vitejs/plugin-react"
35-
- dependency-name: "typescript"
36-
- dependency-name: "immer"
3740

3841
# Every crates/* crate is a standalone package with its own Cargo.lock, not a
3942
# workspace member. Dependabot sees 16 unrelated projects that happen to share

0 commit comments

Comments
 (0)