diff --git a/src/bun.js/modules/NodeModuleModule.h b/src/bun.js/modules/NodeModuleModule.h index 0be647c392..7c8f6ee143 100644 --- a/src/bun.js/modules/NodeModuleModule.h +++ b/src/bun.js/modules/NodeModuleModule.h @@ -138,6 +138,10 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionNodeModuleModuleConstructor, out->putDirect(vm, JSC::Identifier::fromString(vm, "parent"_s), parentValue, 0); + out->putDirect(vm, JSC::Identifier::fromString(vm, "exports"_s), + JSC::constructEmptyObject(globalObject, + globalObject->objectPrototype(), 0), + 0); return JSValue::encode(out); } diff --git a/test/js/node/module/node-module-module.test.js b/test/js/node/module/node-module-module.test.js index 58a81fb98a..08955a7b7c 100644 --- a/test/js/node/module/node-module-module.test.js +++ b/test/js/node/module/node-module-module.test.js @@ -26,8 +26,11 @@ test("Module exists", () => { expect(Module).toBeDefined(); }); -test("module.Module exists", () => { +test("module.Module works", () => { expect(Module.Module === Module).toBeTrue(); + + const m = new Module("asdf"); + expect(m.exports).toEqual({}); }); test("_nodeModulePaths() works", () => {