Create a new public repository under OpusCapita organization in github. If you don't have rights to do it, contact @havanki or @ilkkalehtinen. Choose a descriptive repository name that states clearly what kind of component it contains. For example, react-grid is a React component that creates a grid.
Developing a new component
Create a development branch in git.
Create basic structure for a react component. It's recommended to use the template. Develop the component.
Run npm install to get the project's dependencies.
Run npm run build to produce minified version of the library.
Run npm run dev to produce development version of the library.
Run npm run test to run tests.
Run npm run docs to generate examples.
Run npm run hot to run source files.
Update CHANGELOG.md file with your changes under next line.
Include documentation for your component in README.md file, unit tests for all modules and an example showing all possible functions of your component before you make the first pull request with your component. Pull requests with absent documentation, unit tests and examples will not be approved.
Commit and push changes. Don't include lib folder in the commits.
Open Settings -> Options -> GitHub Pages and select 'master branch /docs folder' as a Source.
Merging the development branch with the master
Make a pull request for more than one reviewer (the more the better) from the list of contributors below.
Merge your branch with the master and delete your development branch.
Creating the first release tag and publishing the first npm version
Update CHANGELOG.md file by moving changes under next line to the created version line in the master branch, commit and push it.
Run npm publish --access=public to publish the first version of the component in npm. If you don't have rights to do it, contact @havanki or @ilkkalehtinen.
Finishing a new component creation
Link examples of your component in the oc-common-ui
Updating a component
Clone the repository with the component to update if you haven't done it yet.
Make a new development branch for the changes.
Update CHANGELOG.md file with your changes under next line.
Update LICENSE-3RD-PARTY.md if lib changes.
Commit and push changes (excluding lib).
Make a pull request for more than one reviewer (the more the better) from the list of contributors below.
Merge your branch with the master and delete your development branch.
Creating a release tag and publishing a npm version
Update CHANGELOG.md file by moving changes under next line to the created version line in the master branch, commit and push it.