UNPKG

st-bundle

Version:

CLI for watching and bundling SpringType projects.

65 lines (64 loc) 2.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var AssembleState; (function (AssembleState) { AssembleState[AssembleState["VENDOR_REQUIRED"] = 0] = "VENDOR_REQUIRED"; })(AssembleState = exports.AssembleState || (exports.AssembleState = {})); function assembleContext(ctx) { let packages = new Map(); let ftlModules = []; let ftlContent; const obj = { setFTLModule: (module) => { if (ftlModules.indexOf(module) === -1) { ftlModules.push(module); } }, setFTLGeneratedContent: str => { ftlContent = str; }, getFTLGeneratedContent: () => { return ftlContent; }, getFTLModules: () => ftlModules, flush: () => { ftlModules = []; packages = new Map(); ftlContent = ''; obj.collection.modules = new Map(); }, getPackageCollection() { return packages; }, collection: { modules: new Map(), packages: { getAll: (fn) => { packages.forEach(items => { items.forEach(pkg => fn(pkg)); }); }, get: (name, version) => { if (packages.has(name)) { return packages.get(name).get(version); } }, add: (pkg) => { const name = pkg.props.meta.name; const version = pkg.props.meta.version; if (packages.has(name)) { pkg.isFlat = false; packages.get(name).set(version, pkg); } else { const record = packages.set(name, new Map()); pkg.isFlat = true; record.get(name).set(version, pkg); } }, }, }, }; return obj; } exports.assembleContext = assembleContext;