import { spawnSync } from 'node:child_process'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const desktopRoot = path.resolve(__dirname, '..'); const forwardArgs = process.argv.slice(2); function run(command, args, extraEnv = {}) { const result = spawnSync(command, args, { cwd: desktopRoot, stdio: 'inherit', shell: process.platform === 'win32', env: { ...process.env, ...extraEnv, }, }); if (typeof result.status === 'number' && result.status !== 0) { process.exit(result.status); } if (result.error) { throw result.error; } } const env = {}; if (!process.env.TAURI_BUNDLER_TOOLS_GITHUB_MIRROR && process.env.ZCLAW_TAURI_TOOLS_GITHUB_MIRROR) { env.TAURI_BUNDLER_TOOLS_GITHUB_MIRROR = process.env.ZCLAW_TAURI_TOOLS_GITHUB_MIRROR; } if (!process.env.TAURI_BUNDLER_TOOLS_GITHUB_MIRROR_TEMPLATE && process.env.ZCLAW_TAURI_TOOLS_GITHUB_MIRROR_TEMPLATE) { env.TAURI_BUNDLER_TOOLS_GITHUB_MIRROR_TEMPLATE = process.env.ZCLAW_TAURI_TOOLS_GITHUB_MIRROR_TEMPLATE; } run('node', ['scripts/prepare-zclaw-runtime.mjs']); run('node', ['scripts/preseed-tauri-tools.mjs']); run('pnpm', ['exec', 'tauri', 'build', ...forwardArgs], env);