@babel/plugin-transform-modules-commonjs
Advanced tools
Weekly downloads
Package description
The @babel/plugin-transform-modules-commonjs npm package is a Babel plugin that transforms ECMAScript modules to CommonJS modules. This is useful for enabling code written using ES6 module syntax to run in environments that only support CommonJS modules, such as older versions of Node.js or browsers without ES6 module support.
Transform ES6 import statements to CommonJS require
Converts ES6 import statements into CommonJS require calls.
import { square } from './math';
console.log(square(5));
// Transformed code:
var _math = require('./math');
console.log(_math.square(5));
Transform ES6 export statements to CommonJS exports
Converts ES6 named and default export statements into CommonJS module.exports assignments.
export const square = (n) => n * n;
export default square;
// Transformed code:
const square = (n) => n * n;
exports.square = square;
exports.default = square;
Interoperability with Babel's module interop helpers
Ensures compatibility with Babel's interopRequireDefault helper to handle default exports when importing modules.
import square from './math';
console.log(square(5));
// Transformed code with interopRequireDefault helper:
var _math = _interopRequireDefault(require('./math'));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
console.log(_math.default(5));
The 'esm' package is a lightweight runtime that allows you to load ES modules in Node.js. It differs from @babel/plugin-transform-modules-commonjs in that it doesn't require a build step and can directly execute ES modules in Node.js.
The '@rollup/plugin-commonjs' package is a plugin for Rollup that converts CommonJS modules into ES6 modules that Rollup can then bundle. It serves a similar purpose but is specific to the Rollup bundler, whereas @babel/plugin-transform-modules-commonjs is more general-purpose and can be used with various build tools that support Babel.
The 'babel-plugin-transform-es2015-modules-commonjs' package is an older Babel plugin that also transforms ES6 modules to CommonJS. It has been superseded by @babel/plugin-transform-modules-commonjs, which is part of the Babel 7 release.
Changelog
v7.23.3 (2023-11-09)
babel-plugin-transform-typescript
babel-generator
concise: true
(@liuxingbaoyu)babel-compat-data
, babel-plugin-bugfix-v8-static-class-fields-redefine-readonly
, babel-preset-env
babel-plugin-transform-object-super
super.x
in a loop (@liuxingbaoyu)babel-helper-module-transforms
, babel-plugin-transform-modules-amd
, babel-plugin-transform-modules-commonjs
, babel-plugin-transform-modules-umd
__proto__
exports name in CJS/AMD/UMD (@magic-akari)babel-core
, babel-preset-env
preset-env
(@nicolo-ribaudo)babel-generator
@babel/generator
performance (@liuxingbaoyu)babel-traverse
Readme
This plugin transforms ES2015 modules to CommonJS
See our website @babel/plugin-transform-modules-commonjs for more information.
Using npm:
npm install --save-dev @babel/plugin-transform-modules-commonjs
or using yarn:
yarn add @babel/plugin-transform-modules-commonjs --dev
FAQs
This plugin transforms ES2015 modules to CommonJS
The npm package @babel/plugin-transform-modules-commonjs receives a total of 23,320,274 weekly downloads. As such, @babel/plugin-transform-modules-commonjs popularity was classified as popular.
We found that @babel/plugin-transform-modules-commonjs demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.