Commit Graph
453 Commits
Author SHA1 Message Date
Chris Tate a478ced73f feat(child_process): lower UTF-8 execFile callback options 2026-09-22 23:45:34 -05:00
Chris Tate 9ff5ed1680 feat(child_process): support static fork IPC (#386)
* feat(child_process): support static fork IPC

* fix(child_process): fix fork discovery and send callbacks
2026-09-22 23:24:07 -05:00
Chris Tate b9d55037ac Support static URL credentials and descriptor operations (#385) 2026-09-22 23:11:41 -05:00
Chris TateandHagege Ruben cc44afb4ee fix: accept readonly tuples as Set seeds (#384)
- Accept supported readonly tuples in static Set constructors while preserving single evaluation and insertion order.
- Add differential coverage and refresh constructor diagnostics.

Fixes #373

Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com>
2026-09-22 21:50:04 -05:00
Chris TateandHagege Ruben e12856c1b4 fix: support static URL port and hash getters (#383)
- Lower URL.port and URL.hash through both native backends with Node-compatible values.
- Add differential and typed-project coverage, and update compatibility evidence and docs.

Fixes #372

Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com>
2026-09-22 21:18:37 -05:00
Chris Tate 72ebac8659 fix(fs): support async readdir Dirent overload (#382)
* fix(fs): support async readdir Dirent overload

* test(ts7): record recent corpus fixtures
2026-09-22 20:47:12 -05:00
Chris Tate 15fb993111 feat(compiler): expand static Date, process, and URL support (#379)
* feat(compiler): lower Date.parse through native parser

* feat(compiler): support exit status writes and URL getters

* chore(compat): regenerate static support after upstream changes

* test: update URL fence hint snapshot

* test: record new corpus entries for TS7 parity

* test: record upstream lstat parity entry
2026-09-22 20:13:14 -05:00
Chris Tate 1841228277 fix(fs): support async lstat identity metadata (#381) 2026-09-22 19:20:43 -05:00
Chris TateandHagege Ruben 2df164ab99 fix(fs): support static async realpath (#378)
- add fs/promises.realpath with Node-shaped rejections
- resolve Windows links to canonical paths
- cover behavior and refresh compatibility evidence

Fixes #371

Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com>
2026-09-22 18:35:53 -05:00
Chris TateandHagege Ruben c9cad7a0ba fix(child_process): support shell text capture (#377)
- add cross-platform shell spawning and close lifecycle support
- decode encoded child output across native read boundaries
- cover the supported surface with differential compatibility evidence

Fixes #370

Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com>
2026-09-22 18:03:52 -05:00
Chris TateandHagege Ruben 8a12d34a1d fix(compiler): resolve package imports in npm graphs (#375)
* fix(compiler): resolve package imports in npm graphs

- Resolve package-scoped import maps with edge-specific conditions and diagnostics.
- Add Chalk-compatible ambient typing and differential coverage across import forms.

Fixes #374

Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com>

* test(compiler): make resolver parity paths portable

- Normalize path separators before excluding package runtime trees from resolver parity sweeps.

---------

Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com>
2026-09-22 08:43:45 -05:00
Chris Tateandguest271314 bc9cfa608a fix(compiler): support fs sync buffer overloads (#368)
- Lower readSync and writeSync shorthand and options forms with Node-compatible defaults and evaluation order.
- Add fallback declarations and differential corpus coverage.

Fixes #362

Co-authored-by: guest271314 <4174848+guest271314@users.noreply.github.com>
2026-09-22 07:37:33 -05:00
Chris TateandFábio Pereira c5129449ab perf(llvm): inline numeric bitwise operations (#366)
- Emit JavaScript bitwise operators with native i32 instructions.
- Cover native emission and hot-loop coercion semantics.

Fixes #357

Co-authored-by: Fábio Pereira <300015+redvulps@users.noreply.github.com>
2026-09-21 10:51:41 -05:00
Chris Tate f2c81630ef Add static loose equality (#364) 2026-09-20 20:46:52 -05:00
Chris Tate 69977b9fd0 Add static literal dynamic imports (#363) 2026-09-20 15:59:34 -05:00
Chris Tate 4e175f4d72 Add static node:module parity (#361) 2026-09-20 14:44:19 -05:00
Chris Tate e42ee19e41 Add static CommonJS factory exports (#360)
* Add static CommonJS factory exports

* Fence inherited methods on dynamic objects
2026-09-20 13:07:51 -05:00
Chris Tate bef652e50d Add static union receiver calls (#359) 2026-09-20 10:53:00 -05:00
Chris Tate d6657921f5 Add static zlib callback codecs (#356) 2026-09-20 09:10:07 -05:00
Chris Tate e82dc998c4 Add static one-shot zlib codecs (#355) 2026-09-20 01:21:41 -05:00
Chris Tate c33a18d421 Add static fs function values (#354)
* Add static fs function values

* Fence option-sensitive fs function values
2026-09-19 23:11:24 -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 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 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
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 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 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 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