Please read our code of conduct, style guide and architecture guide before contributing.
- Check for existing issues before creating a new one.
- When creating an issue, be clear, provide as much detail as possible and provide examples, when possible.
- Install the Deno CLI.
- Fork and clone the repository.
- Create a new branch for your changes.
- Make your changes and ensure
deno task ok
passes successfully. - Commit your changes with clear messages.
- Submit a pull request with the package in question, and a clear title and
description, as follows:
- fix(http): fix race condition in server
- docs(fmt): update docstrings
- feat(log): handle nested messages
-
See the deprecation policy for how deprecations work.
-
Start creating a pull request by adding a deprecation notice to the given symbol with the following format, including the removal version and links to any relevant replacement symbols or documentation:
// /sub/foo.ts /** * @deprecated This will be removed in 0.215.0. Use {@linkcode bar} instead. */ export function foo() {}
-
Submit a pull request starting with the following format:
deprecation(<package>): <symbol>
Use a test name that includes the symbol in question and the test criteria, in plain language, as follows:
- assertEquals() matches when values are equal
- ensureDirSync() creates dir if it does not exist
- Server exposes the addresses the server is listening on as addrs property
Symbols and modules are documented using the JSDoc syntax. It should be written in the same style as the MDN Web Docs.
Documentation for public symbols should contain:
- A description, first
@param
tags for each parameter and a@returns
tag, if the symbol is a function.- At least one example code snippet using the
@example
tag and a title. The code is reproducible when copied and pasted as a script.
See the source code within
std/datetime
for
examples.
Module files, or mod.ts
files, should have the following:
- A high-level description of the package.
- Sections providing brief overviews of the APIs within the package, including
minimal example code snippets (without the
@example
tag). - A
@module
to denote module documentation.
See the source code for
std/datetime/mod.ts
as an example.