Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@babel/plugin-transform-modules-systemjs
Advanced tools
This plugin transforms ES2015 modules to SystemJS
The @babel/plugin-transform-modules-systemjs package is a plugin for Babel that transforms ECMAScript modules to SystemJS format. This is useful for enabling module loading in environments that do not natively support ES modules, or for integrating with module loaders that expect SystemJS format. It allows developers to write their code using the standard ES6 module syntax and then compile it to a format that is compatible with the SystemJS loader.
Transform ES modules to SystemJS
This feature allows you to write your modules using ES6 import/export syntax and then transform them into SystemJS format. The code sample shows a simple import statement that would be converted to SystemJS format by the plugin.
import { foo } from 'my-module';
foo();
Customizable module IDs
The plugin allows for customization of the generated module IDs, enabling better integration with existing SystemJS configurations and module naming conventions. The code sample illustrates an export statement that would be transformed, with the module ID being customizable.
export const myExport = () => 'Hello World';
Interop with CommonJS and AMD modules
The plugin provides interoperability with CommonJS and AMD modules, allowing them to be imported into SystemJS formatted modules. The code sample demonstrates importing a CommonJS module and using it within an ES module.
import cjsModule from 'commonjs-module';
cjsModule.doSomething();
This package transforms ES6 modules to CommonJS format. It is similar to @babel/plugin-transform-modules-systemjs but targets a different module system. While SystemJS is a dynamic module loader that can load various module formats, CommonJS is a standard for Node.js and is used for server-side and some client-side JavaScript applications.
This Babel plugin transforms ES6 modules to Asynchronous Module Definition (AMD) format. Similar to the SystemJS plugin, it allows for writing modules in ES6 syntax and compiling them to a format compatible with AMD loaders like RequireJS. The main difference is the target module system; AMD is primarily used for asynchronous loading of modules in browsers.
This is a plugin for Rollup, a module bundler, that converts CommonJS modules into ES6 so they can be included in a Rollup bundle. It serves a similar purpose to @babel/plugin-transform-modules-systemjs by enabling the use of a different module format, but it is specific to the Rollup ecosystem and focuses on the conversion from CommonJS to ES6 rather than the other way around.
This plugin transforms ES2015 modules to SystemJS.
In
export default 42;
Out
System.register([], function (_export, _context) {
return {
setters: [],
execute: function () {
_export("default", 42);
}
};
});
For dynamic import support (import('./lazy.js').then(m => ...)
), enable the @babel/plugin-syntax-dynamic-import plugin before this one.
npm install --save-dev @babel/plugin-transform-modules-systemjs
.babelrc
(Recommended).babelrc
Without options:
{
"plugins": ["@babel/plugin-transform-modules-systemjs"]
}
With options:
{
"plugins": [
["@babel/plugin-transform-modules-systemjs", {
// outputs SystemJS.register(...)
"systemGlobal": "SystemJS"
}]
]
}
babel --plugins @babel/plugin-transform-modules-systemjs script.js
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-transform-modules-systemjs"]
});
FAQs
This plugin transforms ES2015 modules to SystemJS
The npm package @babel/plugin-transform-modules-systemjs receives a total of 17,869,186 weekly downloads. As such, @babel/plugin-transform-modules-systemjs popularity was classified as popular.
We found that @babel/plugin-transform-modules-systemjs 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 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.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.