diff --git a/src/format-helpers.js b/src/format-helpers.js index 25581ab9..adcabddc 100644 --- a/src/format-helpers.js +++ b/src/format-helpers.js @@ -384,9 +384,11 @@ function amdGetCJSDeps(source, requireIndex) { function wrapEsModuleExecute (execute) { return function (require, exports, module) { execute(require, exports, module); - Object.defineProperty(module.exports, '__esModule', { - value: true - }); + exports = module.exports; + if ((typeof exports === 'object' || typeof exports === 'function') && !('__esModule' in exports)) + Object.defineProperty(module.exports, '__esModule', { + value: true + }); }; } diff --git a/src/instantiate.js b/src/instantiate.js index d18f19f4..565b59ad 100644 --- a/src/instantiate.js +++ b/src/instantiate.js @@ -12,7 +12,8 @@ if (typeof require !== 'undefined' && typeof process !== 'undefined' && !process nodeRequire = require; function setMetaEsModule (metadata, moduleValue) { - if (metadata.load.esModule && !('__esModule' in moduleValue)) + if (metadata.load.esModule && (typeof moduleValue === 'object' || typeof moduleValue === 'function') && + !('__esModule' in moduleValue)) Object.defineProperty(moduleValue, '__esModule', { value: true });