v0.0.2
Compiler fixes and static-surface growth driven by the first days of real-world use.
Features
Number(aString)compiles statically: the full ECMAScript ToNumber string grammar (whitespace forms, hex/octal/binary literals,Infinity, exponents, trailing-garbage →NaN), verified bit-exact against Node on one million fuzzed strings. Unary+on strings and%dformatting over strings ride the same lowering;parseFloat(aString)compiles statically with its own longest-prefix grammar.Array.from(aString)and[...aString]compile statically: strings split by code points, so astral characters stay whole — exactly the string iterator's walk.- Bare
'.'and'..'import specifiers resolve as relative directory imports, and default imports of supported Node builtins (import fs from "node:fs") pass type checking under the project's own interop settings. - Workspace-linked packages register before the type-check gate, so pnpm-workspace monorepos analyze without their sibling packages' shipped JavaScript gating the build.
Fixes
scriptc coveragenow renders the same diagnostics a build prints — code frames included — when analysis stops on type errors or import fences, instead of a bare summary line.- The LLVM backend's runtime declarations are now mechanically checked against the C runtime's prototypes at test time; two latent signature mismatches were found and fixed.
- Import-cycle admission accepts declaration-only initialization windows whose calls resolve entirely to declaration files, widening the set of legal ESM cycles that compile statically.