#!/usr/bin/env bun /** * Build script for the reconstructed Workbench CLI. * * Usage: bun build.ts */ import { $ } from 'bun'; const version = process.env.VERSION || '0.1.0'; const buildTime = new Date().toISOString(); console.log(`Building Workbench CLI v${version}...`); const result = await Bun.build({ entrypoints: ['src/entrypoints/cli.tsx'], outdir: 'dist', target: 'bun', sourcemap: 'linked', define: { 'MACRO.VERSION': JSON.stringify(version), 'MACRO.BUILD_TIME': JSON.stringify(buildTime), 'MACRO.FEEDBACK_CHANNEL': JSON.stringify('#workbench-cli'), 'MACRO.ISSUES_EXPLAINER': JSON.stringify( 'report the issue in this repository issue tracker', ), 'MACRO.PACKAGE_URL': JSON.stringify('workbench-cli'), 'MACRO.NATIVE_PACKAGE_URL': JSON.stringify('workbench-cli-native'), 'MACRO.VERSION_CHANGELOG': JSON.stringify(''), }, external: ['react-devtools-core', 'sharp'], }); if (!result.success) { console.error('Build failed:'); for (const log of result.logs) { console.error(log); } process.exit(1); } console.log(`Build succeeded: dist/cli.js (${(result.outputs[0]!.size / 1024 / 1024).toFixed(1)} MB)`);