🧙🙌 First off, thanks for taking your time to contribute! 🧙🙌
Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub
To get started, clone react simple step wizard and create your branch from master.
Github article Fork a repository.
After setting up react simple step wizard locally, the following steps will get you started:
# Library
# To install `react-simple-step-wizard` dependencies.
npm install
# Example
# To install example's dependencies.
cd example && npm install
# To commit, you should follow the guide tipping:
npm run cz
Prettier, an opinionated code formatter that integrates with your text editor.
ESLint, The pluggable linting utility for JavaScript and JSX
# run both the core library and its example on development mode, it will rerun based on the files you modify.
npm run dev
After this, a browser will be open. The page will reload if you make edits.
We use commitizen and commitlint to ensure conventional commit messages, which supports our publishing workflow and versioning scheme.
husky is used to run precommit tasks on staged files, which includes code formatting, linting, and tests.
You will not be able to make a commit until the precommit tasks pass. We also have a prepush hook to run a full build before pushing your code.
The TDS codebase includes a script to run commitizen for a streamline commit-making experience:
# Stage your files
# To commit, you should follow commitizen guide tipping:
npm run cz
Versioning is facilitated by the Conventional Commits specification.
The commit type determines what will be included in changelogs. Use the feat
and fix
types sparingly as these two types will appear in changelogs. For most other commits such as fixups or configurations, use the chore
type.
Type | Description |
---|---|
BREAKING CHANGE | a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in semantic versioning). A BREAKING CHANGE can be part of commits of any type . |
build | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm). |
chore | A type for miscellaneous changes. Anything not covered here is considered a chore. Additionally, this is useful when iterating on changes due to PR reviews or other factors. Only one commit may be labeled as a fix or feat for any one change, so commits following that to iterate on the same feature will either be a chore or refactor . |
ci | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs). |
docs | Indicates a modification to documentation. Changes to the .md files of components, or changes to the documentation site use this type. |
feat | a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in semantic versioning). |
fix | a commit of the type fix patches a bug in your codebase (this correlates with PATCH in semantic versioning). |
perf | A code change that improves performance. |
refactor | A code change that neither fixes a bug nor adds a feature. |
style | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc). |
test | Adding missing tests or correcting existing tests. |
react-simple-step-wizard uses Jest as part of our Git hooks, these tests are run automatically on commit and on push.