mirror of
https://git.quad4.io/RNS-Things/MeshChatX.git
synced 2026-04-24 08:35:44 +00:00
49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
// Staging must live outside the repo: packager copies the project into TMPDIR, which cannot be under the source tree.
|
|
|
|
const { spawnSync } = require("child_process");
|
|
const fs = require("fs");
|
|
const path = require("path");
|
|
|
|
const root = path.join(__dirname, "..");
|
|
const defaultTmpDir = path.join(path.dirname(root), `.forge-tmp-${path.basename(root)}`);
|
|
const tmpDir = path.resolve(process.env.FORGE_TMPDIR || defaultTmpDir);
|
|
fs.mkdirSync(tmpDir, { recursive: true });
|
|
|
|
const env = {
|
|
...process.env,
|
|
TMPDIR: tmpDir,
|
|
TEMP: tmpDir,
|
|
TMP: tmpDir,
|
|
};
|
|
|
|
const forgeCli = require.resolve("@electron-forge/cli/dist/electron-forge.js");
|
|
const args = process.argv.slice(2);
|
|
|
|
const flatpakForgeTarget =
|
|
args.includes("@electron-forge/maker-flatpak") ||
|
|
process.env.FORGE_MAKE_FLATPAK === "1" ||
|
|
process.env.FORGE_MAKE_FLATPAK === "true";
|
|
if (flatpakForgeTarget) {
|
|
const ensure = path.join(root, "scripts", "ensure-flatpak-flathub-remote.sh");
|
|
const pre = spawnSync("bash", [ensure], { cwd: root, stdio: "inherit" });
|
|
if (pre.status !== 0 && pre.status !== null) {
|
|
process.exit(pre.status);
|
|
}
|
|
if (pre.signal) {
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
const result = spawnSync(process.execPath, [forgeCli, ...args], {
|
|
cwd: root,
|
|
env,
|
|
stdio: "inherit",
|
|
});
|
|
|
|
if (result.signal) {
|
|
process.exit(1);
|
|
}
|
|
process.exit(result.status ?? 1);
|