ensure __esModule flag check for existing, only on object-like

This commit is contained in:
guybedford 2017-02-20 14:03:53 +02:00
parent db6865877e
commit da598b3d33
2 changed files with 7 additions and 4 deletions

View File

@ -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
});
};
}

View File

@ -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
});