Automic VaultAutomic Vault

brew

Install boa with Homebrew, Nix

Embeddable and experimental Javascript engine written in Rust. Version 0.21.1 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install boa

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#boa

nixpkgs package indexes · pkgs/by-name/bo/boa/package.nix · source: api.github.com

overview

Package summary

Embeddable and experimental Javascript engine written in Rust

Commands and aliases

  • boa

history

Project history and usage

Boa is an embeddable experimental JavaScript engine written in Rust, with a CLI and Rust crates for parsing, interpreting, and embedding ECMAScript.

Project history

Boa began as Jason Williams's Rust JavaScript-engine experiment. The Boa about page says it was introduced at JSConf EU 2019, and the JSConf EU talk page describes Williams building an engine from scratch in Rust during the previous year.

The project grew into the boa-dev organization and a set of crates centered on boa_engine. Its README describes an experimental lexer, parser, and interpreter that tracks the evolving ECMAScript specification.

Adoption history

Boa's adoption is mostly developer and embedders' adoption rather than browser adoption. It is carried by Homebrew and Nix and published through Rust's crate ecosystem, where Rust programs can embed it directly.

The project's public releases and blog posts emphasize conformance progress, embeddability, WebAssembly use, and keeping pace with Test262 and ECMAScript changes.

How it is used

Users can run the boa CLI for experiments, but the more important use case is embedding boa_engine in Rust applications that need JavaScript evaluation without linking to V8.

Boa is also useful for language-engine work: implementers can study parser, runtime, built-in-object, and conformance work in a Rust codebase that is smaller and more approachable than production browser engines.

Why package nerds care

Boa matters to package nerds because JavaScript engines are usually huge C++ dependencies. A Rust-native, crate-published engine changes the packaging shape for applications that only need embeddable JS semantics.

Its significance is still experimental: package users should not read the Homebrew formula as a Node.js replacement. The interesting part is the long-term Rust ecosystem bet on standards-conforming embeddable scripting.

Timeline

  • 2018-2019: Jason Williams builds a JavaScript engine from scratch in Rust.
  • 2019-06: Boa is introduced at JSConf EU 2019.
  • 2021-06: Boa v0.12 is announced on the official blog.
  • 2021-09: Boa v0.13 blog post highlights embedding in Rust projects and WebAssembly use.
  • 2020s: boa-dev continues publishing boa_engine and tracking ECMAScript/Test262 conformance.

Related projects

  • V8, SpiderMonkey, and JavaScriptCore: production browser/server JavaScript engines Boa is often compared against but does not replace.
  • QuickJS, MuJS, and Kiesel: smaller embeddable JavaScript engines in adjacent niches.
  • Test262: the official ECMAScript conformance suite Boa uses as a progress target.
  • Rust crates such as boa_engine and boa_parser: the packaged Rust components behind the CLI and embedding story.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 2 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
boacliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.21.1
manager updated2026-06-22
local dataok
upstreamcurrent
latest detectedv0.21.1

https://github.com/boa-dev/boa

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:boa
Version0.21.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/boa
Homepagehttps://github.com/boa-dev/boa
Repositoryhttps://github.com/boa-dev/boa
Upstream docshttps://boajs.dev/docs/intro
LicenseMIT OR Unlicense
Source archivehttps://github.com/boa-dev/boa/archive/refs/tags/v0.21.1.tar.gz
Last updated2026-06-22T14:02:54-07:00
Pulseupdated
Build dependenciespkgconf, rust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameboa
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

boa

nix profile install nixpkgs#boa
  • normalized package name match
  • Matched by: Boa
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/bo/boa/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment