Skip to content

feat!: Require Node.js ^20.19.0 || ^22.13.0 || >=24#696

Merged
mdjermanovic merged 1 commit intomainfrom
node-versions-v10
Nov 6, 2025
Merged

feat!: Require Node.js ^20.19.0 || ^22.13.0 || >=24#696
mdjermanovic merged 1 commit intomainfrom
node-versions-v10

Conversation

@mdjermanovic
Copy link
Member

Prerequisites checklist

What is the purpose of this pull request?

Aligns supported Node.js versions with ESLint v10.

What changes did you make? (Give an overview)

Updated package.json of the espree, eslint-scope, and eslint-visitor-keys packages to require:

"node": "^20.19.0 || ^22.13.0 || >=24"

This drops support for Node.js 18.

Also updated CI configs and docs accordingly.

Related Issues

Refs eslint/eslint#19969

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

Did I miss any places that should be updated?

@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Sep 25, 2025
@mdjermanovic mdjermanovic moved this from Needs Triage to Blocked in Triage Sep 25, 2025
fasttime
fasttime previously approved these changes Sep 25, 2025
Copy link
Member

@fasttime fasttime 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! Waiting for another review.

@aladdin-add
Copy link
Member

there is a conflict now.

@mdjermanovic
Copy link
Member Author

there is a conflict now.

Resolved now.

Copy link

@SwetaTanwar SwetaTanwar left a comment

Choose a reason for hiding this comment

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

Changes LGTM!

@mdjermanovic mdjermanovic marked this pull request as ready for review November 6, 2025 18:05
@mdjermanovic mdjermanovic merged commit 9c84ecb into main Nov 6, 2025
11 checks passed
@mdjermanovic mdjermanovic deleted the node-versions-v10 branch November 6, 2025 18:05
@github-project-automation github-project-automation bot moved this from Blocked to Complete in Triage Nov 6, 2025
@github-actions github-actions bot mentioned this pull request Nov 6, 2025
@ljharb
Copy link
Contributor

ljharb commented Nov 19, 2025

@mdjermanovic does this change mean that espree 10 (and thus, eslint 9) can't ever support ecmaVersion 2025, which includes import assertions?

@mdjermanovic
Copy link
Member Author

espree 10 and eslint 9 already fully support ecmaVersion 2025.

@ljharb
Copy link
Contributor

ljharb commented Nov 22, 2025

Thanks; I clarified that in the discord. It turns out it's a different issue with eslint; i'll keep looking into it.

@luucasrb
Copy link

luucasrb commented Mar 3, 2026

Hi, I have a dependency in my project @typescript-eslint-parser that uses "eslint-visitor-keys": "^5.0.0", and since this commit was released, my yarn install command is falling with the error:

error eslint-visitor-keys@5.0.1: The engine "node" is incompatible with this module. Expected version "^20.19.0 || ^22.13.0 || >=24". Got "22.9.0"

My project is using Node 22.9 and it won't be an easy task to upgraded because of many CI/CD pipelines and submodules configured. So, I have some questions:

  • Since this is a change that can break many projects, the version released here shouldn't be 6.x.x?
  • What's the problem with Node lower than 22.13 that forced this changes?

Thanks

@luucasrb
Copy link

luucasrb commented Mar 3, 2026

Hi, I have a dependency in my project @typescript-eslint-parser that uses "eslint-visitor-keys": "^5.0.0", and since this commit was released, my yarn install command is falling with the error:

error eslint-visitor-keys@5.0.1: The engine "node" is incompatible with this module. Expected version "^20.19.0 || ^22.13.0 || >=24". Got "22.9.0"

My project is using Node 22.9 and it won't be an easy task to upgraded because of many CI/CD pipelines and submodules configured. So, I have some questions:

  • Since this is a change that can break many projects, the version released here shouldn't be 6.x.x?
  • What's the problem with Node lower than 22.13 that forced this changes?

Thanks

Hi, I have a dependency in my project @typescript-eslint-parser that uses "eslint-visitor-keys": "^5.0.0", and since this commit was released, my yarn install command is falling with the error:

error eslint-visitor-keys@5.0.1: The engine "node" is incompatible with this module. Expected version "^20.19.0 || ^22.13.0 || >=24". Got "22.9.0"

My project is using Node 22.9 and it won't be an easy task to upgraded because of many CI/CD pipelines and submodules configured. So, I have some questions:

  • Since this is a change that can break many projects, the version released here shouldn't be 6.x.x?
  • What's the problem with Node lower than 22.13 that forced this changes?

Thanks

My bad, just saw that the it was released as Breaking Change from 4.2.1 to 5.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

6 participants