deno_doc
A Rust crate to generate documentation for JavaScript and TypeScript modules.
This crate powers
deno doc
, but is not
Deno specific and can be used to write documentation generators for other
targets like Node or the browser as well.
Usage from Deno CLI or Deploy
See js/README.md.
Rust Example
examples/ddoc/main.rs
provides a minimal standalone binary demonstrating how
deno_doc
can be used as a crate.
$ cargo run --example ddoc ../deno_std/http/mod.ts
Developing
# build all targets
$ cargo build --all-targets
# test it
$ cargo test
# build js api
$ deno task build
# test it
$ deno task test
We use insta testing tool for taking snapshots of the html output. If you change the rednering of html output, or change the fixture files for html testing, you need to update snapshot using cargo-insta command.
# update snapshots
cargo insta test
# review snapshots
cargo insta review
See the insta docs for more details.
Contributing
-
If you are going to work on an issue, mention so in the issue comments before you start working on the issue.
-
Please be professional in the forums. See our Code of Conduct.
-
Ask for help in the community chat room.
Submitting a Pull Request
Before submitting, please make sure the following is done:
- That there is a related issue and it is referenced in the PR text.
- There are tests that cover the changes.
- Ensure
cargo test
anddeno task test
passes. - Format your code with
rustfmt --check src/lib.rs
- Make sure
cargo clippy --all-targets --release --locked -- -D clippy::all
passes.