Current Dev State

This commit is contained in:
Tim Lorsbach
2025-06-23 20:13:54 +02:00
parent b4f9bb277d
commit ded50edaa2
22617 changed files with 4345095 additions and 174 deletions

View File

@ -0,0 +1,61 @@
# babel-plugin-transform-es2015-modules-amd
> This plugin transforms ES2015 modules to [Asynchronous Module Definition (AMD)](https://github.com/amdjs/amdjs-api).
## Example
**In**
```javascript
export default 42;
```
**Out**
```javascript
define(["exports"], function (exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = 42;
});
```
## Installation
```sh
npm install --save-dev babel-plugin-transform-es2015-modules-amd
```
## Usage
### Via `.babelrc` (Recommended)
**.babelrc**
```json
{
"plugins": ["transform-es2015-modules-amd"]
}
```
### Via CLI
```sh
babel --plugins transform-es2015-modules-amd script.js
```
### Via Node API
```javascript
require("babel-core").transform("code", {
plugins: ["transform-es2015-modules-amd"]
});
```
### Options
See options for `babel-plugin-transform-es2015-commonjs`.

View File

@ -0,0 +1,137 @@
"use strict";
exports.__esModule = true;
var _create = require("babel-runtime/core-js/object/create");
var _create2 = _interopRequireDefault(_create);
exports.default = function (_ref) {
var t = _ref.types;
function isValidRequireCall(path) {
if (!path.isCallExpression()) return false;
if (!path.get("callee").isIdentifier({ name: "require" })) return false;
if (path.scope.getBinding("require")) return false;
var args = path.get("arguments");
if (args.length !== 1) return false;
var arg = args[0];
if (!arg.isStringLiteral()) return false;
return true;
}
var amdVisitor = {
ReferencedIdentifier: function ReferencedIdentifier(_ref2) {
var node = _ref2.node,
scope = _ref2.scope;
if (node.name === "exports" && !scope.getBinding("exports")) {
this.hasExports = true;
}
if (node.name === "module" && !scope.getBinding("module")) {
this.hasModule = true;
}
},
CallExpression: function CallExpression(path) {
if (!isValidRequireCall(path)) return;
this.bareSources.push(path.node.arguments[0]);
path.remove();
},
VariableDeclarator: function VariableDeclarator(path) {
var id = path.get("id");
if (!id.isIdentifier()) return;
var init = path.get("init");
if (!isValidRequireCall(init)) return;
var source = init.node.arguments[0];
this.sourceNames[source.value] = true;
this.sources.push([id.node, source]);
path.remove();
}
};
return {
inherits: require("babel-plugin-transform-es2015-modules-commonjs"),
pre: function pre() {
this.sources = [];
this.sourceNames = (0, _create2.default)(null);
this.bareSources = [];
this.hasExports = false;
this.hasModule = false;
},
visitor: {
Program: {
exit: function exit(path) {
var _this = this;
if (this.ran) return;
this.ran = true;
path.traverse(amdVisitor, this);
var params = this.sources.map(function (source) {
return source[0];
});
var sources = this.sources.map(function (source) {
return source[1];
});
sources = sources.concat(this.bareSources.filter(function (str) {
return !_this.sourceNames[str.value];
}));
var moduleName = this.getModuleName();
if (moduleName) moduleName = t.stringLiteral(moduleName);
if (this.hasExports) {
sources.unshift(t.stringLiteral("exports"));
params.unshift(t.identifier("exports"));
}
if (this.hasModule) {
sources.unshift(t.stringLiteral("module"));
params.unshift(t.identifier("module"));
}
var node = path.node;
var factory = buildFactory({
PARAMS: params,
BODY: node.body
});
factory.expression.body.directives = node.directives;
node.directives = [];
node.body = [buildDefine({
MODULE_NAME: moduleName,
SOURCES: sources,
FACTORY: factory
})];
}
}
}
};
};
var _babelTemplate = require("babel-template");
var _babelTemplate2 = _interopRequireDefault(_babelTemplate);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var buildDefine = (0, _babelTemplate2.default)("\n define(MODULE_NAME, [SOURCES], FACTORY);\n");
var buildFactory = (0, _babelTemplate2.default)("\n (function (PARAMS) {\n BODY;\n })\n");
module.exports = exports["default"];

View File

@ -0,0 +1,48 @@
{
"_from": "babel-plugin-transform-es2015-modules-amd@^6.22.0",
"_id": "babel-plugin-transform-es2015-modules-amd@6.24.1",
"_inBundle": false,
"_integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
"_location": "/babel-plugin-transform-es2015-modules-amd",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "babel-plugin-transform-es2015-modules-amd@^6.22.0",
"name": "babel-plugin-transform-es2015-modules-amd",
"escapedName": "babel-plugin-transform-es2015-modules-amd",
"rawSpec": "^6.22.0",
"saveSpec": null,
"fetchSpec": "^6.22.0"
},
"_requiredBy": [
"/babel-plugin-transform-es2015-modules-umd",
"/babel-preset-env"
],
"_resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
"_shasum": "3b3e54017239842d6d19c3011c4bd2f00a00d154",
"_spec": "babel-plugin-transform-es2015-modules-amd@^6.22.0",
"_where": "/home/manfred/enviPath/ketcher2/ketcher/node_modules/babel-preset-env",
"bundleDependencies": false,
"dependencies": {
"babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
"babel-runtime": "^6.22.0",
"babel-template": "^6.24.1"
},
"deprecated": false,
"description": "This plugin transforms ES2015 modules to AMD",
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.24.1"
},
"keywords": [
"babel-plugin"
],
"license": "MIT",
"main": "lib/index.js",
"name": "babel-plugin-transform-es2015-modules-amd",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-modules-amd"
},
"version": "6.24.1"
}