in electron-installer/deb.js [88:150]
function constructProcessor(config, buildTarget, buildInfos, packageJson) {
if (process.platform !== "linux") {
log.warning(ModuleName, "Target", "Skipping: Publishing RPM must be on linux.");
return new PassThrough({ objectMode: true });
}
if (buildTarget.platform !== "linux") {
log.error(ModuleName, "Target", "Skipping: BuildTarget.platform must be linux.");
return new PassThrough({ objectMode: true });
}
if (!dd.isModuleInstalled(InstallerDepName)) {
log.info(ModuleName, "Dependency", `Installing dependency "${InstallerDepName}" ...`);
dd.installDynamicDependency(
InstallerDepName,
{
depTypes: ["dev"]
});
}
return new Transform({
objectMode: true,
/** @param {import("vinyl")} chunk */
transform(chunk, encoding, callback) {
if (!chunk.isDirectory()) {
this.push(chunk);
callback();
return;
}
const options = {
src: chunk.path,
dest: tmp.dirSync({ dir: buildInfos.paths.intermediateDir, unsafeCleanup: true }).name,
arch: toInstallerArch(buildTarget.arch),
name: buildInfos.executableName,
productName: buildInfos.productName,
genericName: buildInfos.productName,
homepage: packageJson.homepage,
version: buildInfos.buildNumber,
revision: "0",
section: config.section,
bin: buildInfos.executableName,
icon: generateIconOptions(config.icons),
categories: config.categories
};
const installer = require(InstallerDepName);
installer(options).then(
() => {
glob.sync(path.join(options.dest, "**/*"), { dot: true, onlyFiles: false })
.forEach(
/** @param {string} fileName */
(fileName) => this.push(vinyl(fileName, options.dest)));
callback();
},
/** @param {*} reason */
(reason) => callback(reason));
}
});
};