@hyperfrontend/builder/binbin
Bin subdomain facade: JS bin synthesis composed via runBinPhase. Node SEA native binary primitives live under @hyperfrontend/builder/bin/native.
runBinPhase(ctx, bins) iterates the supplied BinConfig[], calls buildJsBin for each declaration, and — for any bin that declares a sea block — also emits a Node SEA native binary via buildNativeBin (using the bin's CJS output as the SEA main script; a sea bin without a CJS format throws). Every emitted BinOutput is aggregated into a single flat list. Pass an empty array (or omit config.bin from the facade) to skip the phase entirely. Workspace dependencies are always inlined into bin bundles so each emitted JS artifact is a self-contained executable script with shebang + bootstrap footer + chmod 0o755 already applied.
API Reference
ƒ Functions
bin.sea. Returns the flattened list of every output produced. A bin that declares a
sea block must also produce a CJS output (format: 'cjs' or include 'cjs' in the list); the CJS artifact becomes the SEA main script, and a bin without one throws. Native emission is skipped silently with an info log when the current host doesn't match any declared platform — CI orchestrates the matrix so each declared platform is built on the matching runner.Parameters
Returns
Promise<BinOutput[]>Example
Running the bin phase from a custom orchestrator
const binOutputs = await runBinPhase(context, config.bin ?? [])