a77b2987bc
Fixes #19214. We were using the `idna` crate to implement our polyfill for `punycode.toASCII` and `punycode.toUnicode`. The `idna` crate is correct, and adheres to the IDNA2003/2008 spec, but it turns out `node`'s implementations don't really follow any spec! Instead, node splits the domain by `'.'` and punycode encodes/decodes each part. This means that node's implementations will happily work on codepoints that are disallowed by the IDNA specs, causing the error in #19214. While fixing this, I went ahead and matched the node behavior on all of the punycode functions and enabled node's punycode test in our `node_compat` suite. |
||
---|---|---|
.. | ||
napi | ||
node_compat | ||
release | ||
build_bench.ts | ||
build_benchmark_jsons.js | ||
copyright_checker.js | ||
core_import_map.json | ||
cut_a_release.md | ||
deno.lock.json | ||
faster-rebuilds.md | ||
format.js | ||
install_prebuilt.js | ||
lint.js | ||
README.md | ||
update_typescript.md | ||
upload_wptfyi.js | ||
util.js | ||
verify_pr_title.js | ||
wgpu_sync.js |
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
.
- Update
COMMIT
orV_WGPU
in./tools/wgpu_sync.js
- Run
./tools/wgpu_sync.js
- Double check changes, possibly patch
- Commit & send a PR with the updates
copyright_checker.js
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.