💻
How are you using Babel?
@babel/cli
Input code
// src/index.mjs
import _, { capitalize } from "lodash";
console.log(_);
console.log(capitalize);
Configuration file name
.babelrc.js
Configuration
module.exports = {
sourceType: 'unambiguous',
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current',
},
},
],
],
};
Current and expected behavior
Current Behavior
The above .mjs file is compiled to:
"use strict";
var _lodash = _interopRequireDefault(require("lodash"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
console.log(_lodash.default);
console.log(_lodash.capitalize);
Expected Behavior
The above .mjs file should be compiled to:
"use strict";
var _lodash = _interopRequireWildcard(require("lodash"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
console.log(_lodash.default);
console.log(_lodash.capitalize);
Npm Script
"build": "babel src --out-dir dist --extensions '.mjs'"
Environment
System:
Binaries:
- Node: 16.14.0 - ~/.nvm/versions/node/v16.14.0/bin/node
- npm: 8.3.1 - ~/.nvm/versions/node/v16.14.0/bin/npm
npmPackages:
- @babel/cli: ^7.12.0 => 7.17.6
- @babel/core: ^7.12.0 => 7.17.5
- @babel/preset-env: ^7.12.0 => 7.16.11
Possible solution
No response
Additional context
No response
💻
How are you using Babel?
@babel/cli
Input code
Configuration file name
.babelrc.js
Configuration
Current and expected behavior
Current Behavior
The above
.mjsfile is compiled to:Expected Behavior
The above
.mjsfile should be compiled to:Npm Script
Environment
System:
Binaries:
npmPackages:
Possible solution
No response
Additional context
No response