deno/tools
Marvin Hagemeister 9686a8803e
feat: add jsx precompile skip element option (#23457)
<!--
Before submitting a PR, please read
https://docs.deno.com/runtime/manual/references/contributing

1. Give the PR a descriptive title.

  Examples of good title:
    - fix(std/http): Fix race condition in server
    - docs(console): Update docstrings
    - feat(doc): Handle nested reexports

  Examples of bad title:
    - fix #7123
    - update docs
    - fix bugs

2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't
run
   all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench'
label.
-->
This PR wires up a new `jsxPrecompileSkipElements` option in
`compilerOptions` that can be used to exempt a list of elements from
being precompiled with the `precompile` JSX transform.
2024-04-22 17:07:36 +02:00
..
napi chore: Reuse linux symbols list on openbsd and freebsd (#22706) 2024-03-06 08:33:15 +05:30
release chore: update release doc template (#23299) 2024-04-11 12:12:33 -04:00
build_bench.ts chore: use granular unstable flags in tools/ (#22138) 2024-01-26 22:35:43 +00:00
build_benchmark_jsons.js chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
copyright_checker.js chore: rough first pass on spec tests (#22877) 2024-03-13 16:21:13 +00:00
core_import_map.json chore: remove unused, unstable 'http' namespace (#23436) 2024-04-18 11:21:25 -06: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: forward v1.42.2 release commit to main (#23315) 2024-04-11 13:37:24 +05:30
faster-rebuilds.md chore(build): document faster rebuilds with cargo plonk (#21823) 2024-01-06 16:27:04 +05:30
format.js chore: use granular unstable flags in tools/ (#22138) 2024-01-26 22:35:43 +00:00
install_prebuilt.js chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
lint.js feat: add jsx precompile skip element option (#23457) 2024-04-22 17:07:36 +02:00
README.md chore: use granular unstable flags in tools/ (#22138) 2024-01-26 22:35:43 +00:00
update_typescript.md fix: update to TypeScript 4.7.4 (#15022) 2022-07-04 15:13:50 +10:00
upload_wptfyi.js chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
util.js chore: move test_util/std to tests/util/std (#22402) 2024-02-13 09:22:49 -07:00
verify_pr_title.js ci: allow "FUTURE" PR title (#23064) 2024-03-25 00:15:12 +00:00
wgpu_sync.js chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00: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 ./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 ./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 ./tools/<script>

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  ./tools/copyright_checker.js

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