7 unstable releases (3 breaking)
0.19.1 | Sep 12, 2024 |
---|---|
0.19.0 | Jul 11, 2024 |
0.18.0 | Mar 7, 2024 |
0.17.3 | Sep 26, 2023 |
0.16.0 | Sep 25, 2022 |
#231 in Command line utilities
5.5MB
103K
SLoC
Boa CLI
Boa CLI is Boa
's REPL implementation to execute JavaScript
directly from
your CLI.
Installation
boa_cli
can be installed directly via Cargo
.
cargo install boa_cli
Usage
Once installed, your good to go!
To execute some JavaScript source code, navigate to the directy of your choosing and type:
boa test.js
Or if you'd like to use Boa's REPL, simply type:
boa
CLI Options
Usage: boa [OPTIONS] [FILE]...
Arguments:
[FILE]... The JavaScript file(s) to be evaluated
Options:
--strict Run in strict mode
-a, --dump-ast [<FORMAT>] Dump the AST to stdout with the given format [possible values: debug, json, json-pretty]
-t, --trace Dump the AST to stdout with the given format
--vi Use vi mode in the REPL
-O, --optimize
--optimizer-statistics
--flowgraph [<FORMAT>] Generate instruction flowgraph. Default is Graphviz [possible values: graphviz, mermaid]
--flowgraph-direction <FORMAT> Specifies the direction of the flowgraph. Default is top-top-bottom [possible values: top-to-bottom, bottom-to-top, left-to-right, right-to-left]
--debug-object Inject debugging object `$boa`
-m, --module Treats the input files as modules
-r, --root <ROOT> Root path from where the module resolver will try to load the modules [default: .]
-h, --help Print help (see more with '--help')
-V, --version Print version
Features
Boa's CLI currently has a variety of features (as listed in Options
).
Features include:
- Implemented runtime features (please note that only
Console
is currently implemented) - AST Visibility: View the compiled Boa AST (--dump-ast)
- Tracing: Enabling a vm tracing when executing any JavaScript
- Flowgraphs: View a generated (with various provided options)
- Debugging: Boa's CLI comes with an implemented
$boa
debug object with various functionality (see documentation).
Have an idea for a feature? Feel free to submit an issue and/or contribute!
Dependencies
~24–36MB
~516K SLoC