32 lines
995 B
JavaScript
32 lines
995 B
JavaScript
import { spawnSync } from "node:child_process";
|
|
import { rmSync } from "node:fs";
|
|
import { dirname } from "node:path";
|
|
import { createRequire } from "node:module";
|
|
|
|
const target = process.argv[2];
|
|
|
|
if (target !== "node" && target !== "electron") {
|
|
console.error("Usage: node scripts/rebuild-better-sqlite3.mjs <node|electron>");
|
|
process.exit(1);
|
|
}
|
|
|
|
if (target === "electron") {
|
|
const result = spawnSync("pnpm", ["exec", "electron-rebuild", "-f", "-w", "better-sqlite3"], {
|
|
stdio: "inherit",
|
|
});
|
|
process.exit(result.status ?? 1);
|
|
}
|
|
|
|
const requireFromShared = createRequire(new URL("../packages/shared/package.json", import.meta.url));
|
|
const packageJsonPath = requireFromShared.resolve("better-sqlite3/package.json");
|
|
const packageDir = dirname(packageJsonPath);
|
|
|
|
rmSync(new URL("build", `file://${packageDir}/`), { recursive: true, force: true });
|
|
|
|
const result = spawnSync("pnpm", ["run", "install"], {
|
|
cwd: packageDir,
|
|
stdio: "inherit",
|
|
});
|
|
|
|
process.exit(result.status ?? 1);
|