Skip to content

chore(renovate): group eslint and @typescript-eslint in one PR#698

Merged
castrojo merged 4 commits intoprojectbluefin:mainfrom
castrojo:fix/renovate-eslint-group
Mar 31, 2026
Merged

chore(renovate): group eslint and @typescript-eslint in one PR#698
castrojo merged 4 commits intoprojectbluefin:mainfrom
castrojo:fix/renovate-eslint-group

Conversation

@castrojo
Copy link
Copy Markdown
Contributor

Summary

  • Adds .github/renovate.json with a package grouping rule
  • Groups eslint, @typescript-eslint/eslint-plugin, and @typescript-eslint/parser so Renovate always updates them together

Why

PR 640 (eslint 8→10) failed because @typescript-eslint/eslint-plugin@8.57.2 has a peer dep requiring typescript <6.0.0, but typescript@6.0.2 is already on main. Splitting these into separate PRs causes ERESOLVE install failures.

Grouping them ensures the next eslint bump also brings a @typescript-eslint version that supports the current TypeScript.

Closes #640

Assisted-by: Claude Sonnet 4.6 via GitHub Copilot
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

github-actions Bot and others added 4 commits March 18, 2026 10:25
Co-authored-by: castrojo <1264109+castrojo@users.noreply.github.com>
Co-authored-by: castrojo <1264109+castrojo@users.noreply.github.com>
eslint v10 and @typescript-eslint must update together — the plugin
has peer deps on both eslint and typescript versions. Splitting them
causes ERESOLVE failures (as seen in PR 640 vs TS6 already on main).

Assisted-by: Claude Sonnet 4.6 via GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds a new .github/renovate.json file to group ESLint and TypeScript-ESLint dependencies for synchronized updates. Feedback indicates that a root-level Renovate configuration already exists, which would cause this new file to be ignored and result in the loss of global settings. It is recommended to merge these package rules into the existing root configuration instead.

Comment thread .github/renovate.json
Comment on lines +1 to +15
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"packageRules": [
{
"description": "Group eslint and @typescript-eslint together — they must update as a unit because @typescript-eslint has a peer dep on specific eslint and typescript versions",
"matchPackageNames": [
"eslint",
"@typescript-eslint/eslint-plugin",
"@typescript-eslint/parser"
],
"groupName": "eslint monorepo",
"groupSlug": "eslint-monorepo"
}
]
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

A renovate.json file already exists in the root directory. Renovate typically only processes a single configuration file and gives precedence to the one in the root, meaning this new file will be ignored. \n\nAdditionally, this file lacks the extends field and other global settings defined in the root configuration. If Renovate were to use this file instead of the root one, it would lose all existing settings like automerge and dashboard configuration. To fix this, merge the new packageRules entry into the existing root renovate.json and remove this file.

@castrojo castrojo merged commit 85edb42 into projectbluefin:main Mar 31, 2026
3 checks passed
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