Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
babel-plugin-add-module-exports
Advanced tools
The babel-plugin-add-module-exports package is a Babel plugin that modifies the behavior of ES6 module exports to add a module.exports property. This is particularly useful for compatibility with CommonJS modules.
Add module.exports to ES6 exports
This feature ensures that the default export of an ES6 module is also available as a CommonJS module export. This is useful for projects that need to support both ES6 and CommonJS module systems.
module.exports = exports['default'];
This package transforms ES6 module syntax to CommonJS. While it doesn't specifically add module.exports, it converts import/export statements to require/module.exports, providing broader compatibility with CommonJS.
npm install babel-plugin-add-module-exports --save-dev
babel-plugin-transform-es2015-modules-commonjs@6.1.4 doesn't support the module.exports
.
// index.js
export default 'foo'
npm install babel-cli --global
npm install babel-preset-es2015 --save-dev
npm install babel-plugin-transform-es2015-modules-commonjs@6.1.4 --save-dev
babel index.js --presets es2015 --plugins transform-es2015-modules-commonjs > bundle.js
# 'use strict';
#
# Object.defineProperty(exports, "__esModule", {
# value: true
# });
# exports.default = 'foo';
Therefore, need to use the .default
at NodeJS.
require('./bundle.js') // { default: 'foo' }
require('./bundle.js').default // 'foo'
This plugin add the module.exports
if only the export default
declaration exists.
npm install babel-plugin-add-module-exports --save-dev
babel index.js --presets es2015 --plugins add-module-exports > bundle.js
# 'use strict';
#
# Object.defineProperty(exports, "__esModule", {
# value: true
# });
# exports.default = 'foo';
# module.exports = exports['default'];
Therefore, .default
is the unnecessary.
require('./bundle.js') // foo
FAQs
Fix babel/babel#2212
We found that babel-plugin-add-module-exports demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.