deno/tools
Luca Casonato 923370f18f
fix(ext/fetch): new Request should soft clone (#16869)
Previously the inner request object of the original and the new request
were the same, causing the requests to be entangled and mutable changes
to one to be visible to the other. This fixes that.
2022-12-06 09:39:04 +01:00
..
bench chore: use local copy of std in tools/bench/ scripts (#14251) 2022-04-11 11:46:23 +02:00
napi refactor: create util folder, move nap_sym to napi/sym, move http_cache to cache folder (#16857) 2022-11-28 17:28:54 -05:00
release chore: workspace inheritance (#16343) 2022-11-22 21:07:35 +01:00
wpt fix(ext/fetch): new Request should soft clone (#16869) 2022-12-06 09:39:04 +01:00
build_benchmark_jsons.js chore: update copyright to 2022 (#13306) 2022-01-07 22:09:52 -05:00
cut_a_release.md chore: make the start_release workflow go faster (#15416) 2022-08-08 19:31:45 -04:00
deno.lock.json chore: workspace inheritance (#16343) 2022-11-22 21:07:35 +01:00
flamebench.js chore: rewrite tests and utils to use Deno.Command API (#16895) 2022-12-02 14:43:17 +01:00
format.js chore(tools): update deprecated commands in format and lint tool (#16864) 2022-12-01 16:51:47 +01:00
lint.js chore(tools): update deprecated commands in format and lint tool (#16864) 2022-12-01 16:51:47 +01:00
README.md chore: re-enable wgpu_sync (#13453) 2022-01-24 23:47:05 +01:00
update_typescript.md fix: update to TypeScript 4.7.4 (#15022) 2022-07-04 15:13:50 +10:00
upload_wptfyi.js chore(ci): update dependency for upload_wptfyi (#12587) 2021-10-29 16:29:37 +11:00
util.js chore: rewrite tests and utils to use Deno.Command API (#16895) 2022-12-02 14:43:17 +01:00
wgpu_sync.js chore: rewrite tests and utils to use Deno.Command API (#16895) 2022-12-02 14:43:17 +01:00
wpt.ts chore(wpt): add ability to ignore a test file (#16056) 2022-09-27 23:32:17 +02: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

wgpu_sync.js

wgpu_sync.js streamlines updating deno_webgpu from gfx-rs/wgpu.

It essentially vendors the deno_webgpu tree with a few minor patches applied on top, somewhat similar to git subtree.

  1. Update COMMIT or V_WGPU in ./tools/wgpu_sync.js
  2. Run ./tools/wgpu_sync.js
  3. Double check changes, possibly patch
  4. Commit & send a PR with the updates