source: frontend/node_modules/@babel/plugin-transform-modules-systemjs/lib/index.js.map

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 44.9 KB
Line 
1{"version":3,"names":["_helperPluginUtils","require","_core","_helperModuleTransforms","_helperValidatorIdentifier","buildTemplate","template","statement","buildExportAll","MISSING_PLUGIN_WARNING","MISSING_PLUGIN_ERROR","getExportSpecifierName","node","stringSpecifiers","type","name","stringValue","value","isIdentifierName","add","Error","constructExportCall","path","exportIdent","exportNames","exportValues","exportStarTarget","statements","length","push","t","expressionStatement","callExpression","stringLiteral","objectProperties","i","exportName","exportNameNode","has","identifier","exportValue","objectProperty","objectExpression","exportObj","scope","generateUid","variableDeclaration","variableDeclarator","KEY","generateUidIdentifier","EXPORT_OBJ","TARGET","computed","assignmentExpression","memberExpression","_default","exports","default","declare","api","options","assertVersion","systemGlobal","allowTopLevelThis","reassignmentVisited","WeakSet","reassignmentVisitor","AssignmentExpression|UpdateExpression","arg","isAssignmentExpression","get","isObjectPattern","isArrayPattern","exprs","Object","keys","getBindingIdentifiers","getBinding","exportedNames","exportedName","buildCall","expression","replaceWith","sequenceExpression","isIdentifier","isPostUpdateExpression","isUpdateExpression","prefix","binaryExpression","operator","unaryExpression","cloneNode","argument","numericLiteral","pre","file","set","visitor","types","importExpression","state","isCallExpression","isImport","callee","console","warn","buildDynamicImport","specifier","contextIdent","MetaProperty","meta","property","ReferencedIdentifier","hasBinding","Program","enter","Set","rewriteThis","exit","_path$scope","_path$scope$hoistVari","exportMap","create","modules","beforeBody","setters","sources","variableIds","removedPaths","addExportName","key","val","pushModule","source","specifiers","module","forEach","m","imports","concat","buildExportCall","body","isFunctionDeclaration","isClassDeclaration","id","toExpression","isVariableDeclaration","kind","isImportDeclaration","removeBinding","remove","isExportAllDeclaration","isExportDefaultDeclaration","declar","declaration","buildUndefinedNode","isExportNamedDeclaration","isFunction","isClass","nodes","local","exported","binding","replaceWithMultiple","setterBody","target","isImportNamespaceSpecifier","isImportDefaultSpecifier","importSpecifier","isImportSpecifier","imported","hasExportStar","isExportSpecifier","isStringLiteral","functionExpression","blockStatement","moduleName","getModuleName","opts","hoistVariables","Scope","prototype","hasInit","unshift","map","traverse","hasTLA","AwaitExpression","stop","Function","skip","noScope","SYSTEM_REGISTER","BEFORE_BODY","MODULE_NAME","SETTERS","arrayExpression","EXECUTE","SOURCES","EXPORT_IDENTIFIER","CONTEXT_IDENTIFIER","requeue"],"sources":["../src/index.ts"],"sourcesContent":["import { declare } from \"@babel/helper-plugin-utils\";\nimport { template, types as t } from \"@babel/core\";\nimport type { PluginPass, NodePath, Scope, Visitor } from \"@babel/core\";\nimport {\n buildDynamicImport,\n getModuleName,\n rewriteThis,\n} from \"@babel/helper-module-transforms\";\nimport type { PluginOptions } from \"@babel/helper-module-transforms\";\nimport { isIdentifierName } from \"@babel/helper-validator-identifier\";\n\nconst buildTemplate = template.statement(`\n SYSTEM_REGISTER(MODULE_NAME, SOURCES, function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n \"use strict\";\n BEFORE_BODY;\n return {\n setters: SETTERS,\n execute: EXECUTE,\n };\n });\n`);\n\nconst buildExportAll = template.statement(`\n for (var KEY in TARGET) {\n if (KEY !== \"default\" && KEY !== \"__esModule\") EXPORT_OBJ[KEY] = TARGET[KEY];\n }\n`);\n\nconst MISSING_PLUGIN_WARNING = `\\\nWARNING: Dynamic import() transformation must be enabled using the\n @babel/plugin-transform-dynamic-import plugin. Babel 8 will\n no longer transform import() without using that plugin.\n`;\n\nconst MISSING_PLUGIN_ERROR = `\\\nERROR: Dynamic import() transformation must be enabled using the\n @babel/plugin-transform-dynamic-import plugin. Babel 8\n no longer transforms import() without using that plugin.\n`;\n\n//todo: use getExportSpecifierName in `helper-module-transforms` when this library is refactored to NodePath usage.\n\nexport function getExportSpecifierName(\n node: t.Node,\n stringSpecifiers: Set<string>,\n): string {\n if (node.type === \"Identifier\") {\n return node.name;\n } else if (node.type === \"StringLiteral\") {\n const stringValue = node.value;\n // add specifier value to `stringSpecifiers` only when it can not be converted to an identifier name\n // i.e In `import { \"foo\" as bar }`\n // we do not consider `\"foo\"` to be a `stringSpecifier` because we can treat it as\n // `import { foo as bar }`\n // This helps minimize the size of `stringSpecifiers` and reduce overhead of checking valid identifier names\n // when building transpiled code from metadata\n if (!isIdentifierName(stringValue)) {\n stringSpecifiers.add(stringValue);\n }\n return stringValue;\n } else {\n throw new Error(\n `Expected export specifier to be either Identifier or StringLiteral, got ${node.type}`,\n );\n }\n}\n\ntype PluginState = {\n contextIdent: string;\n // List of names that should only be printed as string literals.\n // i.e. `import { \"any unicode\" as foo } from \"some-module\"`\n // `stringSpecifiers` is Set(1) [\"any unicode\"]\n // In most cases `stringSpecifiers` is an empty Set\n stringSpecifiers: Set<string>;\n};\n\ntype ModuleMetadata = {\n key: string;\n imports: any[];\n exports: any[];\n};\n\nfunction constructExportCall(\n path: NodePath<t.Program>,\n exportIdent: t.Identifier,\n exportNames: string[],\n exportValues: t.Expression[],\n exportStarTarget: t.Identifier | null,\n stringSpecifiers: Set<string>,\n) {\n const statements = [];\n if (!exportStarTarget) {\n if (exportNames.length === 1) {\n statements.push(\n t.expressionStatement(\n t.callExpression(exportIdent, [\n t.stringLiteral(exportNames[0]),\n exportValues[0],\n ]),\n ),\n );\n } else {\n const objectProperties = [];\n for (let i = 0; i < exportNames.length; i++) {\n const exportName = exportNames[i];\n const exportNameNode = stringSpecifiers.has(exportName)\n ? t.stringLiteral(exportName)\n : t.identifier(exportName);\n const exportValue = exportValues[i];\n objectProperties.push(t.objectProperty(exportNameNode, exportValue));\n }\n statements.push(\n t.expressionStatement(\n t.callExpression(exportIdent, [t.objectExpression(objectProperties)]),\n ),\n );\n }\n } else {\n const exportObj = path.scope.generateUid(\"exportObj\");\n\n statements.push(\n t.variableDeclaration(\"var\", [\n t.variableDeclarator(t.identifier(exportObj), t.objectExpression([])),\n ]),\n );\n\n statements.push(\n buildExportAll({\n KEY: path.scope.generateUidIdentifier(\"key\"),\n EXPORT_OBJ: t.identifier(exportObj),\n TARGET: exportStarTarget,\n }),\n );\n\n for (let i = 0; i < exportNames.length; i++) {\n const exportName = exportNames[i];\n const computed = stringSpecifiers.has(exportName);\n const exportNameNode = computed\n ? t.stringLiteral(exportName)\n : t.identifier(exportName);\n const exportValue = exportValues[i];\n\n statements.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.memberExpression(\n t.identifier(exportObj),\n exportNameNode,\n computed,\n ),\n exportValue,\n ),\n ),\n );\n }\n\n statements.push(\n t.expressionStatement(\n t.callExpression(exportIdent, [t.identifier(exportObj)]),\n ),\n );\n }\n return statements;\n}\n\nexport interface Options extends PluginOptions {\n allowTopLevelThis?: boolean;\n systemGlobal?: string;\n}\n\ntype ReassignmentVisitorState = {\n scope: Scope;\n exports: any;\n buildCall: (name: string, value: t.Expression) => t.ExpressionStatement;\n};\n\nexport default declare<PluginState>((api, options: Options) => {\n api.assertVersion(REQUIRED_VERSION(7));\n\n const { systemGlobal = \"System\", allowTopLevelThis = false } = options;\n const reassignmentVisited = new WeakSet();\n\n const reassignmentVisitor: Visitor<ReassignmentVisitorState> = {\n \"AssignmentExpression|UpdateExpression\"(\n path: NodePath<t.AssignmentExpression | t.UpdateExpression>,\n ) {\n if (reassignmentVisited.has(path.node)) return;\n reassignmentVisited.add(path.node);\n\n const arg = path.isAssignmentExpression()\n ? path.get(\"left\")\n : path.get(\"argument\");\n\n if (arg.isObjectPattern() || arg.isArrayPattern()) {\n const exprs: t.SequenceExpression[\"expressions\"] = [path.node];\n for (const name of Object.keys(arg.getBindingIdentifiers())) {\n if (this.scope.getBinding(name) !== path.scope.getBinding(name)) {\n return;\n }\n const exportedNames = this.exports[name];\n if (!exportedNames) continue;\n for (const exportedName of exportedNames) {\n exprs.push(\n this.buildCall(exportedName, t.identifier(name)).expression,\n );\n }\n }\n path.replaceWith(t.sequenceExpression(exprs));\n return;\n }\n\n if (!arg.isIdentifier()) return;\n\n const name = arg.node.name;\n\n // redeclared in this scope\n if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return;\n\n const exportedNames = this.exports[name];\n if (!exportedNames) return;\n\n let node: t.Expression = path.node;\n\n // if it is a non-prefix update expression (x++ etc)\n // then we must replace with the expression (_export('x', x + 1), x++)\n // in order to ensure the same update expression value\n const isPostUpdateExpression = t.isUpdateExpression(node, {\n prefix: false,\n });\n if (isPostUpdateExpression) {\n node = t.binaryExpression(\n // @ts-expect-error The operator of a post-update expression must be \"++\" | \"--\"\n node.operator[0],\n t.unaryExpression(\n \"+\",\n t.cloneNode(\n // @ts-expect-error node is UpdateExpression\n node.argument,\n ),\n ),\n t.numericLiteral(1),\n );\n }\n\n for (const exportedName of exportedNames) {\n node = this.buildCall(exportedName, node).expression;\n }\n\n if (isPostUpdateExpression) {\n node = t.sequenceExpression([node, path.node]);\n }\n\n path.replaceWith(node);\n },\n };\n\n return {\n name: \"transform-modules-systemjs\",\n\n pre() {\n this.file.set(\"@babel/plugin-transform-modules-*\", \"systemjs\");\n },\n\n visitor: {\n [\"CallExpression\" +\n (api.types.importExpression ? \"|ImportExpression\" : \"\")](\n this: PluginPass & PluginState,\n path: NodePath<t.CallExpression | t.ImportExpression>,\n state: PluginState,\n ) {\n if (path.isCallExpression() && !t.isImport(path.node.callee)) return;\n if (path.isCallExpression()) {\n if (!this.file.has(\"@babel/plugin-proposal-dynamic-import\")) {\n if (process.env.BABEL_8_BREAKING) {\n throw new Error(MISSING_PLUGIN_ERROR);\n } else {\n console.warn(MISSING_PLUGIN_WARNING);\n }\n }\n } else {\n // when createImportExpressions is true, we require the dynamic import transform\n if (!this.file.has(\"@babel/plugin-proposal-dynamic-import\")) {\n throw new Error(MISSING_PLUGIN_ERROR);\n }\n }\n path.replaceWith(\n buildDynamicImport(path.node, false, true, specifier =>\n t.callExpression(\n t.memberExpression(\n t.identifier(state.contextIdent),\n t.identifier(\"import\"),\n ),\n [specifier],\n ),\n ),\n );\n },\n\n MetaProperty(path, state: PluginState) {\n if (\n path.node.meta.name === \"import\" &&\n path.node.property.name === \"meta\"\n ) {\n path.replaceWith(\n t.memberExpression(\n t.identifier(state.contextIdent),\n t.identifier(\"meta\"),\n ),\n );\n }\n },\n\n ReferencedIdentifier(path, state) {\n if (\n path.node.name === \"__moduleName\" &&\n !path.scope.hasBinding(\"__moduleName\")\n ) {\n path.replaceWith(\n t.memberExpression(\n t.identifier(state.contextIdent),\n t.identifier(\"id\"),\n ),\n );\n }\n },\n\n Program: {\n enter(path, state) {\n state.contextIdent = path.scope.generateUid(\"context\");\n state.stringSpecifiers = new Set();\n if (!allowTopLevelThis) {\n rewriteThis(path);\n }\n },\n exit(path, state) {\n const scope = path.scope;\n const exportIdent = scope.generateUid(\"export\");\n const { contextIdent, stringSpecifiers } = state;\n\n const exportMap: Record<string, string[]> = Object.create(null);\n const modules: ModuleMetadata[] = [];\n\n const beforeBody = [];\n const setters: t.Expression[] = [];\n const sources: t.StringLiteral[] = [];\n const variableIds = [];\n const removedPaths = [];\n\n function addExportName(key: string, val: string) {\n exportMap[key] = exportMap[key] || [];\n exportMap[key].push(val);\n }\n\n function pushModule(\n source: string,\n key: \"imports\" | \"exports\",\n specifiers: t.ModuleSpecifier[] | t.ExportAllDeclaration,\n ) {\n let module: ModuleMetadata;\n modules.forEach(function (m) {\n if (m.key === source) {\n module = m;\n }\n });\n if (!module) {\n modules.push(\n (module = { key: source, imports: [], exports: [] }),\n );\n }\n module[key] = module[key].concat(specifiers);\n }\n\n function buildExportCall(name: string, val: t.Expression) {\n return t.expressionStatement(\n t.callExpression(t.identifier(exportIdent), [\n t.stringLiteral(name),\n val,\n ]),\n );\n }\n\n const exportNames = [];\n const exportValues: t.Expression[] = [];\n\n const body = path.get(\"body\");\n\n for (const path of body) {\n if (path.isFunctionDeclaration()) {\n beforeBody.push(path.node);\n removedPaths.push(path);\n } else if (path.isClassDeclaration()) {\n variableIds.push(t.cloneNode(path.node.id));\n path.replaceWith(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(path.node.id),\n t.toExpression(path.node),\n ),\n ),\n );\n } else if (path.isVariableDeclaration()) {\n // Convert top-level variable declarations to \"var\",\n // because they must be hoisted\n path.node.kind = \"var\";\n } else if (path.isImportDeclaration()) {\n const source = path.node.source.value;\n pushModule(source, \"imports\", path.node.specifiers);\n for (const name of Object.keys(path.getBindingIdentifiers())) {\n scope.removeBinding(name);\n variableIds.push(t.identifier(name));\n }\n path.remove();\n } else if (path.isExportAllDeclaration()) {\n pushModule(path.node.source.value, \"exports\", path.node);\n path.remove();\n } else if (path.isExportDefaultDeclaration()) {\n const declar = path.node.declaration;\n if (t.isClassDeclaration(declar)) {\n const id = declar.id;\n if (id) {\n exportNames.push(\"default\");\n exportValues.push(scope.buildUndefinedNode());\n variableIds.push(t.cloneNode(id));\n addExportName(id.name, \"default\");\n path.replaceWith(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(id),\n t.toExpression(declar),\n ),\n ),\n );\n } else {\n exportNames.push(\"default\");\n exportValues.push(t.toExpression(declar));\n removedPaths.push(path);\n }\n } else if (t.isFunctionDeclaration(declar)) {\n const id = declar.id;\n if (id) {\n beforeBody.push(declar);\n exportNames.push(\"default\");\n exportValues.push(t.cloneNode(id));\n addExportName(id.name, \"default\");\n } else {\n exportNames.push(\"default\");\n exportValues.push(t.toExpression(declar));\n }\n removedPaths.push(path);\n } else {\n // @ts-expect-error TSDeclareFunction is not expected here\n path.replaceWith(buildExportCall(\"default\", declar));\n }\n } else if (path.isExportNamedDeclaration()) {\n const declar = path.node.declaration;\n\n if (declar) {\n path.replaceWith(declar);\n\n if (t.isFunction(declar)) {\n const name = declar.id.name;\n addExportName(name, name);\n beforeBody.push(declar);\n exportNames.push(name);\n exportValues.push(t.cloneNode(declar.id));\n removedPaths.push(path);\n } else if (t.isClass(declar)) {\n const name = declar.id.name;\n exportNames.push(name);\n exportValues.push(scope.buildUndefinedNode());\n variableIds.push(t.cloneNode(declar.id));\n path.replaceWith(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n t.cloneNode(declar.id),\n t.toExpression(declar),\n ),\n ),\n );\n addExportName(name, name);\n } else {\n if (t.isVariableDeclaration(declar)) {\n // Convert top-level variable declarations to \"var\",\n // because they must be hoisted\n declar.kind = \"var\";\n }\n for (const name of Object.keys(\n t.getBindingIdentifiers(declar),\n )) {\n addExportName(name, name);\n }\n }\n } else {\n const specifiers = path.node.specifiers;\n if (specifiers?.length) {\n if (path.node.source) {\n pushModule(path.node.source.value, \"exports\", specifiers);\n path.remove();\n } else {\n const nodes = [];\n\n for (const specifier of specifiers) {\n // @ts-expect-error This isn't an \"export ... from\" declaration\n // because path.node.source is falsy, so the local specifier exists.\n const { local, exported } = specifier;\n\n const binding = scope.getBinding(local.name);\n const exportedName = getExportSpecifierName(\n exported,\n stringSpecifiers,\n );\n // hoisted function export\n if (\n binding &&\n t.isFunctionDeclaration(binding.path.node)\n ) {\n exportNames.push(exportedName);\n exportValues.push(t.cloneNode(local));\n }\n // only globals also exported this way\n else if (!binding) {\n nodes.push(buildExportCall(exportedName, local));\n }\n addExportName(local.name, exportedName);\n }\n\n path.replaceWithMultiple(nodes);\n }\n } else {\n path.remove();\n }\n }\n }\n }\n\n modules.forEach(function (specifiers) {\n const setterBody = [];\n const target = scope.generateUid(specifiers.key);\n\n for (let specifier of specifiers.imports) {\n if (t.isImportNamespaceSpecifier(specifier)) {\n setterBody.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n specifier.local,\n t.identifier(target),\n ),\n ),\n );\n } else if (t.isImportDefaultSpecifier(specifier)) {\n specifier = t.importSpecifier(\n specifier.local,\n t.identifier(\"default\"),\n );\n }\n\n if (t.isImportSpecifier(specifier)) {\n const { imported } = specifier;\n setterBody.push(\n t.expressionStatement(\n t.assignmentExpression(\n \"=\",\n specifier.local,\n t.memberExpression(\n t.identifier(target),\n specifier.imported,\n /* computed */ imported.type === \"StringLiteral\",\n ),\n ),\n ),\n );\n }\n }\n\n if (specifiers.exports.length) {\n const exportNames = [];\n const exportValues = [];\n let hasExportStar = false;\n\n for (const node of specifiers.exports) {\n if (t.isExportAllDeclaration(node)) {\n hasExportStar = true;\n } else if (t.isExportSpecifier(node)) {\n const exportedName = getExportSpecifierName(\n node.exported,\n stringSpecifiers,\n );\n exportNames.push(exportedName);\n exportValues.push(\n t.memberExpression(\n t.identifier(target),\n node.local,\n t.isStringLiteral(node.local),\n ),\n );\n } else {\n // todo\n }\n }\n\n setterBody.push(\n ...constructExportCall(\n path,\n t.identifier(exportIdent),\n exportNames,\n exportValues,\n hasExportStar ? t.identifier(target) : null,\n stringSpecifiers,\n ),\n );\n }\n\n sources.push(t.stringLiteral(specifiers.key));\n setters.push(\n t.functionExpression(\n null,\n [t.identifier(target)],\n t.blockStatement(setterBody),\n ),\n );\n });\n\n let moduleName = getModuleName(this.file.opts, options);\n // @ts-expect-error todo(flow->ts): do not reuse variables\n if (moduleName) moduleName = t.stringLiteral(moduleName);\n\n if (!process.env.BABEL_8_BREAKING && !USE_ESM && !IS_STANDALONE) {\n // polyfill when being run by an older Babel version\n path.scope.hoistVariables ??=\n // eslint-disable-next-line no-restricted-globals\n require(\"@babel/traverse\").Scope.prototype.hoistVariables;\n }\n\n path.scope.hoistVariables((id, hasInit) => {\n variableIds.push(id);\n if (!hasInit && id.name in exportMap) {\n for (const exported of exportMap[id.name]) {\n exportNames.push(exported);\n exportValues.push(t.buildUndefinedNode());\n }\n }\n });\n\n if (variableIds.length) {\n beforeBody.unshift(\n t.variableDeclaration(\n \"var\",\n variableIds.map(id => t.variableDeclarator(id)),\n ),\n );\n }\n\n if (exportNames.length) {\n beforeBody.push(\n ...constructExportCall(\n path,\n t.identifier(exportIdent),\n exportNames,\n exportValues,\n null,\n stringSpecifiers,\n ),\n );\n }\n\n path.traverse(reassignmentVisitor, {\n exports: exportMap,\n buildCall: buildExportCall,\n scope,\n });\n\n for (const path of removedPaths) {\n path.remove();\n }\n\n let hasTLA = false;\n if (process.env.BABEL_8_BREAKING) {\n t.traverseFast(path.node, node => {\n if (t.isFunction(node)) return t.traverseFast.skip;\n if (t.isAwaitExpression(node)) {\n hasTLA = true;\n return t.traverseFast.stop;\n }\n });\n } else {\n path.traverse({\n AwaitExpression(path) {\n hasTLA = true;\n path.stop();\n },\n Function(path) {\n path.skip();\n },\n // @ts-expect-error - todo: add noScope to type definitions\n noScope: true,\n });\n }\n\n path.node.body = [\n buildTemplate({\n SYSTEM_REGISTER: t.memberExpression(\n t.identifier(systemGlobal),\n t.identifier(\"register\"),\n ),\n BEFORE_BODY: beforeBody,\n MODULE_NAME: moduleName,\n SETTERS: t.arrayExpression(setters),\n EXECUTE: t.functionExpression(\n null,\n [],\n t.blockStatement(path.node.body),\n false,\n hasTLA,\n ),\n SOURCES: t.arrayExpression(sources),\n EXPORT_IDENTIFIER: t.identifier(exportIdent),\n CONTEXT_IDENTIFIER: t.identifier(contextIdent),\n }),\n ];\n path.requeue(path.get(\"body.0\"));\n },\n },\n },\n };\n});\n"],"mappings":"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","ignoreList":[]}
Note: See TracBrowser for help on using the repository browser.