mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-16 05:00:59 +08:00
- CLI: the core verb becomes `scriptc build --lib --profile <p.json>` (no positional; profile names the entry); artifact renames to <name>.lib.a with .lib.ll/.lib.c/.lib.ir.json siblings - SC4xxx diagnostic text and hints say library, never core; trap-message strings likewise (LIBRARY RC AUDIT, library reset registry, library inbound bytes) - internals: compileLibrary/compileLibArchive, IrModule.lib + IrLibSection/IrLibExport, moduleLibAsyncSurface, libRoots, loadLibraryProfile/LibraryProfile under src/library/, frontend/lib-exports.ts, emitLibEntries/emitLibDefs - runtime: scr_core.c -> scr_library.c with scr_library_* symbols and the SCR_LIB macro (scr_lib_* was taken by the stdlib unit); scr_lib_session_cleanup - tests: tests/library-mode/ fixtures (entries lib.ts), library-*.test.ts harness files
8 lines
313 B
TypeScript
8 lines
313 B
TypeScript
// K5's init arm: a trap DURING module evaluation routes to the sink the
|
|
// same way an export's trap does. Pre-trap stdout passes through to the
|
|
// host's fds untouched (library mode never buffers or rebinds them).
|
|
const xs = [1, 2, 3];
|
|
console.log("about to trap");
|
|
const y = xs[7]!;
|
|
console.log(`never ${y}`);
|