Skip to content

Latest commit

Β 

History

History
79 lines (47 loc) Β· 3.33 KB

File metadata and controls

79 lines (47 loc) Β· 3.33 KB

Contribution Guide

Thank you for your contribution! Please refer to the README files in each repository for detailed contribution guidelines.

The following are some general tips.

Forked from Anthony's.

πŸ‘¨β€πŸ’» Repository Setup

We use pnpm for most of the projects.

To set the repository up:

Step Command
1. Install Node.js, using the latest LTS -
2. Enable Corepack corepack enable
4. Install dependencies under the project root pnpm i

πŸ™Œ Sending Pull Request

Commit Convention

We use Conventional Commits for commit messages, which allows the changelog to be auto-generated based on the commits. Please read the guide through if you aren't familiar with it already.

Only fix: and feat: will be presented in the changelog.

Note that fix: and feat: are for actual code changes (that might affect logic). For typo or document changes, use docs: or chore: instead:

  • fix: typo -> docs: fix typo

Pull Request

If you don't know how to send a Pull Request, we recommend reading the guide.

When sending a pull request, make sure your PR's title also follows the Commit Convention.

If your PR fixes or resolves an existing issue, please add the following line in your PR description (replace 123 with a real issue number):

fix #123

This will let GitHub know the issues are linked, and automatically close them once the PR gets merged. Learn more at the guide.

It's ok to have multiple commits in a single PR, you don't need to rebase or force push for your changes as we will use Squash and Merge to squash the commits into one commit when merging.

πŸ“– References

Corepack

TL;DR

To enable it, run

corepack enable

You only need to do it once after Node.js is installed.

What's Corepack

Corepack makes sure you are using the correct version for package manager when you run corresponding commands. Projects might have packageManager field in their package.json.

Under projects with configuration as shown on the right, corepack will install v7.1.5 of pnpm (if you don't have it already) and use it to run your commands. This makes sure everyone working on this project have the same behavior for the dependencies and the lockfile.

// package.json
{
  "packageManager": "[email protected]"
}

ESLint

We use ESLint and Prettier for linting and formatting.