const path = require("path"); const childProcess = require("child_process"); const { PLATFORM_SPECIFIC_PACKAGE_NAME, BINARY_NAME } = require("./common"); function getBinaryPath() { try { if (!PLATFORM_SPECIFIC_PACKAGE_NAME) { throw new Error("unsupported platform"); } return require.resolve(`${PLATFORM_SPECIFIC_PACKAGE_NAME}/bin/${BINARY_NAME}`); } catch (_) { return path.join(__dirname, BINARY_NAME); } } module.exports.runBinary = function runBinary(...args) { childProcess.execFileSync(getBinaryPath(), args, { stdio: "inherit", env: { ...process.env, YAAK_CLI_INSTALL_SOURCE: process.env.YAAK_CLI_INSTALL_SOURCE ?? "npm" }, }); };