Chris Tate
dab4fb594d
test: record BigInt WASI parity baseline
2026-09-17 23:50:49 -05:00
Chris Tate
970bd330a8
fix: harden BigInt formatting sizes
2026-09-17 22:51:13 -05:00
Chris Tate
2c34d11982
fix: prevent BigInt width overflow on WASI
2026-09-17 21:56:12 -05:00
Chris Tate
f8886f3bc9
feat: add static BigInt support
2026-09-17 20:48:47 -05:00
Chris Tate and Mateus Mamede Lage
888c79e20d
fix: preserve library section granularity ( #345 )
...
- Compile ELF and COFF library members into per-function and per-data sections
- Verify consumer section GC retains only referenced archive symbols
Fixes #287
Co-authored-by: Mateus Mamede Lage <23098414+mmamedel@users.noreply.github.com >
2026-09-17 19:21:59 -05:00
Chris Tate and Yegor Shovkun
62b90e6d10
fix: compile TypeScript workspace sources ( #344 )
...
- Route source-only workspace package entries through the program module graph.
- Preserve JavaScript package resolution and add cross-backend workspace coverage.
- Document the workspace dependency boundary.
Fixes #187
Co-authored-by: Yegor Shovkun <6272356+ankhzet@users.noreply.github.com >
2026-09-17 18:26:20 -05:00
Chris Tate and ryoppippi
5a1aec07f2
fix: lower discarded conditional expressions ( #343 )
...
- Lower discarded conditionals as lazy statement control flow.
- Add differential and TS7 coverage for void conditional arrows.
Fixes #33
Co-authored-by: ryoppippi <1560508+ryoppippi@users.noreply.github.com >
2026-09-17 10:55:27 -05:00
Chris Tate and ryoppippi
11ed6e4d1d
Fix nested mutual function recursion ( #342 )
...
* Fix nested mutual function recursion
- Predeclare nested function bindings before sibling closures capture them.
- Cover two- and three-way recursive declaration cycles across native backends.
Fixes #32
Co-authored-by: ryoppippi <1560508+ryoppippi@users.noreply.github.com >
* Record nested recursion parity baseline
- Add the generated TypeScript 7 order baseline for the nested mutual-recursion corpus fixture.
Fixes #32
Co-authored-by: ryoppippi <1560508+ryoppippi@users.noreply.github.com >
---------
Co-authored-by: ryoppippi <1560508+ryoppippi@users.noreply.github.com >
2026-09-17 10:22:01 -05:00
Chris Tate and euxaristia
5e4b4df1b9
feat(child_process): support writable child stdin ( #341 )
...
* feat(child_process): support writable child stdin
- Add nonblocking child stdin writers with lifecycle events and platform-aware backpressure.
- Lower writable streams through the C and LLVM backends while fencing unsupported overloads.
- Add differential, type, diagnostics, and compatibility coverage.
Fixes #311
Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com >
* Reject non-literal spawn options
- Emit a named lowering diagnostic instead of silently dropping variable options.
- Cover two- and three-argument spawn overloads with diagnostic regressions.
Fixes #311
Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com >
---------
Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com >
2026-09-17 07:48:29 -05:00
Railly Hugo
ebeb031699
Add Labs status badges to README ( #338 )
...
* docs(readme): add Labs status badges
* docs(readme): split Labs label and status
2026-09-16 17:24:58 -03:00
Chris Tate and euxaristia
472748956b
Render UTF-8 output in Windows consoles ( #340 )
...
- Configure attached Windows consoles for UTF-8 while preserving redirected bytes and restoring host state.
- Add cross-platform output coverage and a native pseudo-console regression.
Fixes #321
Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com >
2026-09-16 14:48:27 -05:00
Chris Tate and Xia Chao
2e51e8e191
Fix JSON record key serialization ( #339 )
...
- Encode record property names as valid JSON across C and LLVM emitters.
- Sanitize generated backend comments and cover escaped and terminating keys.
Fixes #312
Co-authored-by: Xia Chao <236466140+xia-chao@users.noreply.github.com >
2026-09-16 14:16:39 -05:00
Chris Tate and guest271314
bbe05a5a2d
perf(wasm): strip release debug sections ( #337 )
...
- Strip DWARF from release WASI links across LLVM, C, and external recipes.
- Preserve dev metadata and pin compact output with integration coverage.
Fixes #292
Co-authored-by: guest271314 <4174848+guest271314@users.noreply.github.com >
2026-09-16 12:20:39 -05:00
Chris Tate and Kristian Rekstad
7f8dc65eb3
test: pin issue 289 sort workload ( #336 )
...
- Reproduce the reported 100,000-element descending numeric sort.
- Bound comparator calls so quadratic sorting fails quickly.
Fixes #289
Co-authored-by: Kristian Rekstad <7364831+krissrex@users.noreply.github.com >
2026-09-16 11:34:06 -05:00
Chris Tate
ffa248efcf
feat: add static crypto utility support ( #335 )
...
* feat: add static crypto utility support
* fix: match Node crypto digest errors
2026-09-16 11:15:12 -05:00
Chris Tate
ef497214b5
feat: support Commander 15 static calculator ( #334 )
2026-09-16 08:34:13 -05:00
Chris Tate
875c20b143
chore(release): prepare v0.1.2 ( #333 )
...
- Sync the CLI, compiler, runtime, and platform package version spine.
- Regenerate the compiler surface manifest for v0.1.2.
- Add the v0.1.2 changelog entry and release markers.
v0.1.2
2026-09-15 23:18:23 -05:00
Chris Tate
fcacc4d4b0
feat: add static CommonJS module graph ( #332 )
2026-09-15 21:17:31 -05:00
Chris Tate
280fe1a8da
feat: preserve class and child handles through unknown ( #331 )
...
* feat: preserve class and child handles through unknown
* fix: hide private fields from unknown views
2026-09-15 19:30:22 -05:00
Chris Tate
e559808ef0
feat: run Commander actions statically ( #330 )
2026-09-15 16:30:54 -05:00
Chris Tate
5efda821cf
feat(compiler): preserve npm static declaration overloads ( #329 )
2026-09-15 08:53:25 -05:00
Chris Tate
5a782a6150
feat: add static async iteration parity ( #328 )
2026-09-15 00:03:07 -05:00
Chris Tate
2bd2e6f54c
Refactor container lowering into focused modules ( #325 )
...
* refactor(compiler): split container lowering modules
* chore: clear remaining lint errors
2026-09-14 21:33:20 -05:00
Chris Tate
5a48403470
refactor(compiler): split expression lowering modules ( #324 )
2026-09-14 18:45:03 -05:00
Chris Tate
2ac8743dbb
feat(compiler): add Node module resolution introspection ( #322 )
2026-09-14 18:15:44 -05:00
Chris Tate and Paolo Anzani
2bfc37b138
fix(compiler): support branded primitive types ( #320 )
...
Co-authored-by: Paolo Anzani <201222836+paoloanzn@users.noreply.github.com >
2026-09-14 13:46:36 -05:00
Chris Tate and Mateus Mamede Lage
16de852347
fix(compiler): lower dynamic any-local operators ( #319 )
...
Fixes #290
Co-authored-by: Mateus Mamede Lage <23098414+mmamedel@users.noreply.github.com >
2026-09-14 12:31:25 -05:00
Chris Tate
74dce238ab
perf(runtime): scale URLSearchParams sorting ( #318 )
2026-09-14 11:53:42 -05:00
Chris Tate and HTET LIN ZAW
6b22826ffc
fix(runtime): preserve executable-path argv arguments ( #317 )
...
Co-authored-by: HTET LIN ZAW <226281319+RyanDev-21@users.noreply.github.com >
2026-09-14 11:07:26 -05:00
Chris Tate and 2youg1
b74364ed01
fix(compiler): preserve leading BOM literals ( #316 )
...
Co-authored-by: 2youg1 <65069696+2youg1@users.noreply.github.com >
2026-09-14 10:29:16 -05:00
Chris Tate
073c840564
Enforce TypeScript 7 and Node type-link parity ( #315 )
...
* Enforce TypeScript 7 and Node type-link parity
* fix(compiler): normalize Windows resolver paths
* fix(compiler): canonicalize Windows realpaths
2026-09-14 09:19:08 -05:00
Chris Tate
a8a5204574
Implement typed async generators ( #310 )
2026-09-14 00:38:06 -05:00
Chris Tate
9fb0620f06
Implement explicit resource management ( #309 )
2026-09-13 23:34:17 -05:00
Chris Tate
d7aed4b722
Unify TS 7 project module resolution ( #308 )
2026-09-13 21:53:45 -05:00
Chris Tate
ce8419781e
chore(release): prepare v0.1.1 ( #307 )
v0.1.1
2026-09-13 20:09:18 -05:00
Chris Tate
ee7d5ac81f
fix(release): reconcile async npm publishes ( #306 )
2026-09-13 19:22:23 -05:00
Chris Tate
f2f897a24e
fix(release): restore native helper executable bits ( #305 )
2026-09-13 18:49:48 -05:00
Chris Tate
6700381ff5
fix(release): build portable musl LLVM helpers ( #304 )
...
- Build musl helper packages as static host executables matching LLVM’s glibc and libstdc++ ABI.
- Preserve musl code-generation targets and Zig-built runtime packs.
- Add pre-merge Alpine execution and package verification coverage.
2026-09-13 18:23:41 -05:00
Chris Tate
c5362177d9
fix(release): use bfd for musl LLVM links ( #303 )
2026-09-13 15:33:03 -05:00
Chris Tate
0d96facc27
fix(release): use external lld for musl helpers ( #302 )
2026-09-13 11:36:14 -05:00
Chris Tate
ce04d825fa
fix(release): flatten musl LLVM link graph ( #301 )
...
* fix(release): flatten musl LLVM link graph
* fix(release): order musl LLVM archives safely
2026-09-13 10:47:55 -05:00
Chris Tate
6396598965
fix(release): satisfy musl LLVM dependency targets ( #300 )
2026-09-13 08:13:16 -05:00
Chris Tate
3339cf9521
fix(release): repair native package CI toolchains ( #299 )
2026-09-13 01:12:55 -05:00
Chris Tate
e640b4b2ff
chore(release): prepare v0.0.37 ( #298 )
2026-09-13 00:21:54 -05:00
Chris Tate
94fd361b54
Implement sparse native arrays and missing-value parity ( #297 )
...
Represent ordinary JavaScript arrays with hole, value, and explicit-undefined states; add sparse side storage and carry missing values through the frontend, native backends, runtime, and Node-facing consumers.
2026-09-12 22:39:07 -05:00
Chris Tate
4b241f77d7
Replace quadratic array sorting with stable merge sort ( #296 )
...
* Fix Sandbox command transport and pinned native setup
Build the Linux LLVM helper and runtime pack before running both test lanes, and align native cache contracts with the current target policy. Full managed Sandbox gate passed.
* Replace quadratic array sorting with stable merge sort
Cover sort snapshots, consistent-comparator results, stable ties, and comparator complexity with Node differential fixtures. Document differences from V8 TimSort.
2026-09-12 16:05:16 -05:00
Chris Tate
8227a5ad9c
Fix Sandbox command transport and pinned native setup ( #295 )
...
Build the Linux LLVM helper and runtime pack before running both test lanes, and align native cache contracts with the current target policy. Full managed Sandbox gate passed.
2026-09-12 15:59:01 -05:00
f98a8e475c
Clarify Zig setup for WebAssembly builds ( #294 )
...
Clarifies the root README's WebAssembly setup by explaining that users need the `zig` executable on `PATH`. It also explains that `SCRIPTC_CC=zigcc` selects Zig's `cc` subcommand, not a standalone `zigcc` executable, while leaving the existing build and run examples unchanged.
Factory-Run: e3db0c10-6b15-4b64-8c99-5bf54ef41ec7
Co-authored-by: Chris Tate <366502+ctate@users.noreply.github.com >
Co-authored-by: guest271314 <4174848+guest271314@users.noreply.github.com >
2026-09-11 00:13:17 -05:00
Chris Tate
bf32f155fc
test: record TS7 order parity baselines ( #285 )
v0.0.38
v0.0.37
2026-09-02 20:08:06 -05:00
Chris Tate
0bf47eb87e
feat: support static ESM import metadata
2026-09-02 18:18:09 -05:00