UNPKG

st-bundle

Version:

CLI for watching and bundling SpringType projects.

36 lines (35 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../../utils/utils"); class ProductionAPIWrapper { constructor(ctx) { this.ctx = ctx; } wrapModule(pm) { const prodConf = this.ctx.config.production; const funcKey = prodConf.screwIE ? '(module, exports) => {' : 'function(module, exports){'; let outputContent = pm.transpiledContent; let outputSourcemap = pm.transpiledSourceMap; if (!outputContent) { outputContent = pm.module.contents; outputSourcemap = pm.module.sourceMap; } const concat = utils_1.createConcat(true, '', '\n'); concat.add(null, `// ${pm.module.getShortPath()}`); concat.add(null, `$fsx.f[${pm.getId()}] = ${funcKey}`); concat.add(pm.module.getShortPath(), outputContent, outputSourcemap); concat.add(null, '}'); return concat; } addEntries(ids, bundle) { if (ids.length === 1) { bundle.addContent('// Importing a single entry'); bundle.addContent(`$fsx.r(${ids[0]});`); } else { bundle.addContent('// Importing multiple entries'); bundle.addContent(`${JSON.stringify(ids)}.map(function(n){ $fsx.r(n) })`); } } } exports.ProductionAPIWrapper = ProductionAPIWrapper;