Add npm packaging and release workflow for yaakcli

This commit is contained in:
Gregory Schier
2026-02-22 09:21:46 -08:00
parent 3dd9f4c5b1
commit e0bf571ddd
22 changed files with 476 additions and 0 deletions

20
npm/cli/index.js Normal file
View File

@@ -0,0 +1,20 @@
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"
});
};