34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
const fs = require("node:fs");
|
|
const execa = require("execa");
|
|
const chalk = require("chalk");
|
|
const { join } = require("node:path");
|
|
|
|
(async () => {
|
|
console.log(chalk.italic`Generating Magnetar types, this may take a while...`)
|
|
|
|
const { failed } = await execa.command("cargo test --release --package magnetar_sdk", {
|
|
cwd: "../../magnetar_sdk",
|
|
stdout: "inherit"
|
|
});
|
|
|
|
if (failed) {
|
|
console.error(chalk.red`Type generation failed.`);
|
|
return;
|
|
}
|
|
|
|
console.log(chalk.green`Successfully generated Magnetar types`);
|
|
|
|
const srcPath = "../../magnetar_sdk/bindings";
|
|
const destPath = "magnetar-common/src/types";
|
|
|
|
|
|
console.log(chalk.italic`Deleting old`, `"${destPath}"`);
|
|
fs.rmSync(destPath, { recursive: true, force: true });
|
|
console.log(chalk.italic`Copying generated Magnetar types...`);
|
|
console.log(chalk.italic`From`, `"${srcPath}"`, chalk.italic`to`, `"${destPath}"`);
|
|
fs.cpSync(`${srcPath}/`, `${destPath}/`, { recursive: true });
|
|
console.log(chalk.italic`Deleting`, `"${srcPath}"`);
|
|
fs.rmSync(srcPath, { recursive: true, force: true });
|
|
|
|
})();
|