Skip to content
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

Upgrade to Node 20 #2002

Closed
4 tasks
puntope opened this issue Jun 27, 2023 · 0 comments · Fixed by #2517
Closed
4 tasks

Upgrade to Node 20 #2002

puntope opened this issue Jun 27, 2023 · 0 comments · Fixed by #2517
Assignees
Labels
type: enhancement The issue is a request for an enhancement.

Comments

@puntope
Copy link
Contributor

puntope commented Jun 27, 2023

Details

This issue is for upgrading the Node version since 16 (current version) has reached the end of it’s security support period. Since we rely on WP and WC components we should probably follow along with the Gutenberg issue:

WordPress/gutenberg#48588

Their current plan is to jump to Node 20.

This issue will also be helpful to collect any blockers which might be preventing us from upgrading the Node version.

Is your feature request related to a problem?

Node 16 (current version) has reached the end of it’s [security support period]

Describe the solution you'd like

Update to Node 20

📌 Blockers to check

Why blocked

With the current dependency tree, there are some packages do not / will not support Node.js v20, for example:

  1. @es-joy/[email protected], a child dependency of @wordpress/[email protected], doesn't support v18.
  2. This extension currently uses @woocommerce/[email protected], but @woocommerce/[email protected] (the current L-2 WC) only supports v16.

The first example blocks this extension to use v18 for now, and the second one may force it to downgrade to v16 in the future.

How to check

Since packages don't always accurately reflect the scope of Node.js support for children dependencies, confirming that these blocks have been removed usually requires actually upgrading the dependencies and testing the installation with Node.js v18 to see if it completes successfully.

Until then, another way to get a quick overview of package's Node.js support is npm view <packageName> engines, for example:

> npm view "@woocommerce/components@>=12" engines
@woocommerce/[email protected] { node: '^16.13.1', pnpm: '^7.13.3' }
@woocommerce/[email protected] { node: '^16.14.1', pnpm: '^8.6.5' }

Acceptance criteria

  • Node engines set to >= 20
  • .nvmrc set to v20
  • App compiles without errors with Node 20
  • JS tests run correctly without errors with Node 20
@puntope puntope added the type: enhancement The issue is a request for an enhancement. label Jun 27, 2023
@eason9487 eason9487 added the status: blocked The issue is blocked from progressing, waiting for another piece of work to be done. label Aug 24, 2023
@eason9487 eason9487 self-assigned this Aug 9, 2024
@eason9487 eason9487 changed the title Upgrade to Node 18 Upgrade to Node 20 Aug 9, 2024
@eason9487 eason9487 linked a pull request Aug 19, 2024 that will close this issue
@eason9487 eason9487 removed the status: blocked The issue is blocked from progressing, waiting for another piece of work to be done. label Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement The issue is a request for an enhancement.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants