init
This commit is contained in:
commit
d282e2bcae
3481 files changed
+568488
No files matched your search
+144
@@ -0,0 +1,144 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = _default;
|
||||
function helpers() {
|
||||
const data = require("@babel/helpers");
|
||||
helpers = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _generator() {
|
||||
const data = require("@babel/generator");
|
||||
_generator = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _template() {
|
||||
const data = require("@babel/template");
|
||||
_template = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
function _t() {
|
||||
const data = require("@babel/types");
|
||||
_t = function () {
|
||||
return data;
|
||||
};
|
||||
return data;
|
||||
}
|
||||
const {
|
||||
arrayExpression,
|
||||
assignmentExpression,
|
||||
binaryExpression,
|
||||
blockStatement,
|
||||
callExpression,
|
||||
cloneNode,
|
||||
conditionalExpression,
|
||||
exportNamedDeclaration,
|
||||
exportSpecifier,
|
||||
expressionStatement,
|
||||
functionExpression,
|
||||
identifier,
|
||||
memberExpression,
|
||||
objectExpression,
|
||||
program,
|
||||
stringLiteral,
|
||||
unaryExpression,
|
||||
variableDeclaration,
|
||||
variableDeclarator
|
||||
} = _t();
|
||||
const buildUmdWrapper = replacements => _template().default.statement`
|
||||
(function (root, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(AMD_ARGUMENTS, factory);
|
||||
} else if (typeof exports === "object") {
|
||||
factory(COMMON_ARGUMENTS);
|
||||
} else {
|
||||
factory(BROWSER_ARGUMENTS);
|
||||
}
|
||||
})(UMD_ROOT, function (FACTORY_PARAMETERS) {
|
||||
FACTORY_BODY
|
||||
});
|
||||
`(replacements);
|
||||
function buildGlobal(allowlist) {
|
||||
const namespace = identifier("babelHelpers");
|
||||
const body = [];
|
||||
const container = functionExpression(null, [identifier("global")], blockStatement(body));
|
||||
const tree = program([expressionStatement(callExpression(container, [conditionalExpression(binaryExpression("===", unaryExpression("typeof", identifier("global")), stringLiteral("undefined")), identifier("self"), identifier("global"))]))]);
|
||||
body.push(variableDeclaration("var", [variableDeclarator(namespace, assignmentExpression("=", memberExpression(identifier("global"), namespace), objectExpression([])))]));
|
||||
buildHelpers(body, namespace, allowlist);
|
||||
return tree;
|
||||
}
|
||||
function buildModule(allowlist) {
|
||||
const body = [];
|
||||
const refs = buildHelpers(body, null, allowlist);
|
||||
body.unshift(exportNamedDeclaration(null, Object.keys(refs).map(name => {
|
||||
return exportSpecifier(cloneNode(refs[name]), identifier(name));
|
||||
})));
|
||||
return program(body, [], "module");
|
||||
}
|
||||
function buildUmd(allowlist) {
|
||||
const namespace = identifier("babelHelpers");
|
||||
const body = [];
|
||||
body.push(variableDeclaration("var", [variableDeclarator(namespace, identifier("global"))]));
|
||||
buildHelpers(body, namespace, allowlist);
|
||||
return program([buildUmdWrapper({
|
||||
FACTORY_PARAMETERS: identifier("global"),
|
||||
BROWSER_ARGUMENTS: assignmentExpression("=", memberExpression(identifier("root"), namespace), objectExpression([])),
|
||||
COMMON_ARGUMENTS: identifier("exports"),
|
||||
AMD_ARGUMENTS: arrayExpression([stringLiteral("exports")]),
|
||||
FACTORY_BODY: body,
|
||||
UMD_ROOT: identifier("this")
|
||||
})]);
|
||||
}
|
||||
function buildVar(allowlist) {
|
||||
const namespace = identifier("babelHelpers");
|
||||
const body = [];
|
||||
body.push(variableDeclaration("var", [variableDeclarator(namespace, objectExpression([]))]));
|
||||
const tree = program(body);
|
||||
buildHelpers(body, namespace, allowlist);
|
||||
body.push(expressionStatement(namespace));
|
||||
return tree;
|
||||
}
|
||||
function buildHelpers(body, namespace, allowlist) {
|
||||
const getHelperReference = name => {
|
||||
return namespace ? memberExpression(namespace, identifier(name)) : identifier(`_${name}`);
|
||||
};
|
||||
const refs = {};
|
||||
helpers().list.forEach(function (name) {
|
||||
if (allowlist && !allowlist.includes(name)) return;
|
||||
const ref = refs[name] = getHelperReference(name);
|
||||
const {
|
||||
nodes
|
||||
} = helpers().get(name, getHelperReference, namespace ? null : `_${name}`, [], namespace ? (ast, exportName, mapExportBindingAssignments) => {
|
||||
mapExportBindingAssignments(node => assignmentExpression("=", ref, node));
|
||||
ast.body.push(expressionStatement(assignmentExpression("=", ref, identifier(exportName))));
|
||||
} : null);
|
||||
body.push(...nodes);
|
||||
});
|
||||
return refs;
|
||||
}
|
||||
function _default(allowlist, outputType = "global") {
|
||||
let tree;
|
||||
const build = {
|
||||
global: buildGlobal,
|
||||
module: buildModule,
|
||||
umd: buildUmd,
|
||||
var: buildVar
|
||||
}[outputType];
|
||||
if (build) {
|
||||
tree = build(allowlist);
|
||||
} else {
|
||||
throw new Error(`Unsupported output type ${outputType}`);
|
||||
}
|
||||
return (0, _generator().default)(tree).code;
|
||||
}
|
||||
0 && 0;
|
||||
|
||||
//# sourceMappingURL=build-external-helpers.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"names":["helpers","data","require","_generator","_template","_t","arrayExpression","assignmentExpression","binaryExpression","blockStatement","callExpression","cloneNode","conditionalExpression","exportNamedDeclaration","exportSpecifier","expressionStatement","functionExpression","identifier","memberExpression","objectExpression","program","stringLiteral","unaryExpression","variableDeclaration","variableDeclarator","buildUmdWrapper","replacements","template","statement","buildGlobal","allowlist","namespace","body","container","tree","push","buildHelpers","buildModule","refs","unshift","Object","keys","map","name","buildUmd","FACTORY_PARAMETERS","BROWSER_ARGUMENTS","COMMON_ARGUMENTS","AMD_ARGUMENTS","FACTORY_BODY","UMD_ROOT","buildVar","getHelperReference","list","forEach","includes","ref","nodes","get","ast","exportName","mapExportBindingAssignments","node","_default","outputType","build","global","module","umd","var","Error","generator","code"],"sources":["../../src/tools/build-external-helpers.ts"],"sourcesContent":["import * as helpers from \"@babel/helpers\";\nimport generator from \"@babel/generator\";\nimport template from \"@babel/template\";\nimport {\n arrayExpression,\n assignmentExpression,\n binaryExpression,\n blockStatement,\n callExpression,\n cloneNode,\n conditionalExpression,\n exportNamedDeclaration,\n exportSpecifier,\n expressionStatement,\n functionExpression,\n identifier,\n memberExpression,\n objectExpression,\n program,\n stringLiteral,\n unaryExpression,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { Replacements } from \"@babel/template\";\n\n// Wrapped to avoid wasting time parsing this when almost no-one uses\n// build-external-helpers.\nconst buildUmdWrapper = (replacements: Replacements) =>\n template.statement`\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n `(replacements);\n\nfunction buildGlobal(allowlist?: Array<string>) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n const container = functionExpression(\n null,\n [identifier(\"global\")],\n blockStatement(body),\n );\n const tree = program([\n expressionStatement(\n callExpression(container, [\n // typeof global === \"undefined\" ? self : global\n conditionalExpression(\n binaryExpression(\n \"===\",\n unaryExpression(\"typeof\", identifier(\"global\")),\n stringLiteral(\"undefined\"),\n ),\n identifier(\"self\"),\n identifier(\"global\"),\n ),\n ]),\n ),\n ]);\n\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(\n namespace,\n assignmentExpression(\n \"=\",\n memberExpression(identifier(\"global\"), namespace),\n objectExpression([]),\n ),\n ),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return tree;\n}\n\nfunction buildModule(allowlist?: Array<string>) {\n const body: t.Statement[] = [];\n const refs = buildHelpers(body, null, allowlist);\n\n body.unshift(\n exportNamedDeclaration(\n null,\n Object.keys(refs).map(name => {\n return exportSpecifier(cloneNode(refs[name]), identifier(name));\n }),\n ),\n );\n\n return program(body, [], \"module\");\n}\n\nfunction buildUmd(allowlist?: Array<string>) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, identifier(\"global\")),\n ]),\n );\n\n buildHelpers(body, namespace, allowlist);\n\n return program([\n buildUmdWrapper({\n FACTORY_PARAMETERS: identifier(\"global\"),\n BROWSER_ARGUMENTS: assignmentExpression(\n \"=\",\n memberExpression(identifier(\"root\"), namespace),\n objectExpression([]),\n ),\n COMMON_ARGUMENTS: identifier(\"exports\"),\n AMD_ARGUMENTS: arrayExpression([stringLiteral(\"exports\")]),\n FACTORY_BODY: body,\n UMD_ROOT: identifier(\"this\"),\n }),\n ]);\n}\n\nfunction buildVar(allowlist?: Array<string>) {\n const namespace = identifier(\"babelHelpers\");\n\n const body: t.Statement[] = [];\n body.push(\n variableDeclaration(\"var\", [\n variableDeclarator(namespace, objectExpression([])),\n ]),\n );\n const tree = program(body);\n buildHelpers(body, namespace, allowlist);\n body.push(expressionStatement(namespace));\n return tree;\n}\n\nfunction buildHelpers(\n body: t.Statement[],\n namespace: t.Expression,\n allowlist?: ArLine truncated
|
||||
Reference in new issue
Block a user