UNPKG

@routineless/nx-aws-cdk

Version:
70 lines 3.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.modificationFactory = exports.isEsmModifications = void 0; const ast_types_1 = require("ast-types"); const modifications_util_1 = require("./modifications-util"); const isEsmModifications = (modifications) => { return modifications.format === 'esm'; }; exports.isEsmModifications = isEsmModifications; const localImportsExtensionModification = (file, path) => { const result = { modified: false, traverseChildren: false }; if (path.node.source) { const resolvedValue = (0, modifications_util_1.resolveRelativePath)(file, path.value.source.value); if (path.node.source.value !== resolvedValue) { path.node.source.value = resolvedValue; result.modified = true; } } return result; }; const localRequireExtensionModification = (file, path) => { const result = { modified: false, traverseChildren: false }; if ((0, modifications_util_1.isRequireExpression)(path.node) && ast_types_1.namedTypes.StringLiteral.check(path.node.arguments[0])) { const resolvedValue = (0, modifications_util_1.resolveRelativePath)(file, path.node.arguments[0].value); if (path.node.arguments[0].value !== resolvedValue) { path.node.arguments[0].value = resolvedValue; result.modified = true; } } return result; }; const createImportSpecifiersModification = (modification) => { const { reexportedImports, reexportingModule } = modification; return (_, path) => { const result = { modified: false, traverseChildren: false }; const importedModule = path.node.source.value; if (!importedModule || !reexportedImports.has(importedModule)) return result; // const imports = reexportedImports.get(reexportingModule) path.node.source.value = reexportingModule; const initialSpecifiers = path.node.specifiers; if (initialSpecifiers) { path.node.specifiers = initialSpecifiers.map((specifier) => { let result = specifier; if (ast_types_1.namedTypes.ImportSpecifier.check(specifier)) { const importedName = specifier.imported.name; const resolvedName = (0, modifications_util_1.resolveReexportingName)(importedModule, { named: importedName }); result = ast_types_1.builders.importSpecifier(ast_types_1.builders.identifier(resolvedName), specifier.local); } if (ast_types_1.namedTypes.ImportDefaultSpecifier.check(specifier)) { const resolvedName = (0, modifications_util_1.resolveReexportingName)(importedModule, { default: true }); result = ast_types_1.builders.importSpecifier(ast_types_1.builders.identifier(resolvedName), specifier.local); } if (ast_types_1.namedTypes.ImportNamespaceSpecifier.check(specifier)) { const resolvedName = (0, modifications_util_1.resolveReexportingName)(importedModule, { namespace: true }); result = ast_types_1.builders.importSpecifier(ast_types_1.builders.identifier(resolvedName), specifier.local); } return result; }); } result.modified = true; return result; }; }; exports.modificationFactory = { localImportsExtensionModification, localRequireExtensionModification, createImportSpecifiersModification, }; //# sourceMappingURL=modifications.js.map