electron-builder
Version:
A complete solution to package and build a ready for distribution Electron app for MacOS, Windows and Linux with “auto update” support out of the box
46 lines (42 loc) • 1.62 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DIR_TARGET = exports.DEFAULT_TARGET = undefined;
exports.createTargets = createTargets;
exports.createCommonTarget = createCommonTarget;
var _platformPackager;
function _load_platformPackager() {
return _platformPackager = require("../platformPackager");
}
const commonTargets = new Set(["dir", "zip", "7z", "tar.xz", "tar.lz", "tar.gz", "tar.bz2"]);
const DEFAULT_TARGET = exports.DEFAULT_TARGET = "default";
const DIR_TARGET = exports.DIR_TARGET = "dir";
function createTargets(nameToTarget, rawList, outDir, packager, cleanupTasks) {
const result = [];
const mapper = (name, factory) => {
let target = nameToTarget.get(name);
if (target == null) {
target = factory(outDir);
nameToTarget.set(name, target);
}
result.push(target);
};
const targets = normalizeTargets(rawList == null || rawList.length === 0 ? packager.platformSpecificBuildOptions.target : rawList);
packager.createTargets(targets == null ? [DEFAULT_TARGET] : targets, mapper, cleanupTasks);
return result;
}
function normalizeTargets(targets) {
if (targets == null) {
return null;
} else {
return (Array.isArray(targets) ? targets : [targets]).map(it => it.toLowerCase().trim());
}
}
function createCommonTarget(target) {
if (commonTargets.has(target)) {
return new (_platformPackager || _load_platformPackager()).Target(target);
}
throw new Error(`Unknown target: ${ target }`);
}
//# sourceMappingURL=targetFactory.js.map