boa-dev/boa

Boa is an embeddable Javascript engine written in Rust.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 47 minutes ago
Added to GitGenius on September 8th, 2026
Created on August 8th, 2018
Open Issues & Pull Requests: 207 (+0)
GitHub issues: Enabled
Number of forks: 656
Total Stargazers: 7,542 (+0)
Total Subscribers: 49 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 15.0 hours
Mean response time: 71.2 days
90th percentile: 260.0 days
Tracked items: 396

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 65% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. Work labelled "A-Performance" is answered fastest, typically in under an hour, while "C-VM" waits about 8 weeks. 84% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 6% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 130
New in 7 days: 3
Closed in 7 days: 1
Avg open age: 506 days
Stale 30+ days: 124
Stale 90+ days: 113

Recent activity

Opened in 7 days: 3
Closed in 7 days: 1
Comments in 7 days: 2
Events in 7 days: 2

Top labels

  • A-Bug (86)
  • A-Enhancement (72)
  • C-Builtins (33)
  • Good First Issue (29)
  • A-API (27)
  • E-Easy (27)
  • E-Medium (19)
  • C-VM (18)

Detailed Description

Boa is an embeddable JavaScript engine written in Rust that implements an ECMAScript lexer, parser, and interpreter with support for more than 90% of the latest ECMAScript specification.

The engine solves the problem of executing JavaScript code within Rust applications without relying on external JavaScript runtimes. It achieves this through a complete implementation of the ECMAScript standard, providing a lexer and parser that build an abstract syntax tree, which is then executed by an interpreter. The project maintains multiple specialized crates for different concerns: the parser handles lexing and parsing, the engine implements ECMAScript builtins and execution, a garbage collector manages memory, and additional crates provide string handling, AST representation, and WebAPI features. The tool can be compiled to WebAssembly for browser-based execution and offers both a programmatic API and a command-line interface with REPL support.

Developers should choose this tool when they need to embed JavaScript execution directly in Rust applications or when they want a JavaScript runtime that compiles to WebAssembly without external dependencies. It suits projects requiring standards-compliant ECMAScript support and those where the overhead of spawning a separate JavaScript runtime is unacceptable. The project is particularly valuable for applications targeting WebAssembly, as it provides a complete JavaScript engine that can run in the browser through its Wasm playground and can be integrated into Rust projects via the boa_engine crate.

The project maintains active development across multiple specialized crates with clear separation of concerns, indicating a mature architectural approach to the problem. Conformance testing against the ECMAScript Test262 test suite is continuously tracked and published, showing commitment to standards compliance. The project provides comprehensive documentation including API references, debugging guides, and contribution guidelines, with specific support for WebAssembly compilation targets and configuration options.