Overview

We are grateful for your interest in contributing to Rspack! Every single contribution counts and helps us take Rspack to the next level.

Asking Questions

If you have any questions, please do not hesitate to ask in either the Discord support channel or on the GitHub discussion board.

Minimal reproduction

The Rspack repro template can be used to create a minimal reproducible example.

A minimal reproducible example (MRE) is a code that is:

  • Short
  • Self-contained
  • Demonstrates the problem being encountered

An MRE is essential because it allows us to quickly understand and reproduce your issue. This, in turn, increases the likelihood of getting a helpful and accurate response in a shorter amount of time. It is important to note that an MRE should not include extraneous code related to unrelated functionality, and should instead focus solely on the problem at hand.

Please see also How to create a Minimal, Reproducible Example from Stack Overflow.

What should I work on?

Good First Issue

If you are looking to dive into the codebase and get started, we recommend checking out our issue list labeled with good first issue. This will help you get acquainted with the project and start contributing.

Tracking Issue

If you are interested in understanding our project's direction and want to work on issues that are aligned with our priorities, our tracking issues list provides an overview of our progress and current goals.

Sending pull request

  1. Fork the Rspack repository into your own GitHub account.
  2. Clone the repository to your local.
  3. Checkout a new branch from main.
  4. Set up the development environment, you can read the Prerequisites section to learn about it.
  5. If you've fixed a bug or added code that should be tested, then add some tests.
  6. Make sure all the tests pass, you can read the Testing section below to learn about it.
  7. Run pnpm run lint:js and pnpm run lint:rs to check the code style.
  8. Submit the Pull Request, make sure all CI runs pass.
  9. The maintainers will review your Pull Request soon.

When submitting a Pull Request, please note the following:

  • Keep your PRs small enough, so that each PR only addresses a single issue or adds a single feature.
  • Please include an appropriate description in the PR, and link related issues.

Format of PR titles

The format of PR titles follow Conventional Commits.

An example:

feat(core): Add `fooBar` config
^    ^    ^
|    |    |__ Subject
|    |_______ Scope (optional)
|____________ Type

If your PR contains any breaking changes, please append a ! after the type/scope, then add the release: breaking change GitHub label.

fix!: remove deprecated `fooBar` config
fix(core)!: remove deprecated `fooBar` config

Other ways to contribute

We are always looking for contributors, and that goes beyond just our main repository.

Check out these other ways to get involved and start making a difference today.


As a reminder, all contributors are expected to follow our Code of Conduct.