Skip to content

docs: update v9 migration guide for @eslint/js usage#20540

Merged
mdjermanovic merged 2 commits intoeslint:mainfrom
DMartens:eslint-js-migration-guide
Mar 15, 2026
Merged

docs: update v9 migration guide for @eslint/js usage#20540
mdjermanovic merged 2 commits intoeslint:mainfrom
DMartens:eslint-js-migration-guide

Conversation

@DMartens
Copy link
Copy Markdown
Contributor

Prerequisites checklist

AI acknowledgment

  • I did not use AI to generate this PR.
  • (If the above is not checked) I have reviewed the AI-generated content before submitting.

What is the purpose of this pull request? (put an "X" next to an item)

[x] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

What changes did you make? (Give an overview)

Add the removal of @eslint/js to the migration guide (reported here).
As we dropped @eslint/js from our dependencies, users must now explicitly add it to their dependencies.

Is there anything you'd like reviewers to focus on?

No

@DMartens DMartens requested a review from a team as a code owner February 21, 2026 14:40
@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Feb 21, 2026
@netlify
Copy link
Copy Markdown

netlify bot commented Feb 21, 2026

Deploy Preview for docs-eslint ready!

Name Link
🔨 Latest commit 1e8ec76
🔍 Latest deploy log https://app.netlify.com/projects/docs-eslint/deploys/69b5d85f6d203400089b7018
😎 Deploy Preview https://deploy-preview-20540--docs-eslint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@eslint-github-bot eslint-github-bot bot added the documentation Relates to ESLint's documentation label Feb 21, 2026
Comment on lines +268 to +273
## <a name="eslint-js-removal"></a> `@eslint/js` no longer a direct dependency

The removal of eslintrc also removes the `@eslint/js` dependency from the "eslint" package.
As such `@eslint/js` must now be explicitly added to your `package.json` if you import one of its configurations.

**To address:** Explicitly add the `@eslint/js` dependency when using it in your `eslint.config.js`.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this isn't a breaking change. It was already recommended to install this package, as it being a dependency of eslint doesn't guarantee it will be available for import from the config file.

Here in v9.x docs, instructions were to install the @eslint/js package:

https://eslint.org/docs/v9.x/use/configure/configuration-files#using-predefined-configurations

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, while it is mentioned in the docs, it was not part of the migration guide for v9. So users only reading and applying the migration guides will get an error even though they followed it (see the referenced discussion).

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.

I don’t think this qualifies as a breaking change in ESLint, since ESLint itself does not depend on @eslint/js to function. If users weren’t installing it explicitly, that was incorrect. They shouldn’t rely on dependencies that are indirectly installed by another plugin.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yes, while it is mentioned in the docs, it was not part of the migration guide for v9. So users only reading and applying the migration guides will get an error even though they followed it (see the referenced discussion).

v9 migration guide has a section for the new default config format (using the @eslint/js package in config files is important for the new config format only):

https://eslint.org/docs/latest/use/migrate-to-9.0.0#-new-default-config-format-eslintconfigjs

There it links to the configuration migration guide where it is also stated to install @eslint/js:

https://eslint.org/docs/latest/use/configure/migration-guide#predefined-and-shareable-configs

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Ah, I see there's another section about "eslint:recommended" and "eslint:all" because those string references used to work with the new config format in ESLint v8. Perhaps we should add instructions to install @eslint/js there.

https://eslint.org/docs/latest/use/migrate-to-9.0.0#-eslintrecommended-and-eslintall-no-longer-accepted-in-flat-config

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 3, 2026

Hi everyone, it looks like we lost track of this pull request. Please review and see what the next steps are. This pull request will auto-close in 7 days without an update.

@github-actions github-actions bot added the Stale label Mar 3, 2026
@github-actions
Copy link
Copy Markdown

This pull request was auto-closed due to inactivity. While we wish we could keep working on every request, we unfortunately don't have the bandwidth to continue here and need to focus on other things. You can resubmit this pull request if you would like to continue working on it.

@github-actions github-actions bot closed this Mar 11, 2026
@github-project-automation github-project-automation bot moved this from Needs Triage to Complete in Triage Mar 11, 2026
@lumirlumir lumirlumir reopened this Mar 14, 2026
@github-project-automation github-project-automation bot moved this from Complete to Evaluating in Triage Mar 14, 2026
@lumirlumir
Copy link
Copy Markdown
Member

I’m reopening this issue since it went stale. @DMartens are you still available to work on this PR?

@DMartens
Copy link
Copy Markdown
Contributor Author

DMartens commented Mar 14, 2026

Sorry for dropping the ball on this and thanks for re-opening lumir.
I reverted the changes to the v10 migration guide and added a simple Install and use instruction to the suggested section in the v9 migration guide.

@github-actions github-actions bot removed the Stale label Mar 14, 2026
@mdjermanovic mdjermanovic changed the title docs: add @eslint/js removal to migration guide docs: update v9 migration guide for @eslint/js usage Mar 15, 2026
Copy link
Copy Markdown
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

@mdjermanovic mdjermanovic merged commit 7143dbf into eslint:main Mar 15, 2026
42 checks passed
@github-project-automation github-project-automation bot moved this from Evaluating to Complete in Triage Mar 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Relates to ESLint's documentation

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

4 participants