diff options
author | Luca Casonato <lucacasonato@yahoo.com> | 2020-05-07 00:21:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-06 18:21:13 -0400 |
commit | 34ec3b225425cecdccf754fbc87f4a8f3728890d (patch) | |
tree | 35db52bf25ccf64425692116197df61a69ea8838 /docs/contributing.md | |
parent | 846c049c9b3ab36d0893292a204c4d0a18de4c8e (diff) |
Multi page manual (#5110)
Diffstat (limited to 'docs/contributing.md')
-rw-r--r-- | docs/contributing.md | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 000000000..5394405bb --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,60 @@ +# Contributing + +- Read the [style guide](style_guide.md). +- Progress towards future releases is tracked + [here](https://github.com/denoland/deno/milestones). +- Please don't make [the benchmarks](https://deno.land/benchmarks.html) worse. +- Ask for help in the [community chat room](https://discord.gg/TGMHGv6). +- If you are going to work on an issue, mention so in the issue comments + _before_ you start working on the issue. + +## Development + +Instructions on how to build from source can be found +[here](./building-from-source). + +## Submitting a Pull Request + +Before submitting, please make sure the following is done: + +1. That there is a related issue and it is referenced in the PR text. +2. There are tests that cover the changes. +3. Ensure `cargo test` passes. +4. Format your code with `tools/format.py` +5. Make sure `./tools/lint.py` passes. + +## Changes to `third_party` + +[`deno_third_party`](https://github.com/denoland/deno_third_party) contains most +of the external code that Deno depends on, so that we know exactly what we are +executing at any given time. It is carefully maintained with a mixture of manual +labor and private scripts. It's likely you will need help from @ry or +@piscisaureus to make changes. + +## Adding Ops (aka bindings) + +We are very concerned about making mistakes when adding new APIs. When adding an +Op to Deno, the counterpart interfaces on other platforms should be researched. +Please list how this functionality is done in Go, Node, Rust, and Python. + +As an example, see how `Deno.rename()` was proposed and added in +[PR #671](https://github.com/denoland/deno/pull/671). + +## Documenting APIs + +It is important to document public APIs and we want to do that inline with the +code. This helps ensure that code and documentation are tightly coupled +together. + +### Utilize JSDoc + +All publicly exposed APIs and types, both via the `deno` module as well as the +global/`window` namespace should have JSDoc documentation. This documentation is +parsed and available to the TypeScript compiler, and therefore easy to provide +further downstream. JSDoc blocks come just prior to the statement they apply to +and are denoted by a leading `/**` before terminating with a `*/`. For example: + +```ts +/** A simple JSDoc comment */ +export const FOO = "foo"; +``` |