Skip to content

Wrong ERR_REQUIRE_CYCLE_MODULE for require(esm) #55516

@nicolo-ribaudo

Description

@nicolo-ribaudo

Version

23.0.0

Platform

No response

Subsystem

No response

What steps will reproduce the bug?

// main.cjs

try {
  require("./dep.mjs");
} catch {
  require("./dep.mjs");
}
// dep.mjs
await 0;

How often does it reproduce? Is there a required condition?

/

What is the expected behavior? Why is that the expected behavior?

It should throw ERR_REQUIRE_ASYNC_MODULE

What do you see instead?

It throws ERR_REQUIRE_CYCLE_MODULE

Additional information

Probably all the places that currently assert that a module is either not loaded or already evaluated should be changed to check that, the module is either not loaded, evaluated, or instantaited.

cc @joyeecheung

Metadata

Metadata

Assignees

No one assigned

    Labels

    loadersIssues and PRs related to ES module loaders

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions