Skip to content

Latest commit

 

History

History
101 lines (67 loc) · 3.43 KB

CONTRIBUTING.md

File metadata and controls

101 lines (67 loc) · 3.43 KB

rstore Contributing Guide

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:

Means of Contributing

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!

Packages

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

Local dev setup

  1. Install dependencies with pnpm:
node corepack enable
pnpm i
  1. Compile rstore in dev mode:
pnpm run dev

Running tests

Linting

We use ESLint to check for code quality and style.

# Root of the mono-repo
pnpm run lint

Unit tests

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

Pull Request Guidelines

  • 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.
  • 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.