<blockquote>
<p dir="auto">Issue originally made by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/track0x1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/track0x1">@track0x1</a></p>
</blockquote>
<h3 dir="auto">Bug information</h3>
<ul dir="auto">
<li><strong>Babel version:</strong> Latest</li>
<li><strong>Node version:</strong> 4</li>
</ul>
<h3 dir="auto">Input code</h3>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="export { myFunction } from 'functions'"><pre class="notranslate"><code class="notranslate">export { myFunction } from 'functions'
</code></pre></div>
<p dir="auto">transpiles to:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Object.defineProperty(exports, 'myFunction', {
  enumerable: true,
  get: function get() {
    return _functions.myFunction;
  }
});"><pre class="notranslate"><code class="notranslate">Object.defineProperty(exports, 'myFunction', {
  enumerable: true,
  get: function get() {
    return _functions.myFunction;
  }
});
</code></pre></div>
<p dir="auto">which creates an issue because getters are not supported in IE8, therefore breaking IE8.</p>
<h3 dir="auto">Description</h3>
<blockquote>
<p dir="auto">Issue originally made by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/timdorr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/timdorr">@timdorr</a></p>
</blockquote>
<h3 dir="auto">Bug information</h3>
<ul dir="auto">
<li><strong>Babel version:</strong> 6.7.7</li>
<li><strong>Node version:</strong> 5.5.0</li>
<li><strong>npm version:</strong> 3.8.7</li>
</ul>
<h3 dir="auto">Options</h3>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{
    &quot;presets&quot;: [&quot;es2015-loose&quot;, &quot;stage-1&quot;, &quot;react&quot;],
    &quot;plugins&quot;: [
        &quot;transform-es3-member-expression-literals&quot;,
        &quot;transform-es3-property-literals&quot;
    ]
}"><pre class="notranslate"><code class="notranslate">{
    "presets": ["es2015-loose", "stage-1", "react"],
    "plugins": [
        "transform-es3-member-expression-literals",
        "transform-es3-property-literals"
    ]
}
</code></pre></div>
<h3 dir="auto">Input code</h3>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="export { foo, bar } from './baz'"><pre class="notranslate"><span class="pl-k">export</span> <span class="pl-kos">{</span> <span class="pl-s1">foo</span><span class="pl-kos">,</span> <span class="pl-s1">bar</span> <span class="pl-kos">}</span> <span class="pl-k">from</span> <span class="pl-s">'./baz'</span></pre></div>
<h3 dir="auto">Description</h3>
<p dir="auto">Apologies if this has been discussed before. T2322 is tangentially related and fixed by <code class="notranslate">add-module-exports</code>.</p>
<p dir="auto">When using the above input code, you get something like this as output:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="var _baz = require('./baz');

Object.defineProperty(exports, 'foo', {
  enumerable: true,
  get: function get() {
    return _baz.foo;
  }
});
Object.defineProperty(exports, 'bar', {
  enumerable: true,
  get: function get() {
    return _baz.bar;
  }
});"><pre class="notranslate"><code class="notranslate">var _baz = require('./baz');

Object.defineProperty(exports, 'foo', {
  enumerable: true,
  get: function get() {
    return _baz.foo;
  }
});
Object.defineProperty(exports, 'bar', {
  enumerable: true,
  get: function get() {
    return _baz.bar;
  }
});
</code></pre></div>
<p dir="auto">While core-js/babel-polyfill can add in defineProperty support, it cannot do getters. I'm not sure why defineProperty is used, so pardon my ignorance if I'm missing something super-obvious. But can't a simple property assignment be used instead? It's enumerable anyways, so I'm not sure of the practical difference.</p>
<p dir="auto">It appears <a href="https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js#L17-L24">the code template remains untouched since the original 6.0.0 release</a>, so perhaps it needs to be touched up a bit? I'm happy to submit a PR.</p>