Skip to content

Commit dd935c6

Browse files
committed
ensure plugin instantiate can return a module instance
1 parent a8ab613 commit dd935c6

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

lib/register.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -245,8 +245,8 @@ function createEntry() {
245245
}
246246

247247
// module binding records
248-
function Module() {}
249-
defineProperty(Module, 'toString', {
248+
function ModuleRecord() {}
249+
defineProperty(ModuleRecord, 'toString', {
250250
value: function() {
251251
return 'Module';
252252
}
@@ -256,7 +256,7 @@ function createEntry() {
256256
return moduleRecords[name] || (moduleRecords[name] = {
257257
name: name,
258258
dependencies: [],
259-
exports: new Module(), // start from an empty module and extend
259+
exports: new ModuleRecord(), // start from an empty module and extend
260260
importers: []
261261
});
262262
}
@@ -416,7 +416,7 @@ function createEntry() {
416416
exports = module.exports;
417417

418418
// __esModule flag treats as already-named
419-
if (exports && exports.__esModule)
419+
if (exports && (exports.__esModule || exports instanceof Module))
420420
entry.esModule = exports;
421421
// set module as 'default' export, then fake named exports by iterating properties
422422
else if (entry.esmExports && exports !== __global)

0 commit comments

Comments
 (0)