We love pull requests. And following these guidelines will make your pull request easier to merge.
If you want to contribute but don’t know what to do, take a look at these two labels: help wanted and good first issue. Our docs and site are also far from perfect and could use a little love.
- If it’s your first pull request, watch this amazing course by Kent C. Dodds.
- Install EditorConfig plugin for your code editor to make sure it uses correct settings.
- Fork the repository and clone your fork.
- Install dependencies:
npm install. - Read the developer guide.
Run Babel in watch mode:
npm run compile:watchThen open a new terminal and start an example style guide:
npm startOpen localhost:6060 in a browser.
(There are other example style guides to test particular features too, run npm run to see a list.)
Run linters and tests:
npm testOr run tests in watch mode:
npm run test:watchTo update Jest snapshots:
npx jest -uDon’t forget to add tests and update documentation for your changes.
Please update npm lock file (package-lock.json) if you add or update dependencies.
First install dependencies:
npm run test:cypress:preThen run Babel in watch mode:
npm run compile:watchThen open a new terminal and start Styleguidist server:
npm run test:cypress:startServerAnd, finally, in another separate terminal run tests:
npm run test:cypress:runOr open Cypress UI:
npm run test:cypress:open- If you have commit access to repository and want to make big change or not sure about something, make a new branch and open pull request.
- We’re using Prettier to format JavaScript, so don’t worry much about code formatting.
- Don’t commit generated files, like minified JavaScript.
- Don’t change version number and change log.
- If you're updating examples other then
examples/basic, you'll need to modify your start commands:
npm run start:customised # if making changes to examples/customised
npm run start:sections # if making changes to examples/sectionsSee the scripts section of the top level package.json
. If an example doesn't have a script just point to its config:
node bin/styleguidist.js server --config examples/path/to/example/styleguide.config.js