-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat!: Require Node.js ^18.18.0 || ^20.9.0 || >=21.1.0
#17725
Conversation
Drops support for Node.js 12/14/16/17/19 Fixes #17595
✅ Deploy Preview for docs-eslint ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
^18.18.0 || ^20.7.0 || >=21.1.0
^18.18.0 || ^20.9.0 || >=21.1.0
This is ready for review. |
What do you think about using |
Makes sense to me, though I'm not sure if we should make changes to the Would it be 100% functionally equivalent? |
I think it is better to reduce the number of dependency packages even if the rules that affect them are deprecated, since it is beneficial for ESLint to reduce the number of dependency packages. What do you think?
Hmm. It seems that they are not 100% equivalent. |
Let's spin off the |
@@ -45,7 +45,7 @@ jobs: | |||
strategy: | |||
matrix: | |||
os: [ubuntu-latest] | |||
node: [21.x, 20.x, 19.x, 18.x, 17.x, 16.x, 14.x, 12.x, "12.22.0"] | |||
node: [21.x, 20.x, 18.x, "18.18.0"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not 18.x?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are both 18.x
and 18.18.0
.
18.x
to test on the latest version of Node.js 18 (currently 18.18.2).
18.18.0
to test on the minimum supported version
Agreed. @ota-meshi would you like to open an issue to discuss replacing |
I'll do it later when I have time. |
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed several things can be updated:
eslint/lib/config/flat-config-schema.js
Lines 12 to 16 in 0dd9704
/* * Note: This can be removed in ESLint v9 because structuredClone is available globally * starting in Node.js v17. */ const structuredClone = require("@ungap/structured-clone").default; eslint/lib/eslint/flat-eslint.js
Lines 12 to 13 in 0dd9704
// Note: Node.js 12 does not support fs/promises. const fs = require("fs").promises;
sure, it's not a blocker of merging this one, we can update it in another PR later.
Good catches! I agree, seems best to merge this PR as-is as a starting point when we start with v9 next week, and then make individual changes like these ones and #17835 in separate PRs so that it will be easier to revisit them separately (and revert if needed; hopefully not) later. |
Prerequisites checklist
What is the purpose of this pull request? (put an "X" next to an item)
[ ] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[x] Add something to the core
[ ] Other, please explain:
Fixes #17595
What changes did you make? (Give an overview)
Updated
package.json
to require:This drops support for Node.js 12/14/16/17/19.
Is there anything you'd like reviewers to focus on?
Did I miss any places that should be updated?