Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,17 @@ updates:
# restore-typescript-eslint-compatibility change).
- dependency-name: "typescript"
versions: [">=6.1.0"]
# ESLint 10 drops the directly-imported @eslint/js package and needs a
# newer Node.js than this repo's pinned 22.11.0 runtime.
# ESLint 10 needs a newer Node.js than this repo's pinned 22.11.0
# runtime.
- dependency-name: "eslint"
versions: [">=10.0.0"]
# @eslint/js is a separate npm package from `eslint` itself; its 10.x
# line peer-requires eslint@^10, which conflicts with the `eslint`
# ignore rule above and breaks `npm ci` (ERESOLVE) if bumped alone
# (seen live in PR #62, "Bump the npm-development group with 4
# updates").
- dependency-name: "@eslint/js"
versions: [">=10.0.0"]
- package-ecosystem: github-actions
directory: /
schedule:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
schema: spec-driven
created: 2026-08-25
skip_specs: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
## Why

The user reported on 2026-08-25 that GitHub PR #62 ("Bump the npm-development
group with 4 updates", opened by Dependabot) had merge problems. Investigation
found its "Typecheck, lint, test, and build" CI job fails, with every
downstream job (`openspec-validate`, `extension-integration`,
`release-extension`) skipped as a result. Reproduced locally by checking out
the PR branch into an isolated worktree and running `npm ci`:

```
npm error Conflicting peer dependency: eslint@10.9.1
npm error peerOptional eslint@"^10.0.0" from @eslint/js@10.0.1
npm error node_modules/@eslint/js
npm error dev @eslint/js@"^10.0.1" from the root project
```

The PR bumps `@eslint/js` from `9.39.5` to `10.0.1` while leaving `eslint`
itself at `^9.39.5`. `@eslint/js` and `eslint` are separate npm packages, so
the `dependency-name: "eslint"` ignore rule added in the archived
`pin-dependabot-typescript-eslint` change does not cover `@eslint/js` — its
10.x line peer-requires `eslint@^10`, which conflicts with the pinned
`eslint@^9.39.5` and breaks `npm ci` with ERESOLVE. This is the same class of
problem `pin-dependabot-typescript-eslint` was meant to prevent, just on the
sibling package that rule didn't cover.

## What Changes

- Add an `ignore` entry for `@eslint/js` (versions `>=10.0.0`) to the `npm`
update block in `.github/dependabot.yml`, alongside the existing
`typescript` and `eslint` entries.
- No change to the grouping, schedule, or the `github-actions` update block.
- Does not itself resolve PR #62 (Dependabot manages that PR's lifecycle;
it either drops the `@eslint/js` bump on its next refresh now that it's
ignored, or the PR needs to be closed/superseded manually) — out of scope
for a repository file change.

## Capabilities

### New Capabilities

(none)

### Modified Capabilities

(none; CI/tooling configuration change, not a specified behavior)

## Impact

- `.github/dependabot.yml`
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## 1. Close the gap

- [x] 1.1 Add an `ignore` entry for `@eslint/js` (versions `>=10.0.0`) to
the `npm` update block in `.github/dependabot.yml`.

## 2. Verification

- [x] 2.1 `.github/dependabot.yml` parses as valid YAML (verified with
`node node_modules/js-yaml/bin/js-yaml.js .github/dependabot.yml`).
- [x] 2.2 Reproduced the reported failure locally: checked out PR #62's
branch (`dependabot/npm_and_yarn/npm-development-877558e1f1`) into an
isolated worktree and confirmed `npm ci` fails with the exact ERESOLVE
conflict this change prevents going forward.
- [x] 2.3 Run `openspec change validate --strict ignore-eslint-js-major`.
Loading