Commit Graph
634 Commits
Author SHA1 Message Date
Chris Tate 575755fcef Fence option-sensitive fs function values 2026-09-19 23:07:34 -05:00
Chris Tate 39118d68d6 Add static fs function values 2026-09-19 22:41:19 -05:00
Chris Tate 5ae6705e38 Add static builtin function values (#353) 2026-09-19 21:49:21 -05:00
Chris Tate bf6dfb882b Add static Node path function values (#352)
* Add static Node path function values

* Preserve JavaScript builtin alias fences
2026-09-19 12:24:40 -05:00
Chris Tate 37f9438084 Add static fixed-tuple call spreads (#351) 2026-09-19 00:00:26 -05:00
Chris Tate a11fd6c881 Add static callable specialization (#350) 2026-09-18 22:50:45 -05:00
Chris Tateandeuxaristia 297871b8f5 fix(llvm-win32): support installed CMake generators (#348)
- Select the newest installed Visual Studio by default while preserving x64 builds.

- Honor explicit generators and normalize the Release helper output path.

- Cover generator selection and output policy with focused tests.

Fixes #326

Co-authored-by: euxaristia <25621994+euxaristia@users.noreply.github.com>
2026-09-18 10:47:21 -05:00
Chris Tate 3d1286cdea chore(release): prepare v0.1.3 (#347) v0.1.3 2026-09-18 08:37:22 -05:00
Chris Tate 1600935411 Add static-native BigInt support (#346)
* feat: add static BigInt support

* fix: prevent BigInt width overflow on WASI

* fix: harden BigInt formatting sizes

* test: record BigInt WASI parity baseline
2026-09-18 00:21:12 -05:00
Chris TateandMateus 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 TateandYegor 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 Tateandryoppippi 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 Tateandryoppippi 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 Tateandeuxaristia 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 Tateandeuxaristia 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 TateandXia 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 Tateandguest271314 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 TateandKristian 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 TateandPaolo 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 TateandMateus 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 TateandHTET 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 Tateand2youg1 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