1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-25 15:29:32 -05:00
denoland-deno/tools
David Sherret b9d2ac32d5
chore(ci): verify the PR title as part of linting (#18163)
This verifies the PR title as part of the lint step.
2023-03-13 18:59:13 +00:00
..
napi chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
release chore: add release checklist step to check the benchmarks page (#17632) 2023-02-02 23:41:46 +00:00
wpt fix(ext/crypto): correctly limit ECDSA and hash algorithms (#18030) 2023-03-05 12:34:07 +00:00
build_benchmark_jsons.js chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
copyright_checker.js test: add node compat tests (#17805) 2023-02-17 23:58:52 +09: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(ci): ci refactor - Part 1 - Generate ci yaml by js (#17335) 2023-01-10 19:16:11 -05:00
flamebench.js chore: small cleanup of scripts in ./tools and run copyright checker in lint.js (#17393) 2023-01-13 13:42:15 -05:00
format.js chore: small cleanup of scripts in ./tools and run copyright checker in lint.js (#17393) 2023-01-13 13:42:15 -05:00
lint.js build: run clippy with --all-features (#18115) 2023-03-10 21:07:28 +09:00
README.md chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
update_typescript.md fix: update to TypeScript 4.7.4 (#15022) 2022-07-04 15:13:50 +10:00
upload_wptfyi.js wpt: only tag daily runs as master (#18155) 2023-03-13 13:24:16 +01:00
util.js chore: update std submodule and its imports (#17408) 2023-01-15 21:09:26 +01:00
verify_pr_title.js chore(ci): verify the PR title as part of linting (#18163) 2023-03-13 18:59:13 +00:00
wgpu_sync.js refactor: rename InternalModuleLoader to ExtModuleLoader, use ext: scheme for snapshotted modules (#18041) 2023-03-08 12:44:54 +01: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

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

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.