-
Notifications
You must be signed in to change notification settings - Fork 30.2k
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
Breaking changes in 18.19.0 (including The --loader flag was deprecated in Node v20.6.0) #51048
Comments
In Node 18, the loader flag was marked as experimental for which they say:
|
The error seems to be thrown by your dependency |
I'll try to create simple reproductions without dependencies. We have a few hundred packages failing to build with 18.19.0 that are building successfully with 18.18.0. Most are fixed by updating their dependencies to versions that work with node 20. I'll accept that loader is experimental, but the error message should at least read deprecated in |
The error message does not come from us. It is thrown by the |
Breaking existing code is painful, but it's a tradeoff to be made between having two different implementations between 18.x and the other release lines – which is a maintenance burden, both for us and for loaders/hooks authors. It's unfortunate that the package you are using is hiding the fact that it's using an experimental API (by default, Node.js emits a warning when you use the Breaking changes in experimental APIs is considered fair game, and the incorrect warning is not emitted by us, closing as it seems there's nothing to be done on Node.js side. |
Thanks for the well thought out response, I understand closing the issue, I figured this was caused by undefined or experimental behaviors. Do you have any pointers for the issues we see in Jest?
|
I solved it in the following way |
This is still a breaking change that didn't affect Node 18.18 and earlier, with no experimental flags attached. I would either re-open this focusing only on this topic, or open a new issue. |
relates-to: nodejs/node#51048 relates-to: #467
* fix: Use npx, not yarn * fix: Update common, server * fix: Update comment * chore: Update dependencies * fix: Modify tests for poll * fix: Use styled components * fix: Update extention * fix: update settings * chore: Add package-lock.json * fix: Use npx instead of yarn * fix: Use npm to execute script * fix: call eslint and jest through npm script * fix: Use npm scripts * fix: Use node 18.16.0 nodejs/node#51048 * fix: Fix type check * fix: Update rollup-typescript plugin * fix: Update rollup rollup/rollup#4213 * fix: Update entry point * fix: Add workaround for hung up on windows-latest * fix: Add windows hungup workaround
… a breaking issue now See details: nodejs/node#51048
Version
18.19.0
Platform
Linux ua0683ea36b1857.ant.amazon.com 5.15.0-91-generic #101~20.04.1-Ubuntu SMP Thu Nov 16 14:22:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
various
What steps will reproduce the bug?
I'm seeing various failures in our CI builds after upgrading 18.18.0 to 18.19.0, including an error for a flag that is deprecated in node 20.6.0
(tsx 3) errors on flag deprecated in 20
(jest 28) TypeError: Cannot assign to read only property 'performance' of object '[object global]'
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior? Why is that the expected behavior?
No breaking changes between minor versions of an LTS release
What do you see instead?
Breaking changes, including a reference to a flag that is deprecated in a greater major version.
Additional information
No response
The text was updated successfully, but these errors were encountered: