-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
[Bug] Cannot import mjs from cjs if this mjs file is already planned to be imported (ReferenceError: default is not defined) #58061
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
First shows up in v23.10.0 and v22.15.0 |
cc @joyeecheung @nodejs/loaders |
In v22.14.0 (output for v23.9.0 is different but still gives ERR_REQUIRE_CYCLE_MODULE) node:internal/modules/esm/loader:346
throw new ERR_REQUIRE_CYCLE_MODULE(message);
^
Error [ERR_REQUIRE_CYCLE_MODULE]: Cannot require() ES Module **PATH_TO**module3.cjs in a cycle. (from **PATH_TO**module2.cjs)
at ModuleLoader.importSyncForRequire (node:internal/modules/esm/loader:346:15)
at loadESMFromCJS (node:internal/modules/cjs/loader:1385:24)
at Module._compile (node:internal/modules/cjs/loader:1536:5)
at Object..js (node:internal/modules/cjs/loader:1706:10)
at Module.load (node:internal/modules/cjs/loader:1289:32)
at Function._load (node:internal/modules/cjs/loader:1108:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
at Module.require (node:internal/modules/cjs/loader:1311:12)
at require (node:internal/modules/helpers:136:16) {
code: 'ERR_REQUIRE_CYCLE_MODULE'
}
Node.js v22.14.0 Is this the expected behavior in v22.15.0+ / v23.10.0+ ? |
I'm not sure ERR_REQUIRE_CYCLE_MODULE error is expected behaivor either. Also it works if module3 does not have default export. |
Thanks for the report, fix in #58067 |
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Version
23.11.0
Platform
What steps will reproduce the bug?
Create module1.mjs:
Create module2.cjs:
Create module3.mjs:
Launch:
How often does it reproduce? Is there a required condition?
100%, no.
What is the expected behavior?
Successful launch
What do you see instead?
require('./module3.mjs') throws this error:
The text was updated successfully, but these errors were encountered: