1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-14 16:33:45 -05:00
denoland-deno/tools/README.md

62 lines
1.6 KiB
Markdown
Raw Normal View History

2020-05-08 09:28:02 -04:00
# Tools
Documentation for various tooling in support of Deno development.
2020-05-08 09:28:02 -04:00
## format.js
2020-05-08 09:28:02 -04:00
This script will format the code (currently using dprint, rustfmt). It is a
prerequisite to run this before code check in.
2020-05-08 09:28:02 -04:00
To run formatting:
```sh
2020-11-05 10:49:03 -05:00
deno run --allow-read --allow-write --allow-run --unstable ./tools/format.js
2020-05-08 09:28:02 -04:00
```
2020-11-05 10:49:03 -05:00
## lint.js
2020-05-08 09:28:02 -04:00
This script will lint the code base (currently using dlint, clippy). It is a
prerequisite to run this before code check in.
2020-05-08 09:28:02 -04:00
To run linting:
```sh
2020-11-05 10:49:03 -05:00
deno run --allow-read --allow-write --allow-run --unstable ./tools/lint.js
2020-05-08 09:28:02 -04:00
```
Tip: You can also use cargo to run the current or pending build of the deno
executable
```sh
cargo run -- run --allow-read --allow-write --allow-run --unstable ./tools/<script>
```
## flamebench.js
`flamebench.js` facilitates profiling and generating flamegraphs from
benchmarks.
General usage:
```
./tools/flamebench.js
flamebench <bench_name> [bench_filter]
Available benches:
op_baseline
ser
de
```
To profile the `op_baseline` bench, run `./tools/flamebench.js op_baseline`,
this will run all 3 benches in `op_baseline.
Often when profiling/optimizing, you'll want to focus on a specific sub-bench,
`flamebench` supports a bench/test filter arg like the regular cargo commands.
So you can simply run `./tools/flamebench.js op_baseline bench_op_async` or
`./tools/flamebench.js op_baseline bench_op_nop` to profile specific benches.
Tip: the `[bench_filter]` argument doesn't have to be an exact bench name, you
can use a shorthand or a partial match to profile a group of benches, e.g:
`./tools/flamebench.js de v8`