Skip to content

Cypress shows multiple warnings "ExperimentalWarning: Custom ESM Loaders ..." for Node.js >=20.0.0 <=20.6.0 #32395

@MikeMcC399

Description

@MikeMcC399

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:

cypress/cli/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:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions