Commit Graph
722 Commits
Author SHA1 Message Date
Chris TateandHagege Ruben fb3d11a210 fix: restore RequestInfo with Node type definitions (#473)
- Share the RequestInfo type alias across compiler type worlds.
- Cover imported TypeScript sources in coverage and native builds.

Fixes #470

Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com>
2026-09-26 15:09:54 -05:00
Chris TateandGianluca Esposito edb0e51d9c fix: honor project defaults for builtin imports (#469)
- Preserve TypeScript’s effective synthetic default import setting before scriptc forces its frontend options.
- Cover NodeNext and Bundler builtin imports in static and dynamic builds while retaining the no-interop diagnostic.

Fixes #467

Co-authored-by: Gianluca Esposito <735227+gesposito@users.noreply.github.com>
2026-09-26 14:44:56 -05:00
Chris TateandArtem Gurtovoi ce6b03707e fix: preserve static options records with abort handles (#455)
- Keep AbortSignal and AbortController fields in statically shaped records under --dynamic.
- Handle omitted optional fields and optional access through ambient handles.
- Cover abort state and record spread with differential corpus evidence.

Fixes #432

Co-authored-by: Artem Gurtovoi <1233869+temich@users.noreply.github.com>
2026-09-26 14:17:49 -05:00
Chris Tate 0e3808b60d Stabilize sanitized terminal geometry test on macOS (#468) 2026-09-26 14:06:12 -05:00
Chris Tate 4ac24f27e9 Expand static Math numeric lowering (#465)
* Expand static Math numeric lowering

* Update Math method-value fence snapshot

* Rebase Math fixtures onto current corpus
2026-09-26 13:51:07 -05:00
Chris Tate 6d279ceb4d chore(release): prepare v0.1.6 (#466)
- Align all published package versions and the surface manifest at 0.1.6.

- Record the static Array, Object, and String updates in the changelog.

- Summarize the runtime memory and terminal performance improvements.
v0.1.6
2026-09-26 10:12:12 -05:00
Chris Tate d2195d8b6e Optimize terminal startup and memory use (#464)
- Reduce allocation overhead in array comparisons and string operations.
- Reuse fiber stacks and release cached memory while idle.
- Read terminal dimensions directly from native streams.
2026-09-26 10:02:56 -05:00
Chris Tate 27a1aad10c Lower static Array construction and iterable conversion (#462) 2026-09-26 09:38:53 -05:00
Chris Tate 1f23c28bb0 Expand static Array flat, splice, and join lowering (#460)
* Expand static Array flattening, splice insertion, and join coercion

* Refresh Array diagnostic and TypeScript 7 baselines
2026-09-26 08:41:06 -05:00
Chris Tate 46d30c8671 Preserve class own-key lowering and verify npm static calls (#459) 2026-09-26 08:00:23 -05:00
Chris Tate fc2569ef89 Lower Object prototype tags and own-property calls in static mode (#458)
* Lower static Object prototype tags and own-key calls

* Handle checked-dynamic own keys for strings and bytes

* Record order-parity baselines for Object fixtures
2026-09-26 00:21:19 -05:00
Chris Tate 183a0bbcec Lower static Array fill/copyWithin and position coercion (#457)
* Coerce static Array slice and splice positions

* Lower static Array fill and copyWithin with Test262 assertions
2026-09-25 23:17:24 -05:00
Chris Tate baef5fed29 Handle primitive Array relative indexes in static mode (#456)
* Handle primitive Array relative indexes in static mode

* Record TS7 parity for Array index fixture
2026-09-25 22:21:49 -05:00
Chris Tate c92fdceedd Support static String.prototype.at and codePointAt (#454)
* Support static string at and codePointAt

* Update static at diagnostics and island contracts
2026-09-25 21:34:21 -05:00
Chris Tate 894d687037 Support static string split argument coercion (#452)
* Support static string split argument coercion

* Record split fixture preflight baseline
2026-09-25 20:52:01 -05:00
Chris Tate 97343c7478 chore(release): prepare v0.1.5 (#453)
- Bump published packages and the surface manifest to 0.1.5.

- Summarize the HTTP, numeric, and npm-static updates in the changelog.

- Verify cross-target library conformance.
v0.1.5
2026-09-25 20:50:34 -05:00
Chris TateandArtem Gurtovoi 0d05e56e52 fix: let Redis 6 load in dynamic islands (#449)
- Make DNS promises imports load with the expected exports and explicit query errors.
- Resolve CommonJS directory requires used during Redis initialization.
- Record the missing TypeScript order baselines required by the full gate.

Fixes #434

Co-authored-by: Artem Gurtovoi <1233869+temich@users.noreply.github.com>
2026-09-25 20:39:50 -05:00
Chris Tate 413c4a7811 Handle static string padding coercion and ordering (#451) 2026-09-25 19:49:08 -05:00
Chris Tate a7d2da5726 Lower direct String calls on wrappers and plain objects (#450) 2026-09-25 19:09:25 -05:00
Chris Tate d51aa96290 Lower static String prototype call forms (#448) 2026-09-25 18:38:10 -05:00
Chris Tate 2bd50ba0ee Record TypeScript 7 baseline for repeat corpus fixture (#447) 2026-09-25 17:49:00 -05:00
Chris Tate 625b27af4a Make island EventEmitter callable for legacy packages (#433) (#445)
- Support EventEmitter.call(this) while preserving class inheritance and emitter state.
- Cover legacy and modern constructors in Node differential tests.
2026-09-25 17:38:33 -05:00
Chris Tate 86ee43e1b1 Handle scalar repeat counts in static string calls (#446) 2026-09-25 17:32:37 -05:00
Chris Tate 951b8bc4e4 Handle scalar unions in static Number conversion (#444) 2026-09-25 16:59:58 -05:00
Chris Tate a9d68b8e87 Handle nullish Number conversion in static mode (#443) 2026-09-25 15:42:14 -05:00
Chris Tate c7b24413f7 Fix published LLVM helper execute permissions (#430) (#442)
- Declare POSIX helpers as npm bins so package tarballs retain executable mode.
- Check packed helper modes during release and in integration tests.
2026-09-25 15:32:37 -05:00
Chris Tate cd6095b1a0 Preserve object literals in static string search coercion (#441) 2026-09-25 14:11:53 -05:00
Chris Tate 9f897fbec6 Handle scalar search values in positioned string methods (#436) 2026-09-25 13:07:51 -05:00
Chris Tate 266e22b151 Enable initial static compilation of published Effect modules (#428)
* Enable initial static compilation of published Effect modules

- Compile the published Effect Function subpath and deeper npm module chains as static program code.

- Preserve JavaScript argument and string search behavior across native backends, with differential coverage.

* Prune unused static npm namespace re-exports

- Honor package sideEffects metadata across nested ESM scopes and pure dependencies.
- Keep preflight, linking, and initialization consistent, with Node differential coverage.

* Fix static npm pruning across dependency cycles

- Make package purity caching safe across dependency cycles.

- Cover transitive module initialization with a Node differential fixture.
2026-09-25 12:52:27 -05:00
Chris Tate cf1071e49f Handle omitted and primitive string search values in static calls (#435) 2026-09-25 12:01:51 -05:00
Chris Tate 665f0fe647 Handle omitted and primitive string lastIndexOf search values (#429) 2026-09-25 11:23:05 -05:00
Chris Tate 965f8b72c8 Handle omitted Array.includes search values in static mode (#427) 2026-09-25 10:29:19 -05:00
Chris Tate 9282ed542a Implement static array lastIndexOf search (#426)
* Implement static array lastIndexOf search

* Coerce dynamic string-search needles before positions

* Handle optional string-search needles with positions
2026-09-25 10:04:33 -05:00
Chris Tate 0c109d93f8 Add opt-in executable stripping (#425)
- Link smaller executables across native targets with an explicit --strip flag.

- Keep stripped and default builds separate in the cache and cover their behavior.
2026-09-25 09:12:58 -05:00
Chris Tate 2367c081bf Handle coerced positions in static string search calls (#424)
* Coerce static string search positions

* Record TypeScript parity for string search fixture
2026-09-25 08:30:18 -05:00
Chris Tate 58bd6749b5 Fix String conversion after union narrowing (#423)
- Extract primitive arms proven by TypeScript before string conversion.

- Cover guarded record values in the differential corpus.
2026-09-25 08:19:18 -05:00
Chris Tate 93af33085e Handle positioned string affix calls in static mode (#421)
* Handle positioned string affix calls in static mode

* Record preflight baselines for string affix fixtures
2026-09-25 07:58:24 -05:00
Chris Tate b5c0d78d0d Fix Buffer.from on narrowed callback unions (#422)
- Extract the checker-proven source arm before constructing a Buffer from a callback value.
- Cover narrowed byte and number array callbacks with Node differential fixtures.
2026-09-25 07:14:19 -05:00
Chris Tate f7bad5b3f8 Run Test262 regression cases across all CI shards (#420) 2026-09-25 01:36:54 -05:00
Chris Tate f70890b950 Fix Record array index property reads (#400) (#418)
* Fix Record array index property reads (#400)

- Narrow optional record receivers before keyed reads.
- Cover present and missing rows with differential tests.

* Record TypeScript 7 baseline for Record array fixture

- Add the new corpus program to the preflight and module order baseline.

* Stabilize HTTP timeout differential fixtures

- Release server responses after timeout callbacks.
- Bound missing callbacks with fallback responses.
2026-09-25 01:34:04 -05:00
Chris Tate 858f0002a2 Handle positioned lastIndexOf calls in static mode (#417)
* Handle static lastIndexOf position semantics

* Record TS7 baseline for positioned string search corpus

* Stabilize HTTP timeout differential fixtures

* Order proxy fixture server shutdown
2026-09-25 01:16:16 -05:00
Chris Tate d8f6d7cf94 Fix static string position defaults and coercion (#416)
* Fix static string position defaults and coercion

* Stabilize HTTP timeout differential fixtures
2026-09-25 00:42:37 -05:00
Chris Tate 9f48bc720a Preserve artifacts when switching build modes (#415)
- Keep generated outputs from earlier build modes, including cache hits.
- Cover WASI/native switching and document accumulated output files.
2026-09-24 23:45:17 -05:00
Chris Tate 0b8b5d5bf7 feat(http): expand the static Node HTTP surface (#410)
* feat(http): materialize static distinct header snapshots

- Preserve precise string array types for whole incoming header and trailer collections.
- Cover duplicate headers, trailers, and raw header reads against Node in both backends.
- Refresh test-backed static HTTP compatibility claims.

* feat(http): expand the static Node HTTP surface

- Add HTTP module values, request and response lifecycle state, and socket controls.
- Implement server timeout and connection shutdown behavior in the native runtime.
- Cover C and LLVM behavior with Node differential fixtures, refresh compatibility evidence, and recover interrupted Sandbox streams.

* fix(http): honor message timeout handlers

- Keep server sockets open when request or response timeout listeners handle the event.

- Add differential regressions and refresh the TypeScript 7 order baseline.
2026-09-24 23:39:09 -05:00
Chris Tate 5c557d8ea4 Fix static JavaScript edge cases and add Test262 coverage (#414) 2026-09-24 23:01:48 -05:00
Chris Tate 379bfd0474 Optimize LLVM numeric remainder (#412) 2026-09-24 20:12:16 -05:00
Chris Tate 3596f4ab13 Optimize proven integer arithmetic (#409) 2026-09-24 11:25:01 -05:00
Chris Tate fa64cd8ddf Borrow stable receivers across scalar Math calls (#408) 2026-09-24 10:38:11 -05:00
Chris Tate 4745eec4a4 feat(http): expand static ServerResponse parity (#406)
- Expose response state, socket access, and timeout calls to static programs.
- Enforce strict response body lengths with Node compatible errors.
- Add differential evidence and scoped compatibility claims.
2026-09-24 10:16:59 -05:00
Chris Tate 995cea31b4 Optimize proven read-only numeric tables (#407) 2026-09-24 09:45:42 -05:00