Thanks for getting involved, we really appreciate the help!
Please structure your commit messages going by the AngularJS commit message convention, also known as conventional-changelog.
We're using commitlint to help enforce these guidelines, you can install commitizen to help, just follow their default setup instructions.
Examples:
Commit Message | Version Change |
---|---|
feat(Card): A new feature | Minor |
fix(Button): A bug fix | Patch |
docs(Header): Documentation only changes | None |
style(Nav): Changes that do not affect the meaning of the code (white-space, for matting, missing semi-colons, etc) | None |
refactor(Form): A code change that neither fixes a bug nor adds a feature | None |
perf(Alert): A code change that improves performance | None |
test(Dropdown): Adding missing tests or correcting existing tests | None |
build(webpack): Changes that affect the build system or external dependencies (example scopes: webpack, greenkeeper,, npm) | None |
ci(buddy): Changes to our CI configuration files and scripts (example scopes: buddy, semantic-release) | None |
chore(package): Other changes that don't modify src or test files | None |
revert(#123): Reverts a previous commit | None |
If your change breaks anything a new major version should be released. To do this your commit body needs to include 'BREAKING CHANGE:'. If you are using commitizen you will be asked about breaking changes during your commit.
Breaking changes commit example:
feat(Dropdown) rename an important prop
BREAKING CHANGE: Renames a prop that's really important
Please send a GitHub Pull Request to tabler-react with a list of what you've done and a screenshot if making visible changes to components and make sure you have followed the commit guideline below.
We try to follow semantic versioning principles. To help us do so we're using semantic-release during our CI build process on the master branch. Commit messages will be scanned and if necessary the package version will be automatically updated, tagged, released and published to npm.
The table in the 'Commit Guidelines' section details what version change, if any, your commits will result in.
This repository contains 4 folders:
- /src contains all the Tabler React components
- /example is our create-react-app based demo website
- /scripts contains some python scripts used during precommit
- /flow-typed external flow types
To setup and run a local copy:
- Clone this repo with
git clone https://github.com/tabler/tabler-react
- Run
yarn
ornpm install
in the root folder - Run
yarn
ornpm install
in the example folder - In seperate terminal windows, run
yarn start
in the root and example folders.
You should now be up and running with live browser reloading of the example website while you work on Tabler React components in the /src folder.
During precommit all .js files are run through prettier and eslint so you might find it helpful to have these running in your editor or command line.