Skip to content

cleanup contributing documentation #1665

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

iuioiua
Copy link
Contributor

@iuioiua iuioiua commented Apr 25, 2025

Towards #1601

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines -31 to -88
If you want to fix a bug or add a new feature to `deno` this is the repository
to contribute to.

Some systems, including a large part of the Node.js compatibility layer are
implemented in JavaScript and TypeScript modules. These are a good place to
start if you are looking to make your first contribution.

[Here](https://node-test-viewer.deno.dev/results/latest) is a list of Node.js
test cases, including both successful and failing ones. Reviewing these can
provide valuable insight into how the compatibility layer works in practice, and
where improvements might be needed. They can also serve as a useful guide for
identifying areas where contributions are most impactful.

While iterating on such modules it is recommended to include `--features hmr` in
your `cargo` flags. This is a special development mode where the JS/TS sources
are not included in the binary but read at runtime, meaning the binary will not
have to be rebuilt if they are changed.

To use the commands below, you need to first install the necessary tools on your
system as described [here](building_from_source).

```sh
# cargo build
cargo build --features hmr

# cargo run -- run hello.ts
cargo run --features hmr -- run hello.ts

# cargo test integration::node_unit_tests::os_test
cargo test --features hmr integration::node_unit_tests::os_test
```

Also remember to reference this feature flag in your editor settings. For VSCode
users, combine the following into your workspace file:

```jsonc
{
"settings": {
"rust-analyzer.cargo.features": ["hmr"],
// Adds support for resolving internal `ext:*` modules
"deno.importMap": "tools/core_import_map.json"
}
}
```

To use a development version of the LSP in VSCode:

1. Install and enable the
[Deno VSCode extension](https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno)
2. Update your VSCode settings and point `deno.path` to your development binary:

```jsonc
// .vscode/settings.json
{
"deno.path": "/path/to/your/deno/target/debug/deno"
}
```

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines -175 to -189
## Submitting a PR to [`deno`](https://github.com/denoland/deno)

In addition to the above make sure that:

> To use the commands below, you need to first install the necessary tools on
> your system as described [here](building_from_source).

1. `cargo test` passes - this will run full test suite for `deno` including unit
tests, integration tests and Web Platform Tests

1. Run `./tools/format.js` - this will format all of the code to adhere to the
consistent style in the repository

1. Run `./tools/lint.js` - this will check Rust and JavaScript code for common
mistakes and errors using `clippy` (for Rust) and `dlint` (for JavaScript)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines -191 to -205
## Submitting a PR to [`deno_std`](https://github.com/denoland/deno_std)

In addition to the above make sure that:

1. All of the code you wrote is in `TypeScript` (ie. don't use `JavaScript`)

1. `deno test --unstable --allow-all` passes - this will run full test suite for
the standard library

1. Run `deno fmt` in the root of repository - this will format all of the code
to adhere to the consistent style in the repository.

1. Run `deno lint` - this will check TypeScript code for common mistakes and
errors.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines -206 to -211
## Submitting a PR to [`fresh`](https://github.com/denoland/fresh)

First, please be sure to
[install Puppeteer](https://github.com/lucacasonato/deno-puppeteer#installation).
Then, please ensure `deno task ok` is run and successfully passes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iuioiua iuioiua marked this pull request as ready for review April 27, 2025 22:01
@iuioiua
Copy link
Contributor Author

iuioiua commented May 1, 2025

Someone able to look at this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant