-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Description
Current behavior
After installing and opening Cypress with Node.js >=20.0.0 <=20.6.0
, multiple error messages are output, similar to:
<<<CYPRESS.STDERR.START>>>(node:4910) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
Desired behavior
Cypress should not throw multiple error messages on versions of Node.js it allows in the engines
field of package.json
:
Lines 122 to 124 in d0570f8
"engines": { | |
"node": "^20.0.0 || ^22.0.0 || >=24.0.0" | |
}, |
Attempting to improve the experience of running under low minor versions of Node.js 20 would not be a productive investment, since Node.js effectively only supports the latest release in each Node.js release line. The minimum Node.js 20.x version should be raised to rule out using problematic versions Node.js >=20.0.0 <=20.6.0
I suggest using Node.js 20.9.0, released on Oct 24, 2023. This was the release marking the transition of Node.js 20.x into Long Term Support (LTS) and it could be a suitable milestone with which to align for support purposes.
Test code to reproduce
cd $(mktemp -d)
npm install cypress
npx cypress open
Cypress Version
15.0.0
This is a regression from 14.5.4
, where the issue does not occur.
Node version
v20.0.0
- v20.5.1
Operating System
Ubuntu 24.04.3
LTS
Debug Logs
$ npx cypress open
DevTools listening on ws://127.0.0.1:43683/devtools/browser/81330447-ef9b-45ef-bc3b-176aeff3c5b5
[4513:0901/201450.546843:ERROR:ui/gfx/x/atom_cache.cc:232] Add _NET_WM_WINDOW_TYPE_INDEX to kAtomsToCache
<<<CYPRESS.STDERR.START>>>(node:4910) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
<<<CYPRESS.STDERR.END>>><<<CYPRESS.STDERR.START>>>(node:4910) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
<<<CYPRESS.STDERR.END>>><<<CYPRESS.STDERR.START>>>(node:4910) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
<<<CYPRESS.STDERR.END>>>
Other
Node.js 20 release line milestone releases:
- Node.js 20.0.0 release Apr 18,2023
- Node.js 20.6.0 release Sep 4, 2023
- Node.js 20.9.0 release Oct 24, 2023, first LTS release
- Node.js 20.19.4 release Jul 15, 2025, latest maintenance LTS release