Files
element-plus/CONTRIBUTING.md
一只前端汪 df8475660d chore: upgrade pnpm to v10 (#22435)
* chore: Upgrade pnpm to v10

* fix: Remove comments

* fix: remove pnpm cache

* fix: Manually retrieve cache directory

* fix: unuse actions/cache@v4

* fix: test
2025-10-21 18:13:00 +08:00

119 lines
3.3 KiB
Markdown

# How To Contribute
## Opening Issues
- Before opening an issue, please search for the keyword to see whether the issue you encountered has already been reported. :pray:
- Issues should be opened via [Issue Template](https://issue.element-plus.org/), and the form should be filled with sufficient information to reproduce the issue, so that our developers can help you verify and fix it.
**Issues with insufficient information WILL BE CLOSED directly because we cannot reproduce them.**
- Issues with feature requests should be submitted to [RFCs](https://github.com/element-plus/rfcs/issues). This helps us manage feature requests more efficiently.
Next section is for those who wants to help develop Element Plus.
## Prerequisites
You should have:
Node.js >= 20
pnpm >= 10.18
Git > 2.20
Some of our compiled code relies on features introduced in Node.js >= 20, so you will need to install that version or a newer one.
## Clone the Repository
1. Click the fork button on the top right of [the repository homepage](https://github.com/element-plus/element-plus).
2. Download the project to your machine.
3. Run commands below to bootstrap this project.
```shell
cd $THE_PROJECT_PATH_YOU_DOWNLOADED
# If you haven't installed yet
pnpm install
```
## Verify Installation
Then you can run the following commands to verify your installation.
```shell
pnpm t
pnpm format
```
## Getting Started Developing
Now that you have installed the code correctly, you can choose:
### Modify and update the documentation site
```shell
# If you would like to modify the website source code of https://element-plus.org
# It is made with [VitePress](https://vitepress.vuejs.org)
pnpm docs:gen-locale # This generates locale files for your local development
pnpm docs:dev
```
### Making Changes to the Component Instead of the Website
```shell
# If you would like to run a local playground to test out your changes against
# Some specific component
pnpm dev
```
You can follow the [LOCAL DEVELOPMENT GUIDE](https://element-plus.org/en-US/guide/dev-guide.html) to do development more quickly.
### Compile the Source Code
If you would like to compile this project locally:
```shell
# This one line code would start compiling the code which was published to https://npmjs.com
pnpm build
```
### Compile Documentation Website
If you would like to compile the website code locally:
```shell
pnpm docs:build
```
## Pull Requests
After completing your coding tasks, please note:
1. Update the tests to cover all cases.
2. Update the corresponding documentation if you are making changes to the API.
3. Write a comprehensive commit message.
4. Push your local changes to your remote, and then submit a pull request to the upstream.
5. In the description section, you can add more information about your changes, to help the reviewers for better
understanding the context here.
## Commit Template
We have prepared a commit message template for you to refer to, you can also follow the instructions of the CLI tool to generate
commit message intuitively.
1. With command
```bash
pnpm cz
```
2. You can also write the commit message manually, but make sure your
commit message follows the rules.
We have a [commit template](https://element-plus.org/en-US/guide/commit-examples.html)
NOTE:
**PRs with unformatted commit messages WILL NOT BE ACCEPTED.**
That's all, thanks for your contribution! 🤩