Contributing
First of all, thank you for deciding to contribute to React Advanced Form! It is only by the power of the community we can achieve great results.
A good place to start is to ensure you are familiar with the technologies used in React Advanced Form.
Please read and respect the internal agreements listed below. The latter are to ensure the quality and seamless coding approach during the development of the library.
- Please do not version the changes you provide. Versioning happens by the repository's owners after your changes are merged into the
master
branch.
- 1.Use
PascalCase
and.jsx
extension for React components. - 2.Use
cammelCase
and.js
extension for other JavaScript files. - 3.Use
.spec.js
suffix for the test files. - 4.Be familiar with the Naming Cheatsheet. It contains quite a few of patterns and pieces of advice on how to name the methods, variables and anything in general.
- 5.Once the review is passed, merge your pull request or ask somebody else to do so. Your contribution is now merged into the
master
and prepared for the next release!
- 1.Create a new branch with the proper prefix. Use
feature
prefix for new features,bugfix
for bugfixes anddev
for internal (i.e. architectural) improvements. Examples:feature/field-format
,bugfix/form-clear
,dev/bundle-size
. - 2.Contribute the changes.
- 3.Add the changes with
git add
. - 4.Commit the changes with
git commit
. - 5.
git checkout master
andgit pull --rebase
to pull the latest changes from themaster
branch. - 6.
git checkout PREFIX/YOUR_FEATURE_BRAHC
andgit rebase master
to ensure your feature branch is up-to-date. - 7.
- 8.Pass the code review and implement possible suggestions and comments from the repository's maintainers and owners.
git clone https://github.com/kettanaito/react-advanced-form.git
cd react-advanced-form
npm install
Start the development process by executing the following command in the terminal:
npm start
Development process generally consist of the following steps:
- 1.Create a test scenario (story) to test your changes.
- 2.Import a source fields of the library into the created story.
- 3.Develop with live updates.
IT IS MANDATORY TO COVER YOUR CHANGES WITH THE CORRESPONDING TESTS.
Depending on the character of your changes, it may be a unit test(s), integration test(s), or both.
Each your commit is followed by an automated build and tests run toward your changes. It is only when the build succeeded and all tests passed your commit is being created. Make sure to fix all the issues which may happen during this process.
Create a new pull request featuring your changes in the RAF repository. Assign the pull request to one of the library owners or contributors and await for the comment or approval. Pull request are merged into
master
branch by its reviewer.Command | Description |
npm start | Runs Storybook. |
npm test | Runs all the tests (unit and integration). |
npm run cypress | Opens Cypress GUI. |
npm run test:unit | Runs unit tests. |
npm run test:integration | Runs integration tests. |
npm run build | Performs a production build. |
Above there are the guidelines for the development contribution, but that isn't the only way you can make RAF better:
- Star and share React Advanced Form if you find it useful
Each of your contributions matters! Thank you.
Last modified 4yr ago