The Wayback Machine - https://web.archive.org/web/20230228183153/https://github.com/boa-dev/boa
Skip to content

boa-dev/boa

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Bumps [clap](https://github.com/clap-rs/clap) from 4.1.6 to 4.1.7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p>
<blockquote>
<h2>v4.1.7</h2>
<h2>[4.1.7] - 2023-02-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Hide some nightly clippy warnings</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p>
<blockquote>
<h2>[4.1.7] - 2023-02-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(derive)</em> Hide some nightly clippy warnings</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/clap-rs/clap/commit/5f247f51811c68e02021db04f6122866540c3480"><code>5f247f5</code></a> chore: Release</li>
<li><a href="https://github.com/clap-rs/clap/commit/1999d851785ce54363917274c21d98aa0cdc8554"><code>1999d85</code></a> docs: Update changelog</li>
<li><a href="https://github.com/clap-rs/clap/commit/c3a942e376c837c6b8404eddc12a273172c8c36f"><code>c3a942e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4735">#4735</a> from rkrasiuk/rkrasiuk/fix-almost-swapped-lint</li>
<li><a href="https://github.com/clap-rs/clap/commit/5bab68a16f38630db65275102c2f5c129ebd99c7"><code>5bab68a</code></a> fix: Allow <code>clippy::almost_swapped</code></li>
<li><a href="https://github.com/clap-rs/clap/commit/872135b64ff9a4dd41b86594b116541ad80179a2"><code>872135b</code></a> fix: Allow <code>clippy::almost_swapped</code></li>
<li><a href="https://github.com/clap-rs/clap/commit/84a9b53cee22a3b757a9b0a92043f82597993d02"><code>84a9b53</code></a> chore: Release</li>
<li><a href="https://github.com/clap-rs/clap/commit/9fa48d5f9275ba2a3430b22194289ee24ee99c5a"><code>9fa48d5</code></a> docs: Update changelog</li>
<li><a href="https://github.com/clap-rs/clap/commit/e9535a3618a8e17fa88ddb211ebeb69b77755e8c"><code>e9535a3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/clap-rs/clap/issues/4734">#4734</a> from XiaoXiaoSN/master</li>
<li><a href="https://github.com/clap-rs/clap/commit/0f3e729358ff2bc348ef54e1307d27722cfe0311"><code>0f3e729</code></a> feat(complete): Support to run ZSH completion as a script</li>
<li><a href="https://github.com/clap-rs/clap/commit/cdb33b6ad2c6bbc5a34acf3fc13ce98f796bef4c"><code>cdb33b6</code></a> test(complete): Adjust bash snapshot</li>
<li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/v4.1.6...v4.1.7">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.1.6&new-version=4.1.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>
423c16a

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
October 25, 2022 11:16
September 28, 2022 17:19
February 17, 2023 21:22
February 4, 2023 18:14
February 4, 2023 18:14
August 27, 2020 20:30
August 27, 2020 20:30
September 25, 2022 18:01
February 4, 2023 18:14

Boa

Boa Logo

This is an experimental Javascript lexer, parser and interpreter written in Rust. Currently, it has support for some of the language.

Build Status codecov Crates.io Docs.rs Discord

Live Demo (WASM)

https://boa-dev.github.io/boa/playground/

You can get more verbose errors when running from the command line.

Development documentation

You can check the internal development docs at https://boa-dev.github.io/boa/doc.

Conformance

To know how much of the ECMAScript specification does Boa cover, you can check out results running the ECMASCript Test262 test suite here.

Contributing

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.

Debugging

Check debugging.md for more info on debugging.

Web Assembly

This interpreter can be exposed to JavaScript! You can build the example locally with:

npm run build

In the console you can use window.evaluate to pass JavaScript in. To develop on the web assembly side you can run:

npm run serve

then go to http://localhost:8080.

Usage

  • Clone this repo.
  • Run with cargo run -- test.js where test.js is an existing JS file with any JS valid code.
  • If any JS doesn't work then it's a bug. Please raise an issue!

Example

Example

Command-line Options

USAGE:
    boa [OPTIONS] [FILE]...

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -a, --dump-ast <FORMAT>       Dump the abstract syntax tree (ast) to stdout with the given format [possible values: Debug, Json,
                                  JsonPretty]

ARGS:
    <FILE>...    The JavaScript file(s) to be evaluated

Roadmap

See Milestones.

Benchmarks

See Benchmarks.

Profiling

See Profiling.

Changelog

See CHANGELOG.md.

Communication

Feel free to contact us on Discord.

License

This project is licensed under the Unlicense or MIT licenses, at your option.