Skip to content

ci: use the bun ecosystem for Dependabot, and bump jsdom - #13

Open
vpetersson-bot wants to merge 1 commit into
mainfrom
fix/dependabot-bun-ecosystem
Open

vpetersson-bot wants to merge 1 commit into
mainfrom
fix/dependabot-bun-ecosystem

Conversation

@vpetersson-bot

Copy link
Copy Markdown

Problem

All three open Dependabot PRs in this repo (#7, #8, #11) fail CI with the same error:

error: lockfile had changes, but lockfile is frozen

The cause is the Dependabot config. This repo builds with bun and commits bun.lock,
but .github/dependabot.yml declares package-ecosystem: npm. The npm ecosystem does
not understand bun.lock, so Dependabot rewrites package.json alone and leaves the
lockfile stale — which the --frozen-lockfile install in CI then rejects. Every
Dependabot PR here is dead on arrival.

weather-app is the only Edge App still on the npm ecosystem; every sibling repo
(clock-app, rss-reader-app, bamboo-hr-app, …) uses package-ecosystem: bun with
grouping.

Fix

  • Switch to package-ecosystem: bun, so bun.lock is updated alongside package.json.
  • Group updates and add the missing github-actions ecosystem, matching the sibling Edge Apps.
  • Hold typescript at 6.x. typescript-eslint has no TypeScript 7 support yet (peer
    range ">=4.8.4 <6.1.0" as of 8.70.0), and TypeScript 7 removed the ts.Extension.Cjs
    API that @typescript-eslint/typescript-estree reads, so linting crashes. This is the
    same hold being applied across the other 20 affected repos.
  • Land the jsdom 29.1.1 → 30.0.1 and @types/jsdom 28.0.3 → 30.0.0 bumps that chore(deps-dev): bump jsdom from 29.1.1 to 30.0.1 #7 and
    chore(deps-dev): bump @types/jsdom from 28.0.3 to 30.0.0 #11 were trying to make, this time with bun.lock regenerated.

Verification

Locally, on this branch:

bun install --frozen-lockfile  # clean
bun run lint                   # passes
bun run type-check             # passes
bun run test                   # 10 pass, 0 fail

Follow-up

Once this lands, #7 and #11 are superseded and can be closed. #8 (typescript 6 → 7)
should be closed too — it cannot pass until typescript-eslint supports TypeScript 7,
and the new ignore rule stops it being reopened.

🤖 Generated with Claude Code

Dependabot was configured with `package-ecosystem: npm` while this repo is
built with bun and commits `bun.lock`. Dependabot therefore rewrote
package.json without touching the lockfile, and every PR it opened died in CI
with:

    error: lockfile had changes, but lockfile is frozen

Switch to `package-ecosystem: bun` so the lockfile is updated alongside
package.json, group updates the way the other Edge Apps do, and add the
missing github-actions ecosystem.

Also hold typescript at 6.x: typescript-eslint has no TypeScript 7 support yet
(peer range ">=4.8.4 <6.1.0" as of typescript-eslint 8.70.0), and TypeScript 7
removed the `ts.Extension.Cjs` API that @typescript-eslint/typescript-estree
reads, which makes linting crash.

Finally, land the jsdom and @types/jsdom bumps that #7 and #11 were trying to
make, this time with bun.lock regenerated so the frozen-lockfile check passes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
Copilot AI lite review requested due to automatic review settings September 11, 2026 16:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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.

2 participants