Welcome! We are really excited that you are interested in contributing to rstore! Before submitting your contribution, please make sure to take a moment and read through the following guide:
Contributing doesn't necessarily mean you need to write code and open Pull Requests. There are many other ways you can help the project!
- Try the latest version of rstore and report bugs.
- Discuss your ideas with the community on the discussion board.
- Answer to other people's questions.
- Report typos or issues of the docs.
- Support us financially on GitHub sponsors:
- Do you like rstore? Spread the love on social media!
This mono-repo contains the following packages:
Package | Description |
---|---|
@rstore/core | Core reusable logic |
@rstore/shared | Common types and utils |
@rstore/vue | Vue integration |
@rstore/nuxt | Nuxt integration |
@rstore/nuxt-drizzle | Nuxt + Drizzle integration |
playground | Playground app |
- Install dependencies with pnpm:
node corepack enable
pnpm i
- Compile rstore in dev mode:
pnpm run dev
We use ESLint to check for code quality and style.
# Root of the mono-repo
pnpm run lint
We use Vitest to run unit tests on workspaces listed under the packages
folder.
For developping:
# Root of the mono-repo
pnpm run test:dev
(You can also run this in specific package folders.)
For running all tests in the terminal:
# Root of the mono-repo
pnpm run test
-
Checkout a topic branch from a base branch, e.g.
main
, and merge back against that branch. -
If adding a new feature:
- Add accompanying test case.
- Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
-
If fixing bug:
- If you are resolving a special issue, add
(fix #xxxx[,#xxxx])
(#xxxx is the issue id) in your PR title for a better release log, e.g.fix: update entities encoding/decoding (fix #3899)
. - Provide a detailed description of the bug in the PR. Live demo preferred.
- Add appropriate test coverage if applicable.
- If you are resolving a special issue, add
-
It's OK to have multiple small commits as you work on the PR - GitHub can automatically squash them before merging.
-
Make sure to follow the code style of the project.
-
Make sure tests pass!
-
Commit messages must follow the commit message convention so that changelogs can be automatically generated.