- Preserve native virtual dispatch when an override omits trailing checked-value parameters.
- Keep argument side effects and subclass defaults correct across direct, inherited, and super calls.
- Keep empty inferred options objects in native checked storage across calls and function values.
- Preserve supplied properties, per-call defaults, and null errors through JavaScript exports.
- Keep fields, accessor parameters, and return values inferred as undefined in native checked storage.
- Preserve virtual dispatch for overridden methods in JavaScript packages.
- Route assignments through class accessors without creating shadow fields.
- Store checked values in native collections while preserving supported object identities and JavaScript key equality.
- Support collection iteration and reject reference conversions that would copy or adapt stored objects.
- Replace SDK AST materialization with checked native node, list, and text decoding.
- Preserve checker handle identity and snapshot reuse across the frontend.
- Compile generic visitors and guarded node-list iteration without dynamic execution.
Lower static and non-overridden instance generator methods through spawn wrappers. Bind sync and async generator loop values through declarations or assignment patterns, and preserve compound assignment expression values.
- Move frontend message framing and filesystem callbacks into native-capable TypeScript
- Route production requests through the owned client while preserving AST and checker identity
- Preserve synchronous error recovery and cross-platform process cleanup
- Compile JavaScript instance fields with native undefined initialization and ordered resets.
- Support prefix and postfix updates to numeric static fields through exact class bindings.
- Compile initialized Symbol() and Symbol.for() fields, including inherited OpenTUI brands.
- Share registry-key storage across modules and keep symbol slots out of string-keyed enumeration.
- Refuse unstable keys and unsupported symbol-field copies.
- Run the production LLVM backend natively and reproduce its output across compiler generations.
- Replace unchecked emitter contexts with explicit shared state and callback hosts.
- Preserve NaN in serialized IR and respect optional record storage during spreads.
- Statically resolve stable let/var createRequire bindings while rejecting mutation, escape, and early use.
- Compile node:console output methods to native process streams and retain explicit custom Console refusals.
- Extend native FFI with additional scalar widths and writable byte spans.
- Compile stored text codecs and supported bundled module patterns without a JavaScript engine.
- Document supported limits.
- Compile the production C emitter and reproduce its output across native generations.
- Support the union operations, recursive spreads, and compression options needed by the emitter.
- Fix temporary ownership and verify the bootstrap and shared call operands with both backends and sanitizers.
* feat(compiler): advance self-hosting with identity collections
- Support reference identity in Maps and Sets, including unions and cycle cleanup.
- Run production integer-range analysis natively with typed IR traversal.
- Add differential coverage for native analyses and collection behavior.
* chore: ignore generated output directories
- Exclude generated output directories from version control.
* Support synchronous arrays in for-await loops
Drive array values through async-from-sync timing, including promise values and early iterator close. Handle defaulted union destructuring into checked-dynamic bindings and refuse void callback parameters before native code generation. Add differential coverage and pinned async Test262 regressions with original-source completion checks.
* Fix Error subclass C calls and diagnostics snapshot
- Compile production LLVM layouts, ownership helpers, debug metadata, and JSON emitters on both native backends
- Support nullable collections and mixed insertion spreads needed by compiler code
- Verify native emission parity and generated executables with focused sanitizer coverage
- Compile scalar-record optimization and backend analyses on both native backends
- Use exhaustive typed IR traversal and shared cycle analysis
- Verify optimized IR and executable parity with focused sanitizer coverage
- Compile production IR serialization and runtime dependency scans on both native backends
- Support native JSON callbacks and checked records with unknown payloads
- Verify native IR round trips and executable generation with focused sanitizer coverage
- Compile the production validator and exercise native IR construction and validation on C and LLVM.
- Preserve Error causes, wider callbacks, and discriminated JSON layouts in static programs.
- Version the IR and runtime ABI and cover the new compiler paths with differential and sanitizer tests.
- Support mutable forward captures with correct initialization and exception behavior.
- Compile recursive literals, exhaustive bindings, and validator collection operations statically.
- Run validator control-flow analysis natively with C and LLVM differential coverage.
- Compile native collection views and recursive discriminated IR structures.
- Preserve optional-chain behavior and union payload ownership across C and LLVM.
- Exercise real IR builders and analyses in native executables with differential coverage.
* fix(compiler): unblock self-hosting analysis and tuple construction
- Bound type diagnostics to handle deeply nested and shared compiler types.
- Compile fixed tuple spreads and preserve const tuple inference under satisfies.
- Add native compiler-component and differential regression coverage.
* fix(tests): record tuple spread frontend parity baseline
- Record module order and preflight diagnostics for the new tuple spread regression fixture.
* Expand static Test262 harness and exception semantics
* Ignore ASan fiber warning in dev source test
* Refresh TS7 parity baselines after main rebase
- Parallelize compiler fingerprint reads while preserving cache identity and invalidation guarantees.
- Add a reproducible development build benchmark and regression coverage for file changes.
- Diagnose native addon requires precisely across local path forms and build modes.
- Document and validate migration from Node-API wrappers to statically linked C ABI functions.
Fixes#471
Co-authored-by: Hagege Ruben <20857346+HagegeR@users.noreply.github.com>
- Emit source locations for native TypeScript and JavaScript debugging across C and LLVM backends.
- Preserve macOS debug symbols through linking and cache reuse, with regression coverage and Xcode guidance.
Fixes#461
Co-authored-by: timokosonen <325538238+timokosonen@users.noreply.github.com>
- Compile an installed entry's own TypeScript and JavaScript modules statically while preserving external dependency boundaries.
- Cover installed package layouts, module initialization, and diagnostics with C and LLVM regression tests.
Fixes#463
Co-authored-by: guest271314 <4174848+guest271314@users.noreply.github.com>
- Compile record predicates and class guards over array-derived values.
- Preserve missing-value checks and report unsupported union refinements.
- Cover narrowing in differential tests, coverage analysis, and frontend baselines.
Fixes#477
Co-authored-by: Gianluca Esposito <735227+gesposito@users.noreply.github.com>
- Reduce async and generator memory use on Apple Silicon and Windows while preserving stack capacity.
- Cover memory commitment, suspension, and stack reuse with regression tests.
- Avoid undefined behavior when initializing the async ready queue.
Fixes#40
Co-authored-by: Olup <13785588+olup@users.noreply.github.com>
- Route explicit TypeScript globalThis escapes through the dynamic island.
- Initialize Node globals on first escaped access and cover C and LLVM parity.
- Document the island capabilities that remain conditional.
Fixes#34
Co-authored-by: ryoppippi <1560508+ryoppippi@users.noreply.github.com>
* fix: distinguish arguments property names from reads
- Share one runtime arguments scan across type mapping and call lowering.
- Add Node differential coverage for names in keys, types, bindings, and labels.
Fixes#431
Co-authored-by: Artem Gurtovoi <1233869+temich@users.noreply.github.com>
* test: record TypeScript 7 parity for arguments properties
- Add the new corpus case to the preflight and module order baseline.
Fixes#431
Co-authored-by: Artem Gurtovoi <1233869+temich@users.noreply.github.com>
---------
Co-authored-by: Artem Gurtovoi <1233869+temich@users.noreply.github.com>
- 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>
- 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>
- 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.