Skip to content

chore: hold ESLint at v9 in Renovate - #354

Merged
willeastcott merged 1 commit into
mainfrom
chore/hold-eslint-10
Sep 24, 2026
Merged

willeastcott merged 1 commit into
mainfrom
chore/hold-eslint-10

Conversation

@willeastcott

Copy link
Copy Markdown
Contributor

Summary

Since #351, the only check failing on Renovate's grouped major PR #348 is lint, and the cause is ESLint 10. It crashes before linting anything:

TypeError: Error while loading rule 'react/display-name': contextOrFilename.getFilename is not a function

ESLint 10 removed context.getFilename(), and eslint-plugin-react 7.37.5 still calls it. That can't be fixed in this repo yet:

  • eslint-plugin-react (latest 7.37.5) and eslint-plugin-jsx-a11y (latest 6.10.2) have no release that supports ESLint 10. Both come from @playcanvas/eslint-config, whose newest release is 3.0.0-beta.8.
  • eslint-plugin-jsdoc supports ESLint 10 from 64.x, but the shared config pins ^61.
  • This repo's own packages/{lib,blocks}/eslint.config.mjs use eslint-plugin-import (latest 2.32.0) for import/extensions, which has no ESLint 10 release either. eslint-plugin-import-x, which the shared config already uses, does support it.

Change

Hold eslint below 10 in renovate.json until those plugins are updated or replaced, in the same form as the existing typescript and changesets/action holds.

Verification

I simulated #348 with eslint back on 9.39.5 and everything else from Renovate's branch unchanged, including globals 17.12.0. Lint passes with 0 errors and the same warnings as main. Build, test and publish already pass on #348, so it should go green once Renovate drops eslint.

#348 still shouldn't be merged while it moves @changesets/cli to v3 without changesets/action v2. That combination would silently skip pushing git tags and creating GitHub releases.

🤖 Generated with Claude Code

ESLint 10 fails #348's lint job before linting anything:
eslint-plugin-react 7.37.5 calls context.getFilename(), which ESLint 10
removed. It has no release that supports ESLint 10, and neither does
eslint-plugin-jsx-a11y; both come from @playcanvas/eslint-config. This
repo's own lib and blocks configs also use eslint-plugin-import, which
has no ESLint 10 release either.

Hold eslint below 10 until those plugins are updated or replaced, like
the existing typescript and changesets/action holds. With eslint back
on 9.39.5 and the rest of #348 unchanged (including globals 17), lint
passes locally with the same warnings as main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Sep 24, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: f45480e

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@pkg-pr-new

pkg-pr-new Bot commented Sep 24, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@playcanvas/blocks@354
npm i https://pkg.pr.new/@playcanvas/react@354

commit: f45480e

@willeastcott
willeastcott merged commit 5b05f3a into main Sep 24, 2026
6 checks passed
@willeastcott
willeastcott deleted the chore/hold-eslint-10 branch September 24, 2026 22:34
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