Stirling-PDF/frontend/scripts/build-provisioner.mjs
2026-02-06 18:06:01 +00:00

29 lines
893 B
JavaScript

import { execFileSync } from 'node:child_process';
import { existsSync, mkdirSync, copyFileSync } from 'node:fs';
import { join, resolve } from 'node:path';
if (process.platform !== 'win32') {
process.exit(0);
}
const frontendDir = process.cwd();
const tauriDir = resolve(frontendDir, 'src-tauri');
const provisionerManifest = join(tauriDir, 'provisioner', 'Cargo.toml');
execFileSync(
'cargo',
['build', '--release', '--manifest-path', provisionerManifest],
{ stdio: 'inherit' }
);
const provisionerExe = join(tauriDir, 'provisioner', 'target', 'release', 'stirling-provisioner.exe');
if (!existsSync(provisionerExe)) {
throw new Error(`Provisioner binary not found at ${provisionerExe}`);
}
const wixDir = join(tauriDir, 'windows', 'wix');
mkdirSync(wixDir, { recursive: true });
const destExe = join(wixDir, 'stirling-provision.exe');
copyFileSync(provisionerExe, destExe);