What problem do you want to solve?
The engines field in package.json is currently set to >= 20, but newer versions of eslint-scope, espree, and the @eslint/* packages require ^20.19.0 || ^22.13.0 || >=24.
That means our declared Node.js support range is broader than the range supported by key parts of the ESLint ecosystem we depend on. This can make upgrades confusing and can leave us advertising support for Node.js versions that are no longer actually compatible with the packages we want to use.
It also seems like a good time to revisit Node 20 support more generally, since Node 20 reaches end of life on April 30, 2026.
What do you think is the correct solution?
Update the engines.node range in package.json so it reflects the support policy we actually want.
I think there are two reasonable options:
- Match the current ESLint ecosystem minimum exactly:
^20.19.0 || ^22.13.0 || >=24
- Drop Node 20 support entirely and move to a more forward-looking range:
^22.13.0 || >=24
Participation
AI acknowledgment
Additional comments
No response
What problem do you want to solve?
The
enginesfield inpackage.jsonis currently set to>= 20, but newer versions ofeslint-scope,espree, and the@eslint/*packages require^20.19.0 || ^22.13.0 || >=24.That means our declared Node.js support range is broader than the range supported by key parts of the ESLint ecosystem we depend on. This can make upgrades confusing and can leave us advertising support for Node.js versions that are no longer actually compatible with the packages we want to use.
It also seems like a good time to revisit Node 20 support more generally, since Node 20 reaches end of life on April 30, 2026.
What do you think is the correct solution?
Update the
engines.noderange inpackage.jsonso it reflects the support policy we actually want.I think there are two reasonable options:
^20.19.0 || ^22.13.0 || >=24^22.13.0 || >=24Participation
AI acknowledgment
Additional comments
No response