UNPKG

st-bundle

Version:

CLI for watching and bundling SpringType projects.

41 lines (40 loc) 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const transformUtils_1 = require("../transformUtils"); function tracedVariable(ctx, node, context) { if (ctx.tracedImportSpecifiers[node.name] && ctx.tracedImportSpecifiers[node.name].nodes) { // variable found in the local scope if (context && context.locals.indexOf(node.name) > -1) { // we return the node as is, without modifying it return node; } const traced = ctx.tracedImportSpecifiers[node.name]; // alias usually means a "default" statement. Here we need to create a new Identifier for it // otherwise we take the node as is return transformUtils_1.createTracedExpression(traced.local, traced.alias ? { type: 'Identifier', name: traced.alias } : node); } return node; } exports.tracedVariable = tracedVariable; function handleTracedImportSpecifiers(ctx) { for (const local in ctx.tracedImportSpecifiers) { const item = ctx.tracedImportSpecifiers[local]; for (const node of item.nodes) { if (item.alias) { node.node.name = item.alias; } if (item.replaceWithLocal) { node.node.name = item.local; } else { if (node.idx === undefined) { node.parent[node.prop] = transformUtils_1.createTracedExpression(item.local, node.node); } else { node.parent[node.prop][node.idx] = transformUtils_1.createTracedExpression(item.local, node.node); } } } } } exports.handleTracedImportSpecifiers = handleTracedImportSpecifiers;