Skip to content

Set "__esModule" to true unless "addDefaultProperty" is true #79

@SteinNs

Description

@SteinNs

The plugin helps us set

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = 'foo';
module.exports = exports['default'];

So we can only usemod = require('xx') but not mod = require('xx').default any more if we don't set "addDefaultProperty" to true.
However, both
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } in Babel and

__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;

in webpack imports a module harmonly depending on whethermodule.__esModule is true which may import undefined from module.default.

So will it better set "__esModule" to false when "addDefaultProperty" is false in order to tell Babel and webpack import module from module.exports instead of module.exports.default?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions