Home

Rust Runtime

BOA JS ENGINE

ECMAScript Javascript engine written entirely in Rust.

Read Build Journal
Repository

Role

Open Source Contributor

Tech Stack

RustECMAScriptWebAssemblyTest262

Project Overview

JavaScript runs everywhere, but embedding it safely in Rust projects, IoT devices, or CLI tools needs a lightweight engine. V8 is too heavy for that. Boa is built in Rust, lightweight, and approaching v1.0. But a lightweight engine only matters if it actually behaves as intended. I hunt down silent divergences between Boa and the official specifications, write spec-compliant fixes in Rust, and add regression tests verified by the Test262 test suite.

Core Capabilities

Spec Gap AuditingComparing runtime behavior against official ECMA-262 and WHATWG specifications to catch silent divergences.
Unicode & UTF-16Fixed surrogate pair decoding bugs across URI decode and string methods, making emojis parse correctly.
DataView & EncodingEnforced byte offset and length handling in TextDecoder APIs, ensuring accurate typed array buffer reads.
Fetch API SemanticsEnforced HTTP method constraints, status 205 checks, and proper TypeError propagation in Headers.
Built-in Math & FloatsFixed Number.prototype.toPrecision output for subnormal floats and Math.acosh accuracy on large numbers.
Test262 ConformanceWrote regression tests for every fix, reducing failing tests and improving Boa's global spec pass rate.