UNPKG

fuse-box

Version:

Fuse-Box a bundler that does it right

31 lines (28 loc) 1.06 kB
import { File } from "../../core/File"; import * as fs from "fs"; /** * * Fixing import() and bundle split for development purposes * * @export * @class DynamicImportStatement */ export class DynamicImportStatement { public static onNode(file: File, node: any, parent: any) { const analysis = file.analysis; if (node.type === "CallExpression" && node.callee) { if (node.callee.type === "Identifier" && node.callee.name === "$fsmp$") { let arg1 = node.arguments[0]; if (analysis.nodeIsString(arg1)) { let requireStatement = arg1.value; let resolved = file.collection.pm.resolve(requireStatement, file.info.absDir); if (resolved && resolved.fuseBoxPath && fs.existsSync(resolved.absPath)) { arg1.value = `~/${resolved.fuseBoxPath}`; file.analysis.requiresRegeneration = true; } } } } } public static onEnd() { } }