basis_universal
Version:
A package that runs the basis_universal executable
53 lines (41 loc) • 1.2 kB
JavaScript
const { spawn } = require("child_process");
const path = require("path");
function getExecutableName() {
const os = process.platform;
switch (os) {
case "win32":
return "basisu.exe";
case "darwin":
return "basisu"; // Not sure if this works
case "linux":
return "basisu";
default:
return null;
}
}
function main() {
const executableName = getExecutableName();
if (!executableName) {
console.error(`Error: Unsupported operating system '${process.platform}'.`);
process.exit(1);
}
const executablePath = path.join(__dirname, "bin", executableName);
const args = process.argv.slice(2);
console.log(`Running: ${executablePath} with args: [${args.join(", ")}]`);
const child = spawn(executablePath, args, {
stdio: "inherit",
});
child.on("error", (err) => {
console.error(
`Failed to start subprocess. Make sure '${executablePath}' is executable.`
);
console.error(err);
process.exit(1);
});
child.on("close", (code) => {
console.log(`Subprocess exited with code ${code}`);
process.exit(code);
});
}
main();