"use strict"; const path = require("node:path"); const { spawnSync } = require("node:child_process"); const packages = { "darwin-arm64": "@superdisk/dumbforge-darwin-arm64", "darwin-x64": "@superdisk/dumbforge-darwin-x64", "linux-arm64": "@superdisk/dumbforge-linux-arm64", "linux-x64": "@superdisk/dumbforge-linux-x64", "win32-arm64": "@superdisk/dumbforge-win32-arm64", "win32-x64": "@superdisk/dumbforge-win32-x64" }; module.exports = function run(remoteHelper) { const target = `${process.platform}-${process.arch}`; const packageName = packages[target]; if (!packageName) { console.error(`dumbforge: unsupported platform ${target}`); process.exit(1); } let packageRoot; try { packageRoot = path.dirname(require.resolve(`${packageName}/package.json`)); } catch (error) { console.error( `dumbforge: the native package ${packageName} is missing. ` + "Reinstall without --no-optional." ); process.exit(1); } const executable = path.join( packageRoot, "bin", process.platform === "win32" ? "dumbforge.exe" : "dumbforge" ); const args = remoteHelper ? ["__remote-helper", ...process.argv.slice(2)] : process.argv.slice(2); const result = spawnSync(executable, args, { stdio: "inherit" }); if (result.error) { console.error(`dumbforge: ${result.error.message}`); process.exit(1); } process.exit(result.status === null ? 1 : result.status); };