From 59833c7aff614ffcf6c819472197358782a1c4bf Mon Sep 17 00:00:00 2001 From: Alexander Ivanov Date: Tue, 25 Aug 2026 11:50:56 +0300 Subject: [PATCH] Ignore @eslint/js majors in Dependabot, closing the gap that broke PR #62 PR #62 ("Bump the npm-development group with 4 updates") bumped @eslint/js to 10.0.1 alone, which peer-requires eslint@^10 and conflicts with this repo's pinned eslint@^9.39.5 -- npm ci fails with ERESOLVE. @eslint/js is a separate npm package from eslint, so the ignore rule added for "eslint" in the archived pin-dependabot-typescript-eslint change didn't cover it. Co-Authored-By: Claude Sonnet 5 --- .github/dependabot.yml | 11 ++++- .../.openspec.yaml | 3 ++ .../proposal.md | 49 +++++++++++++++++++ .../tasks.md | 14 ++++++ 4 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 openspec/changes/archive/2026-08-25-ignore-eslint-js-major/.openspec.yaml create mode 100644 openspec/changes/archive/2026-08-25-ignore-eslint-js-major/proposal.md create mode 100644 openspec/changes/archive/2026-08-25-ignore-eslint-js-major/tasks.md diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e8a35304..176d74c2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -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: diff --git a/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/.openspec.yaml b/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/.openspec.yaml new file mode 100644 index 00000000..9a88f355 --- /dev/null +++ b/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/.openspec.yaml @@ -0,0 +1,3 @@ +schema: spec-driven +created: 2026-08-25 +skip_specs: true diff --git a/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/proposal.md b/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/proposal.md new file mode 100644 index 00000000..7d6391e9 --- /dev/null +++ b/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/proposal.md @@ -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` diff --git a/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/tasks.md b/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/tasks.md new file mode 100644 index 00000000..0bda4bee --- /dev/null +++ b/openspec/changes/archive/2026-08-25-ignore-eslint-js-major/tasks.md @@ -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`.