Skip to content

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

Merged
mdjermanovic merged 5 commits intomainfrom
feat/drop-node-18
Nov 11, 2025
Merged

feat!: Require Node.js ^20.19.0 || ^22.13.0 || >=24#297
mdjermanovic merged 5 commits intomainfrom
feat/drop-node-18

Conversation

@aladdin-add
Copy link
Member

Prerequisites checklist

What is the purpose of this pull request?

Updated package.json of the package to require:

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

This drops support for Node.js 18.

What changes did you make? (Give an overview)

Related Issues

refs eslint/eslint#19969

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

Copy link
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.

Can you also update the template for new projects?

"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}

mdjermanovic
mdjermanovic previously approved these changes Oct 20, 2025
Copy link
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!

SwetaTanwar
SwetaTanwar previously approved these changes Oct 24, 2025
@SwetaTanwar
Copy link

SwetaTanwar commented Oct 24, 2025

LGTM, thanks!

Copy link
Member

@lumirlumir lumirlumir left a comment

Choose a reason for hiding this comment

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

rewrite/package.json

Lines 31 to 33 in 35f7342

"engines": {
"node": ">= 22.3.0"
},

Could we also update the engines field in the root-level package.json?

I believe the engines field was first added in 973144e, but it seems fine to set it to ^20.19.0 || ^22.13.0 || >=24, since all internal Node.js modules used by the rewrite package are available with Node.js ^20.19.0.

@aladdin-add aladdin-add dismissed stale reviews from SwetaTanwar and mdjermanovic via 8aec85d October 30, 2025 12:53
@mdjermanovic
Copy link
Member

I believe the engines field was first added in 973144e, but it seems fine to set it to ^20.19.0 || ^22.13.0 || >=24, since all internal Node.js modules used by the rewrite package are available with Node.js ^20.19.0.

This was added because of fs.cpSync(), which is used in tools/new-pkg.js.

@lumirlumir
Copy link
Member

lumirlumir commented Oct 30, 2025

I missed that the stable version was released as v22.3.0 👍

If so, does using ^22.13.0 || >=24 make sense here? It seems a bit odd for me that the internal package.json and the root-level package.json use different engine versions.

@aladdin-add
Copy link
Member Author

It seems a bit odd for me that the internal package.json and the root-level package.json use different engine versions.

IMHO, it's fine - they are different things - unlike others, the root-level act as something like devEngines : https://github.com/openjs-foundation/package-metadata-interoperability-collab-space/blob/main/devengines-field-proposal.md

@lumirlumir
Copy link
Member

@aladdin-add Thanks for the reference!

If so, please feel free to revert my suggestion or set it to ^22.13.0 || >=24 depending on the consensus :)

Copy link
Member

@lumirlumir lumirlumir left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
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 marked this pull request as ready for review November 11, 2025 17:46
@mdjermanovic mdjermanovic merged commit acc623c into main Nov 11, 2025
25 checks passed
@mdjermanovic mdjermanovic deleted the feat/drop-node-18 branch November 11, 2025 17:46
@github-project-automation github-project-automation bot moved this from Blocked to Complete in Triage Nov 11, 2025
@github-actions github-actions bot mentioned this pull request Nov 11, 2025
jgarber623-cargosense added a commit to CargoSense/eslint-config that referenced this pull request Dec 4, 2025
736-c41-2c1-e464fc974 pushed a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 12, 2026
This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@eslint/compat](https://github.com/eslint/rewrite/tree/main/packages/compat#readme) ([source](https://github.com/eslint/rewrite/tree/HEAD/packages/compat)) | devDependencies | major | [`^1.3.1` → `^2.0.0`](https://renovatebot.com/diffs/npm/@eslint%2fcompat/1.4.1/2.0.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/eslint/rewrite/badge)](https://securityscorecards.dev/viewer/?uri=github.com/eslint/rewrite) |

---

### Release Notes

<details>
<summary>eslint/rewrite (@&#8203;eslint/compat)</summary>

### [`v2.0.0`](https://github.com/eslint/rewrite/blob/HEAD/packages/compat/CHANGELOG.md#200-2025-11-14)

[Compare Source](eslint/rewrite@f5ecc7e...c368656)

##### ⚠ BREAKING CHANGES

- Require Node.js ^20.19.0 || ^22.13.0 || >=24 ([#&#8203;297](eslint/rewrite#297))

##### Features

- patch missing context and SourceCode methods for v10 ([#&#8203;311](eslint/rewrite#311)) ([a40d8c6](eslint/rewrite@a40d8c6))
- Require Node.js ^20.19.0 || ^22.13.0 || >=24 ([#&#8203;297](eslint/rewrite#297)) ([acc623c](eslint/rewrite@acc623c))

##### Dependencies

- The following workspace dependencies were updated
  - dependencies
    - [@&#8203;eslint/core](https://github.com/eslint/core) bumped from ^0.17.0 to ^1.0.0

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yNy4xIiwidXBkYXRlZEluVmVyIjoiNDIuNzAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!234

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Jan 12, 2026
chore(deps): update @eslint/compat (major)

This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@eslint/compat](https://github.com/eslint/rewrite/tree/main/packages/compat#readme) ([source](https://github.com/eslint/rewrite/tree/HEAD/packages/compat)) | devDependencies | major | [`^1.3.1` → `^2.0.0`](https://renovatebot.com/diffs/npm/@eslint%2fcompat/1.4.1/2.0.0) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/eslint/rewrite/badge)](https://securityscorecards.dev/viewer/?uri=github.com/eslint/rewrite) |

---

### Release Notes

<details>
<summary>eslint/rewrite (@&#8203;eslint/compat)</summary>

### [`v2.0.0`](https://github.com/eslint/rewrite/blob/HEAD/packages/compat/CHANGELOG.md#200-2025-11-14)

[Compare Source](eslint/rewrite@f5ecc7e...c368656)

##### ⚠ BREAKING CHANGES

- Require Node.js ^20.19.0 || ^22.13.0 || >=24 ([#&#8203;297](eslint/rewrite#297))

##### Features

- patch missing context and SourceCode methods for v10 ([#&#8203;311](eslint/rewrite#311)) ([a40d8c6](eslint/rewrite@a40d8c6))
- Require Node.js ^20.19.0 || ^22.13.0 || >=24 ([#&#8203;297](eslint/rewrite#297)) ([acc623c](eslint/rewrite@acc623c))

##### Dependencies

- The following workspace dependencies were updated
  - dependencies
    - [@&#8203;eslint/core](https://github.com/eslint/core) bumped from ^0.17.0 to ^1.0.0

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yNy4xIiwidXBkYXRlZEluVmVyIjoiNDIuNzAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!234

Co-authored-by: Loom MR Pipeline Trigger <group_103951964_bot_9504bb8dead6d4e406ad817a607f24be@noreply.gitlab.com>
Co-authored-by: open-source Pipeline <group_90701827_bot_ed04ae348bc5f40af9966fb8b6867e99@noreply.gitlab.com>
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.

5 participants