Files
wehub-resource-sync a6e8bcde90
Check asset sync / cli/assets must match src/ui-ux-pro-max (push) Failing after 4s
Release / Semantic release (push) Has been skipped
Smoke test data / smoke (push) Failing after 0s
chore: import upstream snapshot with attribution
2026-07-13 11:58:17 +08:00

33 lines
1.1 KiB
JavaScript

#!/usr/bin/env node
import { spawnSync } from 'node:child_process';
import { existsSync } from 'node:fs';
import { join } from 'node:path';
const isWindows = process.platform === 'win32';
const localBin = (name) => join('node_modules', '.bin', isWindows ? `${name}.cmd` : name);
function run(command, args) {
const result = spawnSync(command, args, { stdio: 'inherit', shell: false });
if (result.error && result.error.code === 'ENOENT') {
return { missing: true, status: 127 };
}
return { missing: false, status: result.status ?? 1 };
}
const bunResult = run('bun', ['build', 'src/index.ts', '--outdir', 'dist', '--target', 'node']);
if (!bunResult.missing) {
process.exit(bunResult.status);
}
const tsc = localBin('tsc');
if (!existsSync(tsc)) {
console.error('Build failed: neither bun nor local TypeScript compiler is available.');
console.error('Run `npm ci` first, or install Bun from https://bun.sh/docs/installation.');
process.exit(127);
}
console.warn('bun not found; falling back to TypeScript compiler output.');
const tscResult = run(tsc, []);
process.exit(tscResult.status);