UNPKG

st-bundle

Version:

CLI for watching and bundling SpringType projects.

49 lines (48 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const transformUtils_1 = require("../transformUtils"); function onImportDeclaration(ctx, node, parent, prop, idx) { const source = node.source.value; const localName = ctx.generateName(); const localVariables = []; const opts = { replaceNode: { array: parent[prop], node }, source: source, localVariables, }; if (node.specifiers.length > 0) { opts.local = localName; } ctx.reqStatements.push(opts); node.specifiers.forEach(specifier => { if (specifier.type === 'ImportSpecifier') { ctx.tracedImportSpecifiers[specifier.local.name] = { alias: specifier.imported.name, local: localName, nodes: [], }; localVariables.push({ exported: specifier.local.name, local: transformUtils_1.createMemberExpression(localName, specifier.imported.name), }); } else if (specifier.type === 'ImportDefaultSpecifier') { ctx.tracedImportSpecifiers[specifier.local.name] = { alias: 'default', local: localName, nodes: [] }; localVariables.push({ exported: specifier.local.name, local: transformUtils_1.createMemberExpression(localName, 'default'), }); } else if (specifier.type === 'ImportNamespaceSpecifier') { ctx.tracedImportSpecifiers[specifier.local.name] = { replaceWithLocal: true, local: localName, nodes: [] }; localVariables.push({ exported: specifier.local.name, local: { type: 'Identifier', name: localName, }, }); } }); } exports.onImportDeclaration = onImportDeclaration;