st-bundle
Version:
CLI for watching and bundling SpringType projects.
34 lines (33 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const LegoAPI = require("lego-api");
const path = require("path");
const utils_1 = require("../../utils/utils");
const keys = [
'browser',
'universal',
'useSingleBundle',
'isElectron',
'server',
'allowSyntheticDefaultImports',
'splitConfig',
];
const defaultOptions = {};
for (const key in keys) {
defaultOptions[keys[key]] = false;
}
function renderProductionAPI(conditions, variables) {
const contents = utils_1.readFile(path.join(__dirname, 'production.api.js'));
const opts = Object.assign(Object.assign({}, defaultOptions), conditions);
let data = LegoAPI.parse(contents).render(opts);
if (variables) {
for (let varName in variables) {
data = data.replace(`$${varName}$`, variables[varName]);
}
}
if (conditions.useSingleBundle) {
data = `var $fsx = ${data}`;
}
return data;
}
exports.renderProductionAPI = renderProductionAPI;