Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

254 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

quickjs-oxide

An independent Rust rewrite of QuickJS, targeting semantic feature parity with the official QuickJS 2026-06-04 release and its ES2025 behavior.

The unsafe-free engine is runnable but incomplete. The current TypedArray stack includes the shared 12-class kernel, in-place mutation, indexed search, QuickJS-shaped find/findIndex/findLast/findLastIndex, every/some, forEach, reduce/reduceRight, species-aware map/filter and slice/subarray, plus non-species with and toReversed, dedicated join/toLocaleString, inherited toString, and QuickJS-shaped sort/toSorted, certified entries/keys iterators, and pinned-QuickJS-certified static of and from. Its scoped gate reaches 4,383/4,383 variants across 2,213 paths in both engines; the complete conservative vector is 51,940/102,037. TypedArray audit/admission, Uint8Array codecs, modules, SharedArrayBuffer/Atomics, and broad built-in coverage remain incomplete. Pinned QuickJS is the test oracle, never a product dependency; bookkeeping lives in the status documents.

Try it

Rust 1.85 or newer is required.

git clone https://github.com/pocket-stack/quickjs-oxide.git
cd quickjs-oxide
./scripts/demo-42.sh  # 42
cargo run --quiet --bin qjs -- --print-result -e \
  '(function (a) { return a + 1; })(41)'  # 42

Status

Verify

cargo test --locked --workspace --all-targets
./scripts/test-test262-array-buffer.sh
./scripts/test-test262-data-view.sh
./scripts/test-test262-typed-array-core.sh
./scripts/test-test262-proxy.sh
./scripts/test-test262-full.sh

License

MIT. Third-party notices are retained in NOTICE and LICENSES.

About

An independent Rust rewrite of QuickJS targeting semantic feature parity

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages