Files
cap/wasm/build.js
T
2025-04-23 12:55:02 +01:00

39 lines
1.0 KiB
JavaScript

import { execSync } from "child_process";
import path from "path";
import fs from "fs";
const rustSrcDir = path.join(process.cwd(), "./src/rust");
const nodeOutDir = path.join(process.cwd(), "./src/node");
const browserOutDir = path.join(process.cwd(), "./src/browser");
const packageName = "cap_wasm";
console.log(`Cleaning old build directories...`);
try {
fs.rmdirSync(nodeOutDir);
} catch {}
try {
fs.rmdirSync(browserOutDir);
} catch {}
console.log(`\n Building for Node...`);
execSync(
`wasm-pack build "${rustSrcDir}" --target nodejs --out-dir "${nodeOutDir}" --out-name "${packageName}"`,
{ stdio: "inherit" }
);
console.log(`\n Building for web...`);
execSync(
`wasm-pack build "${rustSrcDir}" --target web --out-dir "${browserOutDir}" --out-name "${packageName}"`,
{ stdio: "inherit" }
);
console.log(`\n Removing .gitignore...`);
[browserOutDir, nodeOutDir].forEach((dir) => {
try {
fs.rmSync(path.join(dir, ".gitignore"));
} catch {}
});
console.log(`\n🎉 All builds finished successfully!`);