◐ Shell
clean mode source ↗

esm: show race error message for inner module job race · nodejs/node@5347c49

Original file line numberDiff line numberDiff line change

@@ -471,6 +471,10 @@ class ModuleLoader {

471471

const resolvedImportAttributes = resolveResult.importAttributes ?? importAttributes;

472472

let job = this.loadCache.get(url, resolvedImportAttributes.type);

473473

if (job !== undefined) {

474+

// TODO(node:55782): this race may stop happening when the ESM resolution and loading become synchronous.

475+

if (!job.module) {

476+

assert.fail(getRaceMessage(url, parentURL));

477+

}

474478

// This module is being evaluated, which means it's imported in a previous link

475479

// in a cycle.

476480

if (job.module.getStatus() === kEvaluating) {