deno/tools
Bartek Iwańczuk 4c2269d64a
Revert "chore: update wpt (#18335)" (#18355)
This reverts commit 29fb7709ed.

This update introduced more flakiness to the tests on CI, we are going
to investigate and reland this update after Deno 1.32.0 is released.
2023-03-22 17:17:52 +00:00
..
napi
node_compat chore(tools): restore node compat test setup script (#18290) 2023-03-21 22:38:07 +09:00
release docs(release): update to include deno_docker release workflow (#18323) 2023-03-21 11:38:59 -04:00
wpt Revert "chore: update wpt (#18335)" (#18355) 2023-03-22 17:17:52 +00:00
build_benchmark_jsons.js
copyright_checker.js chore(tools): Copyright checker had a bad interpolation (#18328) 2023-03-21 10:31:34 -06:00
cut_a_release.md
deno.lock.json chore: upgrade deno_automation to 0.19.0 (#18213) 2023-03-16 09:26:30 -04:00
flamebench.js
format.js
lint.js feat(cli): --ext parameter for run, compile, and bundle (#17172) 2023-03-22 10:15:53 -04:00
README.md BREAKING(unstable): remove WebGPU (#18094) 2023-03-17 00:29:32 +01:00
update_typescript.md
upload_wptfyi.js wpt: only tag daily runs as master (#18155) 2023-03-13 13:24:16 +01:00
util.js
verify_pr_title.js chore(ci): allow 'Reland' PR title prefix (#18273) 2023-03-18 21:15:45 +00:00
wpt.ts wpt: unlock nightly with --no-ignore (#17998) 2023-03-03 14:50:18 +01:00

Tools

Documentation for various tooling in support of Deno development.

format.js

This script will format the code (currently using dprint, rustfmt). It is a prerequisite to run this before code check in.

To run formatting:

deno run --allow-read --allow-write --allow-run --unstable ./tools/format.js

lint.js

This script will lint the code base (currently using dlint, clippy). It is a prerequisite to run this before code check in.

To run linting:

deno run --allow-read --allow-write --allow-run --unstable ./tools/lint.js

Tip: You can also use cargo to run the current or pending build of the deno executable

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

copyright_checker.js is used to check copyright headers in the codebase.

To run the copyright checker:

deno run --allow-read --allow-run --unstable  ./tools/copyright_checker.js

Then it will check all code files in the repository and report any files that are not properly licensed.