|0.17.3||Sep 26, 2023|
|0.17.2||Sep 26, 2023|
|0.17.0||Jul 8, 2023|
|0.16.0||Sep 25, 2022|
|0.14.0||Mar 15, 2022|
#74 in Data structures
14,508 downloads per month
Used in 13 crates (5 directly)
Live Demo (WASM)
You can get more verbose errors when running from the command line.
To know how much of the ECMAScript specification does Boa cover, you can check out results running the ECMASCript Test262 test suite here.
Please, check the CONTRIBUTING.md file to know how to contribute in the project. You will need Rust installed and an editor. We have some configurations ready for VSCode.
Check debugging.md for more info on debugging.
npm run build
In the console you can use
To develop on the web assembly side you can run:
npm run serve
then go to
- Clone this repo.
- Run with
cargo run -- test.jsin the project root directory where
test.jsis a path to an existing JS file with any valid JS code.
- If any JS doesn't work then it's a bug. Please raise an issue!
Feel free to contact us on Discord.
boa_interner is a string interner for compiler performance.
The idea behind using a string interner is that in most of the code, strings such as
identifiers and literals are often repeated. This causes extra burden when comparing them and
storing them. A string interner stores a unique
usize symbol for each string, making sure
that there are no duplicates. This makes it much easier to compare, since it's just comparing
usize, and also it's easier to store, since instead of a heap-allocated string, you only
need to store a
usize. This reduces memory consumption and improves performance in the