22 lines
807 B
JavaScript
22 lines
807 B
JavaScript
import { spawnSync } from "node:child_process";
|
|
import process from "node:process";
|
|
|
|
// uiohook-napi click capture is macOS-only at runtime (gated in
|
|
// electron/ipc/handlers.ts). Skip the rebuild on other platforms so CI runners
|
|
// without X11 dev headers don't fail npm install. The library's prebuilt
|
|
// .node binaries are still bundled and loadable; we just don't need a fresh
|
|
// build against Electron's ABI on platforms where we don't load it.
|
|
if (process.platform !== "darwin") {
|
|
console.log(
|
|
`[rebuild:native] Skipping uiohook-napi rebuild on ${process.platform} (macOS-only).`,
|
|
);
|
|
process.exit(0);
|
|
}
|
|
|
|
const result = spawnSync(
|
|
process.execPath,
|
|
["./node_modules/@electron/rebuild/lib/cli.js", "--force", "--only", "uiohook-napi"],
|
|
{ stdio: "inherit" },
|
|
);
|
|
process.exit(result.status ?? 0);
|