Skip to content

fix(deps): sync the lockfile with eslint-config 29.0.1 - #1119

Merged
prisis merged 2 commits into
mainfrom
fix/lockfile-sync-29-0-1
Aug 17, 2026
Merged

fix(deps): sync the lockfile with eslint-config 29.0.1#1119
prisis merged 2 commits into
mainfrom
fix/lockfile-sync-29-0-1

Conversation

@prisis

@prisis prisis commented Aug 17, 2026

Copy link
Copy Markdown
Member

main is red and the release pipeline is deadlocked.

Symptom

Every job on main dies at install:

[ERR_PNPM_OUTDATED_LOCKFILE] Cannot install with "frozen-lockfile" because
pnpm-lock.yaml is not up to date with <ROOT>/packages/lint-staged-config/package.json
  - @anolilab/eslint-config (lockfile: 29.0.0, manifest: 29.0.1)

The 29.0.1 release repointed lint-staged-config's manifest but left the lockfile recording 29.0.0.

Why it cannot self-heal

semantic-release.yml opens with a "Wait for tests to succeed" gate requiring every other check to pass. The lockfile is only refreshed from inside that same job. So:

  1. a release bumps a dependent's manifest and the lockfile goes stale
  2. the tests fail on the stale lockfile
  3. Semantic Release blocks at the gate and never reaches the refresh step
  4. main stays red until a lockfile is committed by hand

This is the second occurrence today — 29.0.0 needed the identical fix in #1118 — so it is a recurring property of the release process, not a one-off.

This PR

Regenerates the lockfile. Verified with pnpm install --frozen-lockfile --prefer-offline (exit 0), then build 8/8, lint 6/6, tests 4/4 projects.

Worth fixing properly

This will recur on the next release that bumps a cross-package dependency. Options, roughly in order of preference:

  1. Have the release job regenerate and commit pnpm-lock.yaml in the same commit that bumps dependents' manifests, so the two never diverge.
  2. Move the lockfile refresh ahead of the test gate, or into a job that is not gated on tests.
  3. Have dependents reference the catalog rather than a pinned version, so a release does not rewrite their manifests at all.

Happy to follow up with whichever direction you prefer.

🤖 Generated with Claude Code

https://claude.ai/code/session_014FP75FgnREe4L45kZtsa9a

The 29.0.1 release repointed lint-staged-config's manifest without regenerating
pnpm-lock.yaml, which still records 29.0.0, so every job on main dies at
`pnpm install --frozen-lockfile`.

This also deadlocks the release pipeline. `Semantic Release` starts with a
"Wait for tests to succeed" gate, the tests cannot pass while the lockfile is
stale, and the lockfile is only refreshed from inside that same job — so the
pipeline cannot repair itself and stays blocked until a lockfile lands by hand.
This is the second occurrence today; 29.0.0 needed the same fix in #1118.

Regenerate. Verified with the same frozen install CI runs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FP75FgnREe4L45kZtsa9a
@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 66de0bc9-3f69-4a90-b71f-dbd0c23b6d0a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for following the naming conventions! 🙏

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​anolilab/​eslint-config@​29.0.1871009996100

View full report

@prisis
prisis merged commit 5abed40 into main Aug 17, 2026
11 checks passed
@prisis
prisis deleted the fix/lockfile-sync-29-0-1 branch August 17, 2026 12:26
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.

1 participant