summaryrefslogtreecommitdiff
path: root/node_modules/@babel/helper-module-imports
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/@babel/helper-module-imports')
-rw-r--r--node_modules/@babel/helper-module-imports/LICENSE22
-rw-r--r--node_modules/@babel/helper-module-imports/README.md19
-rw-r--r--node_modules/@babel/helper-module-imports/lib/import-builder.js122
-rw-r--r--node_modules/@babel/helper-module-imports/lib/import-builder.js.map1
-rw-r--r--node_modules/@babel/helper-module-imports/lib/import-injector.js304
-rw-r--r--node_modules/@babel/helper-module-imports/lib/import-injector.js.map1
-rw-r--r--node_modules/@babel/helper-module-imports/lib/index.js37
-rw-r--r--node_modules/@babel/helper-module-imports/lib/index.js.map1
-rw-r--r--node_modules/@babel/helper-module-imports/lib/is-module.js11
-rw-r--r--node_modules/@babel/helper-module-imports/lib/is-module.js.map1
-rw-r--r--node_modules/@babel/helper-module-imports/package.json28
11 files changed, 547 insertions, 0 deletions
diff --git a/node_modules/@babel/helper-module-imports/LICENSE b/node_modules/@babel/helper-module-imports/LICENSE
new file mode 100644
index 0000000..f31575e
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/@babel/helper-module-imports/README.md b/node_modules/@babel/helper-module-imports/README.md
new file mode 100644
index 0000000..aa47726
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/README.md
@@ -0,0 +1,19 @@
+# @babel/helper-module-imports
+
+> Babel helper functions for inserting module loads
+
+See our website [@babel/helper-module-imports](https://babeljs.io/docs/babel-helper-module-imports) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save @babel/helper-module-imports
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/helper-module-imports
+```
diff --git a/node_modules/@babel/helper-module-imports/lib/import-builder.js b/node_modules/@babel/helper-module-imports/lib/import-builder.js
new file mode 100644
index 0000000..b01187f
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/lib/import-builder.js
@@ -0,0 +1,122 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = void 0;
+var _assert = require("assert");
+var _t = require("@babel/types");
+const {
+ callExpression,
+ cloneNode,
+ expressionStatement,
+ identifier,
+ importDeclaration,
+ importDefaultSpecifier,
+ importNamespaceSpecifier,
+ importSpecifier,
+ memberExpression,
+ stringLiteral,
+ variableDeclaration,
+ variableDeclarator
+} = _t;
+class ImportBuilder {
+ constructor(importedSource, scope, hub) {
+ this._statements = [];
+ this._resultName = null;
+ this._importedSource = void 0;
+ this._scope = scope;
+ this._hub = hub;
+ this._importedSource = importedSource;
+ }
+ done() {
+ return {
+ statements: this._statements,
+ resultName: this._resultName
+ };
+ }
+ import() {
+ this._statements.push(importDeclaration([], stringLiteral(this._importedSource)));
+ return this;
+ }
+ require() {
+ this._statements.push(expressionStatement(callExpression(identifier("require"), [stringLiteral(this._importedSource)])));
+ return this;
+ }
+ namespace(name = "namespace") {
+ const local = this._scope.generateUidIdentifier(name);
+ const statement = this._statements[this._statements.length - 1];
+ _assert(statement.type === "ImportDeclaration");
+ _assert(statement.specifiers.length === 0);
+ statement.specifiers = [importNamespaceSpecifier(local)];
+ this._resultName = cloneNode(local);
+ return this;
+ }
+ default(name) {
+ const id = this._scope.generateUidIdentifier(name);
+ const statement = this._statements[this._statements.length - 1];
+ _assert(statement.type === "ImportDeclaration");
+ _assert(statement.specifiers.length === 0);
+ statement.specifiers = [importDefaultSpecifier(id)];
+ this._resultName = cloneNode(id);
+ return this;
+ }
+ named(name, importName) {
+ if (importName === "default") return this.default(name);
+ const id = this._scope.generateUidIdentifier(name);
+ const statement = this._statements[this._statements.length - 1];
+ _assert(statement.type === "ImportDeclaration");
+ _assert(statement.specifiers.length === 0);
+ statement.specifiers = [importSpecifier(id, identifier(importName))];
+ this._resultName = cloneNode(id);
+ return this;
+ }
+ var(name) {
+ const id = this._scope.generateUidIdentifier(name);
+ let statement = this._statements[this._statements.length - 1];
+ if (statement.type !== "ExpressionStatement") {
+ _assert(this._resultName);
+ statement = expressionStatement(this._resultName);
+ this._statements.push(statement);
+ }
+ this._statements[this._statements.length - 1] = variableDeclaration("var", [variableDeclarator(id, statement.expression)]);
+ this._resultName = cloneNode(id);
+ return this;
+ }
+ defaultInterop() {
+ return this._interop(this._hub.addHelper("interopRequireDefault"));
+ }
+ wildcardInterop() {
+ return this._interop(this._hub.addHelper("interopRequireWildcard"));
+ }
+ _interop(callee) {
+ const statement = this._statements[this._statements.length - 1];
+ if (statement.type === "ExpressionStatement") {
+ statement.expression = callExpression(callee, [statement.expression]);
+ } else if (statement.type === "VariableDeclaration") {
+ _assert(statement.declarations.length === 1);
+ statement.declarations[0].init = callExpression(callee, [statement.declarations[0].init]);
+ } else {
+ _assert.fail("Unexpected type.");
+ }
+ return this;
+ }
+ prop(name) {
+ const statement = this._statements[this._statements.length - 1];
+ if (statement.type === "ExpressionStatement") {
+ statement.expression = memberExpression(statement.expression, identifier(name));
+ } else if (statement.type === "VariableDeclaration") {
+ _assert(statement.declarations.length === 1);
+ statement.declarations[0].init = memberExpression(statement.declarations[0].init, identifier(name));
+ } else {
+ _assert.fail("Unexpected type:" + statement.type);
+ }
+ return this;
+ }
+ read(name) {
+ this._resultName = memberExpression(this._resultName, identifier(name));
+ }
+}
+exports.default = ImportBuilder;
+
+//# sourceMappingURL=import-builder.js.map
diff --git a/node_modules/@babel/helper-module-imports/lib/import-builder.js.map b/node_modules/@babel/helper-module-imports/lib/import-builder.js.map
new file mode 100644
index 0000000..920accc
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/lib/import-builder.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_assert","require","_t","callExpression","cloneNode","expressionStatement","identifier","importDeclaration","importDefaultSpecifier","importNamespaceSpecifier","importSpecifier","memberExpression","stringLiteral","variableDeclaration","variableDeclarator","ImportBuilder","constructor","importedSource","scope","hub","_statements","_resultName","_importedSource","_scope","_hub","done","statements","resultName","import","push","namespace","name","local","generateUidIdentifier","statement","length","assert","type","specifiers","default","id","named","importName","var","expression","defaultInterop","_interop","addHelper","wildcardInterop","callee","declarations","init","fail","prop","read","exports"],"sources":["../src/import-builder.ts"],"sourcesContent":["import assert from \"node:assert\";\nimport {\n callExpression,\n cloneNode,\n expressionStatement,\n identifier,\n importDeclaration,\n importDefaultSpecifier,\n importNamespaceSpecifier,\n importSpecifier,\n memberExpression,\n stringLiteral,\n variableDeclaration,\n variableDeclarator,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { Scope, HubInterface } from \"@babel/traverse\";\n\n/**\n * A class to track and accumulate mutations to the AST that will eventually\n * output a new require/import statement list.\n */\nexport default class ImportBuilder {\n private _statements: t.Statement[] = [];\n private _resultName: t.Identifier | t.MemberExpression = null;\n\n declare _scope: Scope;\n declare _hub: HubInterface;\n private _importedSource: string;\n\n constructor(importedSource: string, scope: Scope, hub: HubInterface) {\n this._scope = scope;\n this._hub = hub;\n this._importedSource = importedSource;\n }\n\n done() {\n return {\n statements: this._statements,\n resultName: this._resultName,\n };\n }\n\n import() {\n this._statements.push(\n importDeclaration([], stringLiteral(this._importedSource)),\n );\n return this;\n }\n\n require() {\n this._statements.push(\n expressionStatement(\n callExpression(identifier(\"require\"), [\n stringLiteral(this._importedSource),\n ]),\n ),\n );\n return this;\n }\n\n namespace(name = \"namespace\") {\n const local = this._scope.generateUidIdentifier(name);\n\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importNamespaceSpecifier(local)];\n this._resultName = cloneNode(local);\n return this;\n }\n default(name: string) {\n const id = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importDefaultSpecifier(id)];\n this._resultName = cloneNode(id);\n return this;\n }\n named(name: string, importName: string) {\n if (importName === \"default\") return this.default(name);\n\n const id = this._scope.generateUidIdentifier(name);\n const statement = this._statements[this._statements.length - 1];\n assert(statement.type === \"ImportDeclaration\");\n assert(statement.specifiers.length === 0);\n statement.specifiers = [importSpecifier(id, identifier(importName))];\n this._resultName = cloneNode(id);\n return this;\n }\n\n var(name: string) {\n const id = this._scope.generateUidIdentifier(name);\n let statement = this._statements[this._statements.length - 1];\n if (statement.type !== \"ExpressionStatement\") {\n assert(this._resultName);\n statement = expressionStatement(this._resultName);\n this._statements.push(statement);\n }\n this._statements[this._statements.length - 1] = variableDeclaration(\"var\", [\n variableDeclarator(id, statement.expression),\n ]);\n this._resultName = cloneNode(id);\n return this;\n }\n\n defaultInterop() {\n return this._interop(this._hub.addHelper(\"interopRequireDefault\"));\n }\n wildcardInterop() {\n return this._interop(this._hub.addHelper(\"interopRequireWildcard\"));\n }\n\n _interop(callee: t.Expression) {\n const statement = this._statements[this._statements.length - 1];\n if (statement.type === \"ExpressionStatement\") {\n statement.expression = callExpression(callee, [statement.expression]);\n } else if (statement.type === \"VariableDeclaration\") {\n assert(statement.declarations.length === 1);\n statement.declarations[0].init = callExpression(callee, [\n statement.declarations[0].init,\n ]);\n } else {\n assert.fail(\"Unexpected type.\");\n }\n return this;\n }\n\n prop(name: string) {\n const statement = this._statements[this._statements.length - 1];\n if (statement.type === \"ExpressionStatement\") {\n statement.expression = memberExpression(\n statement.expression,\n identifier(name),\n );\n } else if (statement.type === \"VariableDeclaration\") {\n assert(statement.declarations.length === 1);\n statement.declarations[0].init = memberExpression(\n statement.declarations[0].init,\n identifier(name),\n );\n } else {\n assert.fail(\"Unexpected type:\" + statement.type);\n }\n return this;\n }\n\n read(name: string) {\n this._resultName = memberExpression(this._resultName, identifier(name));\n }\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-module-imports/lib/import-injector.js b/node_modules/@babel/helper-module-imports/lib/import-injector.js
new file mode 100644
index 0000000..0c61c56
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/lib/import-injector.js
@@ -0,0 +1,304 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = void 0;
+var _assert = require("assert");
+var _t = require("@babel/types");
+var _importBuilder = require("./import-builder.js");
+var _isModule = require("./is-module.js");
+const {
+ identifier,
+ importSpecifier,
+ numericLiteral,
+ sequenceExpression,
+ isImportDeclaration
+} = _t;
+class ImportInjector {
+ constructor(path, importedSource, opts) {
+ this._defaultOpts = {
+ importedSource: null,
+ importedType: "commonjs",
+ importedInterop: "babel",
+ importingInterop: "babel",
+ ensureLiveReference: false,
+ ensureNoContext: false,
+ importPosition: "before"
+ };
+ const programPath = path.find(p => p.isProgram());
+ this._programPath = programPath;
+ this._programScope = programPath.scope;
+ this._hub = programPath.hub;
+ this._defaultOpts = this._applyDefaults(importedSource, opts, true);
+ }
+ addDefault(importedSourceIn, opts) {
+ return this.addNamed("default", importedSourceIn, opts);
+ }
+ addNamed(importName, importedSourceIn, opts) {
+ _assert(typeof importName === "string");
+ return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName);
+ }
+ addNamespace(importedSourceIn, opts) {
+ return this._generateImport(this._applyDefaults(importedSourceIn, opts), null);
+ }
+ addSideEffect(importedSourceIn, opts) {
+ return this._generateImport(this._applyDefaults(importedSourceIn, opts), void 0);
+ }
+ _applyDefaults(importedSource, opts, isInit = false) {
+ let newOpts;
+ if (typeof importedSource === "string") {
+ newOpts = Object.assign({}, this._defaultOpts, {
+ importedSource
+ }, opts);
+ } else {
+ _assert(!opts, "Unexpected secondary arguments.");
+ newOpts = Object.assign({}, this._defaultOpts, importedSource);
+ }
+ if (!isInit && opts) {
+ if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;
+ if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;
+ }
+ return newOpts;
+ }
+ _generateImport(opts, importName) {
+ const isDefault = importName === "default";
+ const isNamed = !!importName && !isDefault;
+ const isNamespace = importName === null;
+ const {
+ importedSource,
+ importedType,
+ importedInterop,
+ importingInterop,
+ ensureLiveReference,
+ ensureNoContext,
+ nameHint,
+ importPosition,
+ blockHoist
+ } = opts;
+ let name = nameHint || importName;
+ const isMod = (0, _isModule.default)(this._programPath);
+ const isModuleForNode = isMod && importingInterop === "node";
+ const isModuleForBabel = isMod && importingInterop === "babel";
+ if (importPosition === "after" && !isMod) {
+ throw new Error(`"importPosition": "after" is only supported in modules`);
+ }
+ const builder = new _importBuilder.default(importedSource, this._programScope, this._hub);
+ if (importedType === "es6") {
+ if (!isModuleForNode && !isModuleForBabel) {
+ throw new Error("Cannot import an ES6 module from CommonJS");
+ }
+ builder.import();
+ if (isNamespace) {
+ builder.namespace(nameHint || importedSource);
+ } else if (isDefault || isNamed) {
+ builder.named(name, importName);
+ }
+ } else if (importedType !== "commonjs") {
+ throw new Error(`Unexpected interopType "${importedType}"`);
+ } else if (importedInterop === "babel") {
+ if (isModuleForNode) {
+ name = name !== "default" ? name : importedSource;
+ const es6Default = `${importedSource}$es6Default`;
+ builder.import();
+ if (isNamespace) {
+ builder.default(es6Default).var(name || importedSource).wildcardInterop();
+ } else if (isDefault) {
+ if (ensureLiveReference) {
+ builder.default(es6Default).var(name || importedSource).defaultInterop().read("default");
+ } else {
+ builder.default(es6Default).var(name).defaultInterop().prop(importName);
+ }
+ } else if (isNamed) {
+ builder.default(es6Default).read(importName);
+ }
+ } else if (isModuleForBabel) {
+ builder.import();
+ if (isNamespace) {
+ builder.namespace(name || importedSource);
+ } else if (isDefault || isNamed) {
+ builder.named(name, importName);
+ }
+ } else {
+ builder.require();
+ if (isNamespace) {
+ builder.var(name || importedSource).wildcardInterop();
+ } else if ((isDefault || isNamed) && ensureLiveReference) {
+ if (isDefault) {
+ name = name !== "default" ? name : importedSource;
+ builder.var(name).read(importName);
+ builder.defaultInterop();
+ } else {
+ builder.var(importedSource).read(importName);
+ }
+ } else if (isDefault) {
+ builder.var(name).defaultInterop().prop(importName);
+ } else if (isNamed) {
+ builder.var(name).prop(importName);
+ }
+ }
+ } else if (importedInterop === "compiled") {
+ if (isModuleForNode) {
+ builder.import();
+ if (isNamespace) {
+ builder.default(name || importedSource);
+ } else if (isDefault || isNamed) {
+ builder.default(importedSource).read(name);
+ }
+ } else if (isModuleForBabel) {
+ builder.import();
+ if (isNamespace) {
+ builder.namespace(name || importedSource);
+ } else if (isDefault || isNamed) {
+ builder.named(name, importName);
+ }
+ } else {
+ builder.require();
+ if (isNamespace) {
+ builder.var(name || importedSource);
+ } else if (isDefault || isNamed) {
+ if (ensureLiveReference) {
+ builder.var(importedSource).read(name);
+ } else {
+ builder.prop(importName).var(name);
+ }
+ }
+ }
+ } else if (importedInterop === "uncompiled") {
+ if (isDefault && ensureLiveReference) {
+ throw new Error("No live reference for commonjs default");
+ }
+ if (isModuleForNode) {
+ builder.import();
+ if (isNamespace) {
+ builder.default(name || importedSource);
+ } else if (isDefault) {
+ builder.default(name);
+ } else if (isNamed) {
+ builder.default(importedSource).read(name);
+ }
+ } else if (isModuleForBabel) {
+ builder.import();
+ if (isNamespace) {
+ builder.default(name || importedSource);
+ } else if (isDefault) {
+ builder.default(name);
+ } else if (isNamed) {
+ builder.named(name, importName);
+ }
+ } else {
+ builder.require();
+ if (isNamespace) {
+ builder.var(name || importedSource);
+ } else if (isDefault) {
+ builder.var(name);
+ } else if (isNamed) {
+ if (ensureLiveReference) {
+ builder.var(importedSource).read(name);
+ } else {
+ builder.var(name).prop(importName);
+ }
+ }
+ }
+ } else {
+ throw new Error(`Unknown importedInterop "${importedInterop}".`);
+ }
+ const {
+ statements,
+ resultName
+ } = builder.done();
+ this._insertStatements(statements, importPosition, blockHoist);
+ if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") {
+ return sequenceExpression([numericLiteral(0), resultName]);
+ }
+ return resultName;
+ }
+ _insertStatements(statements, importPosition = "before", blockHoist = 3) {
+ if (importPosition === "after") {
+ if (this._insertStatementsAfter(statements)) return;
+ } else {
+ if (this._insertStatementsBefore(statements, blockHoist)) return;
+ }
+ this._programPath.unshiftContainer("body", statements);
+ }
+ _insertStatementsBefore(statements, blockHoist) {
+ if (statements.length === 1 && isImportDeclaration(statements[0]) && isValueImport(statements[0])) {
+ const firstImportDecl = this._programPath.get("body").find(p => {
+ return p.isImportDeclaration() && isValueImport(p.node);
+ });
+ if ((firstImportDecl == null ? void 0 : firstImportDecl.node.source.value) === statements[0].source.value && maybeAppendImportSpecifiers(firstImportDecl.node, statements[0])) {
+ return true;
+ }
+ }
+ statements.forEach(node => {
+ node._blockHoist = blockHoist;
+ });
+ const targetPath = this._programPath.get("body").find(p => {
+ const val = p.node._blockHoist;
+ return Number.isFinite(val) && val < 4;
+ });
+ if (targetPath) {
+ targetPath.insertBefore(statements);
+ return true;
+ }
+ return false;
+ }
+ _insertStatementsAfter(statements) {
+ const statementsSet = new Set(statements);
+ const importDeclarations = new Map();
+ for (const statement of statements) {
+ if (isImportDeclaration(statement) && isValueImport(statement)) {
+ const source = statement.source.value;
+ if (!importDeclarations.has(source)) importDeclarations.set(source, []);
+ importDeclarations.get(source).push(statement);
+ }
+ }
+ let lastImportPath = null;
+ for (const bodyStmt of this._programPath.get("body")) {
+ if (bodyStmt.isImportDeclaration() && isValueImport(bodyStmt.node)) {
+ lastImportPath = bodyStmt;
+ const source = bodyStmt.node.source.value;
+ const newImports = importDeclarations.get(source);
+ if (!newImports) continue;
+ for (const decl of newImports) {
+ if (!statementsSet.has(decl)) continue;
+ if (maybeAppendImportSpecifiers(bodyStmt.node, decl)) {
+ statementsSet.delete(decl);
+ }
+ }
+ }
+ }
+ if (statementsSet.size === 0) return true;
+ if (lastImportPath) lastImportPath.insertAfter(Array.from(statementsSet));
+ return !!lastImportPath;
+ }
+}
+exports.default = ImportInjector;
+function isValueImport(node) {
+ return node.importKind !== "type" && node.importKind !== "typeof";
+}
+function hasNamespaceImport(node) {
+ return node.specifiers.length === 1 && node.specifiers[0].type === "ImportNamespaceSpecifier" || node.specifiers.length === 2 && node.specifiers[1].type === "ImportNamespaceSpecifier";
+}
+function hasDefaultImport(node) {
+ return node.specifiers.length > 0 && node.specifiers[0].type === "ImportDefaultSpecifier";
+}
+function maybeAppendImportSpecifiers(target, source) {
+ if (!target.specifiers.length) {
+ target.specifiers = source.specifiers;
+ return true;
+ }
+ if (!source.specifiers.length) return true;
+ if (hasNamespaceImport(target) || hasNamespaceImport(source)) return false;
+ if (hasDefaultImport(source)) {
+ if (hasDefaultImport(target)) {
+ source.specifiers[0] = importSpecifier(source.specifiers[0].local, identifier("default"));
+ } else {
+ target.specifiers.unshift(source.specifiers.shift());
+ }
+ }
+ target.specifiers.push(...source.specifiers);
+ return true;
+}
+
+//# sourceMappingURL=import-injector.js.map
diff --git a/node_modules/@babel/helper-module-imports/lib/import-injector.js.map b/node_modules/@babel/helper-module-imports/lib/import-injector.js.map
new file mode 100644
index 0000000..ce8b4b1
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/lib/import-injector.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_assert","require","_t","_importBuilder","_isModule","identifier","importSpecifier","numericLiteral","sequenceExpression","isImportDeclaration","ImportInjector","constructor","path","importedSource","opts","_defaultOpts","importedType","importedInterop","importingInterop","ensureLiveReference","ensureNoContext","importPosition","programPath","find","p","isProgram","_programPath","_programScope","scope","_hub","hub","_applyDefaults","addDefault","importedSourceIn","addNamed","importName","assert","_generateImport","addNamespace","addSideEffect","isInit","newOpts","Object","assign","nameHint","undefined","blockHoist","isDefault","isNamed","isNamespace","name","isMod","isModule","isModuleForNode","isModuleForBabel","Error","builder","ImportBuilder","import","namespace","named","es6Default","default","var","wildcardInterop","defaultInterop","read","prop","statements","resultName","done","_insertStatements","type","_insertStatementsAfter","_insertStatementsBefore","unshiftContainer","length","isValueImport","firstImportDecl","get","node","source","value","maybeAppendImportSpecifiers","forEach","_blockHoist","targetPath","val","Number","isFinite","insertBefore","statementsSet","Set","importDeclarations","Map","statement","has","set","push","lastImportPath","bodyStmt","newImports","decl","delete","size","insertAfter","Array","from","exports","importKind","hasNamespaceImport","specifiers","hasDefaultImport","target","local","unshift","shift"],"sources":["../src/import-injector.ts"],"sourcesContent":["import assert from \"node:assert\";\nimport {\n identifier,\n importSpecifier,\n numericLiteral,\n sequenceExpression,\n isImportDeclaration,\n} from \"@babel/types\";\nimport type * as t from \"@babel/types\";\nimport type { NodePath, Scope, HubInterface } from \"@babel/traverse\";\n\nimport ImportBuilder from \"./import-builder.ts\";\nimport isModule from \"./is-module.ts\";\n\nexport type ImportOptions = {\n /**\n * The module being referenced.\n */\n importedSource: string | null;\n /**\n * The type of module being imported:\n *\n * * 'es6' - An ES6 module.\n * * 'commonjs' - A CommonJS module. (Default)\n */\n importedType: \"es6\" | \"commonjs\";\n /**\n * The type of interop behavior for namespace/default/named when loading\n * CommonJS modules.\n *\n * ## 'babel' (Default)\n *\n * Load using Babel's interop.\n *\n * If '.__esModule' is true, treat as 'compiled', else:\n *\n * * Namespace: A copy of the module.exports with .default\n * populated by the module.exports object.\n * * Default: The module.exports value.\n * * Named: The .named property of module.exports.\n *\n * The 'ensureLiveReference' has no effect on the liveness of these.\n *\n * ## 'compiled'\n *\n * Assume the module is ES6 compiled to CommonJS. Useful to avoid injecting\n * interop logic if you are confident that the module is a certain format.\n *\n * * Namespace: The root module.exports object.\n * * Default: The .default property of the namespace.\n * * Named: The .named property of the namespace.\n *\n * Will return erroneous results if the imported module is _not_ compiled\n * from ES6 with Babel.\n *\n * ## 'uncompiled'\n *\n * Assume the module is _not_ ES6 compiled to CommonJS. Used a simplified\n * access pattern that doesn't require additional function calls.\n *\n * Will return erroneous results if the imported module _is_ compiled\n * from ES6 with Babel.\n *\n * * Namespace: The module.exports object.\n * * Default: The module.exports object.\n * * Named: The .named property of module.exports.\n */\n importedInterop: \"babel\" | \"node\" | \"compiled\" | \"uncompiled\";\n /**\n * The type of CommonJS interop included in the environment that will be\n * loading the output code.\n *\n * * 'babel' - CommonJS modules load with Babel's interop. (Default)\n * * 'node' - CommonJS modules load with Node's interop.\n *\n * See descriptions in 'importedInterop' for more details.\n */\n importingInterop: \"babel\" | \"node\";\n /**\n * Define whether we explicitly care that the import be a live reference.\n * Only applies when importing default and named imports, not the namespace.\n *\n * * true - Force imported values to be live references.\n * * false - No particular requirements. Keeps the code simplest. (Default)\n */\n ensureLiveReference: boolean;\n /**\n * Define if we explicitly care that the result not be a property reference.\n *\n * * true - Force calls to exclude context. Useful if the value is going to\n * be used as function callee.\n * * false - No particular requirements for context of the access. (Default)\n */\n ensureNoContext: boolean;\n /**\n * Define whether the import should be loaded before or after the existing imports.\n * \"after\" is only allowed inside ECMAScript modules, since it's not possible to\n * reliably pick the location _after_ require() calls but _before_ other code in CJS.\n */\n importPosition: \"before\" | \"after\";\n\n nameHint?: string;\n blockHoist?: number;\n};\n\n/**\n * A general helper classes add imports via transforms. See README for usage.\n */\nexport default class ImportInjector {\n /**\n * The path used for manipulation.\n */\n declare _programPath: NodePath<t.Program>;\n\n /**\n * The scope used to generate unique variable names.\n */\n declare _programScope: Scope;\n\n /**\n * The file used to inject helpers and resolve paths.\n */\n declare _hub: HubInterface;\n\n /**\n * The default options to use with this instance when imports are added.\n */\n _defaultOpts: ImportOptions = {\n importedSource: null,\n importedType: \"commonjs\",\n importedInterop: \"babel\",\n importingInterop: \"babel\",\n ensureLiveReference: false,\n ensureNoContext: false,\n importPosition: \"before\",\n };\n\n constructor(\n path: NodePath,\n importedSource?: string,\n opts?: Partial<ImportOptions>,\n ) {\n const programPath = path.find(p => p.isProgram()) as NodePath<t.Program>;\n\n this._programPath = programPath;\n this._programScope = programPath.scope;\n this._hub = programPath.hub;\n\n this._defaultOpts = this._applyDefaults(importedSource, opts, true);\n }\n\n addDefault(importedSourceIn: string, opts: Partial<ImportOptions>) {\n return this.addNamed(\"default\", importedSourceIn, opts);\n }\n\n addNamed(\n importName: string,\n importedSourceIn: string,\n opts: Partial<ImportOptions>,\n ) {\n assert(typeof importName === \"string\");\n\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n importName,\n );\n }\n\n addNamespace(importedSourceIn: string, opts: Partial<ImportOptions>) {\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n null,\n );\n }\n\n addSideEffect(importedSourceIn: string, opts: Partial<ImportOptions>) {\n return this._generateImport(\n this._applyDefaults(importedSourceIn, opts),\n void 0,\n );\n }\n\n _applyDefaults(\n importedSource: string | Partial<ImportOptions>,\n opts: Partial<ImportOptions> | undefined,\n isInit = false,\n ) {\n let newOpts: ImportOptions;\n if (typeof importedSource === \"string\") {\n newOpts = { ...this._defaultOpts, importedSource, ...opts };\n } else {\n assert(!opts, \"Unexpected secondary arguments.\");\n newOpts = { ...this._defaultOpts, ...importedSource };\n }\n\n if (!isInit && opts) {\n if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint;\n if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist;\n }\n return newOpts;\n }\n\n _generateImport(\n opts: Partial<ImportOptions>,\n importName: string | null | undefined,\n ) {\n const isDefault = importName === \"default\";\n const isNamed = !!importName && !isDefault;\n const isNamespace = importName === null;\n\n const {\n importedSource,\n importedType,\n importedInterop,\n importingInterop,\n ensureLiveReference,\n ensureNoContext,\n nameHint,\n importPosition,\n\n // Not meant for public usage. Allows code that absolutely must control\n // ordering to set a specific hoist value on the import nodes.\n // This is ignored when \"importPosition\" is \"after\".\n blockHoist,\n } = opts;\n\n // Provide a hint for generateUidIdentifier for the local variable name\n // to use for the import, if the code will generate a simple assignment\n // to a variable.\n let name = nameHint || importName;\n\n const isMod = isModule(this._programPath);\n const isModuleForNode = isMod && importingInterop === \"node\";\n const isModuleForBabel = isMod && importingInterop === \"babel\";\n\n if (importPosition === \"after\" && !isMod) {\n throw new Error(`\"importPosition\": \"after\" is only supported in modules`);\n }\n\n const builder = new ImportBuilder(\n importedSource,\n this._programScope,\n this._hub,\n );\n\n if (importedType === \"es6\") {\n if (!isModuleForNode && !isModuleForBabel) {\n throw new Error(\"Cannot import an ES6 module from CommonJS\");\n }\n\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n builder.import();\n if (isNamespace) {\n builder.namespace(nameHint || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else if (importedType !== \"commonjs\") {\n throw new Error(`Unexpected interopType \"${importedType}\"`);\n } else if (importedInterop === \"babel\") {\n if (isModuleForNode) {\n // import _tmp from ''; var namespace = interopRequireWildcard(_tmp); namespace\n // import _tmp from ''; var def = interopRequireDefault(_tmp).default; def\n // import _tmp from ''; _tmp.named\n name = name !== \"default\" ? name : importedSource;\n const es6Default = `${importedSource}$es6Default`;\n\n builder.import();\n if (isNamespace) {\n builder\n .default(es6Default)\n .var(name || importedSource)\n .wildcardInterop();\n } else if (isDefault) {\n if (ensureLiveReference) {\n builder\n .default(es6Default)\n .var(name || importedSource)\n .defaultInterop()\n .read(\"default\");\n } else {\n builder\n .default(es6Default)\n .var(name)\n .defaultInterop()\n .prop(importName);\n }\n } else if (isNamed) {\n builder.default(es6Default).read(importName);\n }\n } else if (isModuleForBabel) {\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n builder.import();\n if (isNamespace) {\n builder.namespace(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = interopRequireWildcard(require(''));\n // var def = interopRequireDefault(require('')).default; def\n // var named = require('').named; named\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource).wildcardInterop();\n } else if ((isDefault || isNamed) && ensureLiveReference) {\n if (isDefault) {\n name = name !== \"default\" ? name : importedSource;\n builder.var(name).read(importName);\n builder.defaultInterop();\n } else {\n builder.var(importedSource).read(importName);\n }\n } else if (isDefault) {\n builder.var(name).defaultInterop().prop(importName);\n } else if (isNamed) {\n builder.var(name).prop(importName);\n }\n }\n } else if (importedInterop === \"compiled\") {\n if (isModuleForNode) {\n // import namespace from ''; namespace\n // import namespace from ''; namespace.default\n // import namespace from ''; namespace.named\n\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.default(importedSource).read(name);\n }\n } else if (isModuleForBabel) {\n // import * as namespace from ''; namespace\n // import def from ''; def\n // import { named } from ''; named\n // Note: These lookups will break if the module has no __esModule set,\n // hence the warning that 'compiled' will not work on standard CommonJS.\n\n builder.import();\n if (isNamespace) {\n builder.namespace(name || importedSource);\n } else if (isDefault || isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = require(''); namespace\n // var namespace = require(''); namespace.default\n // var namespace = require(''); namespace.named\n // var named = require('').named;\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource);\n } else if (isDefault || isNamed) {\n if (ensureLiveReference) {\n builder.var(importedSource).read(name);\n } else {\n builder.prop(importName).var(name);\n }\n }\n }\n } else if (importedInterop === \"uncompiled\") {\n if (isDefault && ensureLiveReference) {\n throw new Error(\"No live reference for commonjs default\");\n }\n\n if (isModuleForNode) {\n // import namespace from ''; namespace\n // import def from ''; def;\n // import namespace from ''; namespace.named\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault) {\n builder.default(name);\n } else if (isNamed) {\n builder.default(importedSource).read(name);\n }\n } else if (isModuleForBabel) {\n // import namespace from '';\n // import def from '';\n // import { named } from ''; named;\n // Note: These lookups will break if the module has __esModule set,\n // hence the warning that 'uncompiled' will not work on ES6 transpiled\n // to CommonJS.\n\n builder.import();\n if (isNamespace) {\n builder.default(name || importedSource);\n } else if (isDefault) {\n builder.default(name);\n } else if (isNamed) {\n builder.named(name, importName);\n }\n } else {\n // var namespace = require(''); namespace\n // var def = require(''); def\n // var namespace = require(''); namespace.named\n // var named = require('').named;\n builder.require();\n if (isNamespace) {\n builder.var(name || importedSource);\n } else if (isDefault) {\n builder.var(name);\n } else if (isNamed) {\n if (ensureLiveReference) {\n builder.var(importedSource).read(name);\n } else {\n builder.var(name).prop(importName);\n }\n }\n }\n } else {\n throw new Error(`Unknown importedInterop \"${importedInterop}\".`);\n }\n\n const { statements, resultName } = builder.done();\n\n this._insertStatements(statements, importPosition, blockHoist);\n\n if (\n (isDefault || isNamed) &&\n ensureNoContext &&\n resultName.type !== \"Identifier\"\n ) {\n return sequenceExpression([numericLiteral(0), resultName]);\n }\n return resultName;\n }\n\n _insertStatements(\n statements: t.Statement[],\n importPosition = \"before\",\n blockHoist = 3,\n ) {\n if (importPosition === \"after\") {\n if (this._insertStatementsAfter(statements)) return;\n } else {\n if (this._insertStatementsBefore(statements, blockHoist)) return;\n }\n\n this._programPath.unshiftContainer(\"body\", statements);\n }\n\n _insertStatementsBefore(statements: t.Statement[], blockHoist: number) {\n if (\n statements.length === 1 &&\n isImportDeclaration(statements[0]) &&\n isValueImport(statements[0])\n ) {\n const firstImportDecl = this._programPath\n .get(\"body\")\n .find((p): p is NodePath<t.ImportDeclaration> => {\n return p.isImportDeclaration() && isValueImport(p.node);\n });\n\n if (\n firstImportDecl?.node.source.value === statements[0].source.value &&\n maybeAppendImportSpecifiers(firstImportDecl.node, statements[0])\n ) {\n return true;\n }\n }\n\n statements.forEach(node => {\n // @ts-expect-error handle _blockHoist\n node._blockHoist = blockHoist;\n });\n\n const targetPath = this._programPath.get(\"body\").find(p => {\n // @ts-expect-error todo(flow->ts): avoid mutations\n const val = p.node._blockHoist;\n return Number.isFinite(val) && val < 4;\n });\n\n if (targetPath) {\n targetPath.insertBefore(statements);\n return true;\n }\n\n return false;\n }\n\n _insertStatementsAfter(statements: t.Statement[]): boolean {\n const statementsSet = new Set(statements);\n const importDeclarations = new Map<string, t.ImportDeclaration[]>();\n\n for (const statement of statements) {\n if (isImportDeclaration(statement) && isValueImport(statement)) {\n const source = statement.source.value;\n if (!importDeclarations.has(source)) importDeclarations.set(source, []);\n importDeclarations.get(source).push(statement);\n }\n }\n\n let lastImportPath = null;\n for (const bodyStmt of this._programPath.get(\"body\")) {\n if (bodyStmt.isImportDeclaration() && isValueImport(bodyStmt.node)) {\n lastImportPath = bodyStmt;\n\n const source = bodyStmt.node.source.value;\n const newImports = importDeclarations.get(source);\n if (!newImports) continue;\n\n for (const decl of newImports) {\n if (!statementsSet.has(decl)) continue;\n if (maybeAppendImportSpecifiers(bodyStmt.node, decl)) {\n statementsSet.delete(decl);\n }\n }\n }\n }\n\n if (statementsSet.size === 0) return true;\n\n if (lastImportPath) lastImportPath.insertAfter(Array.from(statementsSet));\n\n return !!lastImportPath;\n }\n}\n\nfunction isValueImport(node: t.ImportDeclaration) {\n return node.importKind !== \"type\" && node.importKind !== \"typeof\";\n}\n\nfunction hasNamespaceImport(node: t.ImportDeclaration) {\n return (\n (node.specifiers.length === 1 &&\n node.specifiers[0].type === \"ImportNamespaceSpecifier\") ||\n (node.specifiers.length === 2 &&\n node.specifiers[1].type === \"ImportNamespaceSpecifier\")\n );\n}\n\nfunction hasDefaultImport(node: t.ImportDeclaration) {\n return (\n node.specifiers.length > 0 &&\n node.specifiers[0].type === \"ImportDefaultSpecifier\"\n );\n}\n\nfunction maybeAppendImportSpecifiers(\n target: t.ImportDeclaration,\n source: t.ImportDeclaration,\n): boolean {\n if (!target.specifiers.length) {\n target.specifiers = source.specifiers;\n return true;\n }\n if (!source.specifiers.length) return true;\n\n if (hasNamespaceImport(target) || hasNamespaceImport(source)) return false;\n\n if (hasDefaultImport(source)) {\n if (hasDefaultImport(target)) {\n source.specifiers[0] = importSpecifier(\n source.specifiers[0].local,\n identifier(\"default\"),\n );\n } else {\n target.specifiers.unshift(source.specifiers.shift());\n }\n }\n\n target.specifiers.push(...source.specifiers);\n\n return true;\n}\n"],"mappings":"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","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-module-imports/lib/index.js b/node_modules/@babel/helper-module-imports/lib/index.js
new file mode 100644
index 0000000..84f97fc
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/lib/index.js
@@ -0,0 +1,37 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "ImportInjector", {
+ enumerable: true,
+ get: function () {
+ return _importInjector.default;
+ }
+});
+exports.addDefault = addDefault;
+exports.addNamed = addNamed;
+exports.addNamespace = addNamespace;
+exports.addSideEffect = addSideEffect;
+Object.defineProperty(exports, "isModule", {
+ enumerable: true,
+ get: function () {
+ return _isModule.default;
+ }
+});
+var _importInjector = require("./import-injector.js");
+var _isModule = require("./is-module.js");
+function addDefault(path, importedSource, opts) {
+ return new _importInjector.default(path).addDefault(importedSource, opts);
+}
+function addNamed(path, name, importedSource, opts) {
+ return new _importInjector.default(path).addNamed(name, importedSource, opts);
+}
+function addNamespace(path, importedSource, opts) {
+ return new _importInjector.default(path).addNamespace(importedSource, opts);
+}
+function addSideEffect(path, importedSource, opts) {
+ return new _importInjector.default(path).addSideEffect(importedSource, opts);
+}
+
+//# sourceMappingURL=index.js.map
diff --git a/node_modules/@babel/helper-module-imports/lib/index.js.map b/node_modules/@babel/helper-module-imports/lib/index.js.map
new file mode 100644
index 0000000..787cfd3
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/lib/index.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["_importInjector","require","_isModule","addDefault","path","importedSource","opts","ImportInjector","addNamed","name","addNamespace","addSideEffect"],"sources":["../src/index.ts"],"sourcesContent":["import ImportInjector, { type ImportOptions } from \"./import-injector.ts\";\nimport type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\nexport { ImportInjector };\n\nexport { default as isModule } from \"./is-module.ts\";\n\nexport function addDefault(\n path: NodePath,\n importedSource: string,\n opts?: Partial<ImportOptions>,\n) {\n return new ImportInjector(path).addDefault(importedSource, opts);\n}\n\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit<\n Partial<ImportOptions>,\n \"ensureLiveReference\" | \"ensureNoContext\"\n >,\n): t.Identifier;\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit<Partial<ImportOptions>, \"ensureLiveReference\"> & {\n ensureLiveReference: true;\n },\n): t.MemberExpression;\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Omit<Partial<ImportOptions>, \"ensureNoContext\"> & {\n ensureNoContext: true;\n },\n): t.SequenceExpression;\n/**\n * add a named import to the program path of given path\n *\n * @export\n * @param {NodePath} path The starting path to find a program path\n * @param {string} name The name of the generated binding. Babel will prefix it with `_`\n * @param {string} importedSource The source of the import\n * @param {Partial<ImportOptions>} [opts]\n * @returns {t.Identifier | t.MemberExpression | t.SequenceExpression} If opts.ensureNoContext is true, returns a SequenceExpression,\n * else if opts.ensureLiveReference is true, returns a MemberExpression, else returns an Identifier\n */\nfunction addNamed(\n path: NodePath,\n name: string,\n importedSource: string,\n opts?: Partial<ImportOptions>,\n) {\n return new ImportInjector(path).addNamed(name, importedSource, opts);\n}\nexport { addNamed };\n\nexport function addNamespace(\n path: NodePath,\n importedSource: string,\n opts?: Partial<ImportOptions>,\n) {\n return new ImportInjector(path).addNamespace(importedSource, opts);\n}\n\nexport function addSideEffect(\n path: NodePath,\n importedSource: string,\n opts?: Partial<ImportOptions>,\n) {\n return new ImportInjector(path).addSideEffect(importedSource, opts);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAMA,IAAAC,SAAA,GAAAD,OAAA;AAEO,SAASE,UAAUA,CACxBC,IAAc,EACdC,cAAsB,EACtBC,IAA6B,EAC7B;EACA,OAAO,IAAIC,uBAAc,CAACH,IAAI,CAAC,CAACD,UAAU,CAACE,cAAc,EAAEC,IAAI,CAAC;AAClE;AAsCA,SAASE,QAAQA,CACfJ,IAAc,EACdK,IAAY,EACZJ,cAAsB,EACtBC,IAA6B,EAC7B;EACA,OAAO,IAAIC,uBAAc,CAACH,IAAI,CAAC,CAACI,QAAQ,CAACC,IAAI,EAAEJ,cAAc,EAAEC,IAAI,CAAC;AACtE;AAGO,SAASI,YAAYA,CAC1BN,IAAc,EACdC,cAAsB,EACtBC,IAA6B,EAC7B;EACA,OAAO,IAAIC,uBAAc,CAACH,IAAI,CAAC,CAACM,YAAY,CAACL,cAAc,EAAEC,IAAI,CAAC;AACpE;AAEO,SAASK,aAAaA,CAC3BP,IAAc,EACdC,cAAsB,EACtBC,IAA6B,EAC7B;EACA,OAAO,IAAIC,uBAAc,CAACH,IAAI,CAAC,CAACO,aAAa,CAACN,cAAc,EAAEC,IAAI,CAAC;AACrE","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-module-imports/lib/is-module.js b/node_modules/@babel/helper-module-imports/lib/is-module.js
new file mode 100644
index 0000000..0bbda01
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/lib/is-module.js
@@ -0,0 +1,11 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = isModule;
+function isModule(path) {
+ return path.node.sourceType === "module";
+}
+
+//# sourceMappingURL=is-module.js.map
diff --git a/node_modules/@babel/helper-module-imports/lib/is-module.js.map b/node_modules/@babel/helper-module-imports/lib/is-module.js.map
new file mode 100644
index 0000000..c460806
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/lib/is-module.js.map
@@ -0,0 +1 @@
+{"version":3,"names":["isModule","path","node","sourceType"],"sources":["../src/is-module.ts"],"sourcesContent":["import type { NodePath } from \"@babel/traverse\";\nimport type * as t from \"@babel/types\";\n\n/**\n * A small utility to check if a file qualifies as a module.\n */\nexport default function isModule(path: NodePath<t.Program>) {\n return path.node.sourceType === \"module\";\n}\n"],"mappings":";;;;;;AAMe,SAASA,QAAQA,CAACC,IAAyB,EAAE;EAC1D,OAAOA,IAAI,CAACC,IAAI,CAACC,UAAU,KAAK,QAAQ;AAC1C","ignoreList":[]} \ No newline at end of file
diff --git a/node_modules/@babel/helper-module-imports/package.json b/node_modules/@babel/helper-module-imports/package.json
new file mode 100644
index 0000000..822c840
--- /dev/null
+++ b/node_modules/@babel/helper-module-imports/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "@babel/helper-module-imports",
+ "version": "7.28.6",
+ "description": "Babel helper functions for inserting module loads",
+ "author": "The Babel Team (https://babel.dev/team)",
+ "homepage": "https://babel.dev/docs/en/next/babel-helper-module-imports",
+ "license": "MIT",
+ "publishConfig": {
+ "access": "public"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/babel/babel.git",
+ "directory": "packages/babel-helper-module-imports"
+ },
+ "main": "./lib/index.js",
+ "dependencies": {
+ "@babel/traverse": "^7.28.6",
+ "@babel/types": "^7.28.6"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.28.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "type": "commonjs"
+} \ No newline at end of file