-
-
Notifications
You must be signed in to change notification settings - Fork 2
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: NativeScript/runtimes
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 6becfc1
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: NativeScript/runtimes
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: aeca52d
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 4 commits
- 75 files changed
- 1 contributor
Commits on Apr 17, 2026
-
feat(runtime): add node:vm and harden QuickJS/V8 runtime parity
Implement a NativeScript-backed node:vm builtin and land the runtime fixes needed to keep both V8 and QuickJS aligned across CommonJS, ESM, and runtime execution paths. Node vm support - add the NativeScript-backed vm runtime module and expose require("vm") / require("node:vm") from the internal Node loader - implement vm.createContext(), vm.isContext(), runInContext(), runInNewContext(), runInThisContext(), Script, compileFunction(), SourceTextModule, SyntheticModule, measureMemory(), and vm.constants - preserve caller-provided receivers in vm.compileFunction() while keeping plain calls strict so they do not leak the ambient global object into parsing contexts ESM and module loader parity - add builtin ESM bridges for node:vm in both the V8 and QuickJS loaders so dynamic import("node:vm") resolves the same surface as require("node:vm") - initialize the QuickJS ES module loader during module bootstrap and resolve builtin/native modules through virtual module sources with import.meta support - extend vm CLI coverage to assert compileFunction receiver semantics and dynamic import("node:vm") on both engines - move the dynamic import coverage earlier in the CLI test to avoid a separate QuickJS logging quirk triggered after the module-evaluation block QuickJS runtime and N-API fixes - preserve exact script length when evaluating strings with embedded NUL bytes - fix plain-call constructor handling in napi_define_class() - switch internal wrap/type-tag storage to symbol-backed properties - fix uint32/uint64 creation paths and string extraction behavior - retain weakref targets until the host job completes - normalize QuickJS property access errors to modern message text Objective-C bridge and marshalling fixes - thread napi_env through Closure construction - harden bridge object lifetime/ref management and FunctionReference branding - add Float16 conversion support and correct metadata encoding for UInt8 URL and web runtime fixes - fix URL-backed URLSearchParams creation so V8 method dispatch works correctly - reject invalid fetch inputs via promise rejection and clean up abort listeners Verification - macOS CLI vm test on V8: pass - macOS CLI vm test on QuickJS: pass - full runtime suites were previously exercised on macOS/iOS for both enginesConfiguration menu - View commit details
-
Copy full SHA for cd52e5f - Browse repository at this point
Copy the full SHA cd52e5fView commit details
Commits on Apr 19, 2026
-
feat(runtime): add Hermes parity for vm and runtime tests
- integrate prebuilt Hermes artifact downloads into the local build flow and macOS test harness - switch the Hermes N-API runtime over to the thread-safe runtime path and drain microtasks fully - harden bridge constructors, pointer/reference handling, closure teardown, timers, URL constructors, and object conversion for Hermes semantics - add Hermes-compatible node:vm shims, keep compileFunction receiver behavior, and expose node:vm through the builtin ESM bridge - extend runtime tests for vm import/receiver coverage and relax engine-specific expectations where Hermes lifetime behavior differs but runtime state is verified
Configuration menu - View commit details
-
Copy full SHA for dffcd93 - Browse repository at this point
Copy the full SHA dffcd93View commit details
Commits on Apr 20, 2026
-
Attach struct type encodings directly to generated struct constructors so JSC can resolve record types consistently during reference construction. Stabilize the timer cleanup coverage by exposing the native active timer count and using that on iOS JSC instead of relying on weak reference collection timing. Also replace NSString version comparison in VersionDiffTests with engine-agnostic numeric parsing so the coverage path no longer depends on platform-specific compare helpers.
Configuration menu - View commit details
-
Copy full SHA for 655d0d8 - Browse repository at this point
Copy the full SHA 655d0d8View commit details -
feat runtime engine parity and memory semantics coverage
Add the remaining runtime engine work across JSC, QuickJS, and the Objective-C bridge, including the node:vm implementation, builtin module resolution updates, object/class/reference marshalling fixes, and engine-specific Node-API hardening. Also add the CLI memory semantics suite and harness updates covering weak references, finalization, Objective-C ownership rules, block callbacks, C function pointers, pointer buffers, and reference lifecycle behavior so the runtime’s memory model is exercised from JavaScript.
Configuration menu - View commit details
-
Copy full SHA for aeca52d - Browse repository at this point
Copy the full SHA aeca52dView commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 6becfc1...aeca52d