## Version Control As a standard Hyve extends Vincent Driessen's [GitFlow](https://datasift.github.io/gitflow/IntroducingGitFlow.html), with additions. GitFlow and Hyve's additions are explained briefly below:
#### Smart Commits
If your commit relates to a particular JIRA task, then add the task ID into the commit for tracking purposes.
eg:
```
$ git commit -m "[SRM-98]: This is my commit message"
#### Group Tokens
Use pre-defined "grouping" tokens in front of your branch names.
eg:
``
feature/api-authentication
hotfix/user-control-dropdown
release/rc-4.2
suggestion/model-user
#### Branch Naming
##### Feature Branch
eg: feature/branch-name
Contains a large, fully spec'd, addition to the codebase.
__Always merge through a Pull Request.__
##### Suggestion Branch
eg: suggestion/branch-name
Useful when making suggestions as to a better/more efficient way to adapt the architecture of a particular piece of code
in the application. Use the PR as a place to discuss the suggestion.
__Always merge through a Pull Request.__
##### Hotfix Branch
eg: hotfix/branch-name
Used when making emergency changes to the codebase while ensuring that only the master branch will be effected. Important to
rebase master into develop and your localfeature or suggestion branches after a hotfix was deployed.
Please remember to __[version tag]__ a hotfix branch.
##### Develop Branch
Always: develop
contains the latest accepted but untested features or suggestions as spec'd by the team for a particular version.
##### Master Branch
Always: master
The latest tested, stable and deployable code.
Only hotfixes are merged directly into master.
Please remmeber to __[version tag]__ the official release off the master branch.
- launch the Storybook server
* npm run clean - removes the lib folder
* npm run build - transpile src code to lib folder
* npm version patch / npm version minor / npm version major - updated official release version (this will
automatically update the package.json versionPublishing to NPM
When publishing to NPM we only want to publish our lib folder. Usually, Node will look for a main file within the
module folder called index.js, therefor it is necessary to override this behaviour. To specify an alternative path,
update package.json to contain a key named main that specifies the path to the main file.Components List
* Accordion
* ActionMenu
* ActionsGroup
* Alert
* ArrowButton
* ArrowToggle
* Avatar
* Badge
* Board
* Breadcrumb
* Button
* Checkbox
* ColorPicker
* DisplayContent
* Dropdown
* Else
* Grid
* Form
* FormSection
* FormWrapperSubmit
* Header
* Hint
* HiddenContent
* IconAction
* ImagePicker
* Input
* Label
* Modal
* ModalActions
* ModalContent
* ListSearchInput
* MultiCrossSelect
* MultiCrossSelectRow
* MultiCrossSelectRowFlag
* MultiCrossSelectRowAccordion
* Navigation
* NavigationLink
* Notification
* NotificationsWrapper
* Panel
* RadioButton
* RangeToggle
* ResetButton
* Select
* SelectRow
* SearchInput
* SectionActions
* SpinnerLoader
* Status
* StatusAction
* SubTabs
* TabItem
* TextArea
* TextButton
* Tabs
* TextToggle
* Toggle
* ValidationError#####Table Components
*
Table
* TableStatic
* TableAction
* TableBody
* TableCell
* TableCellLink
* TableCellVertical
* TableHead
* TableHeadCell
* TableHeadCellSort
* TableMessage
* TablePagination
* TableRow
* TableBodyType
* TableHeadType
* TableSearchType
* SearchInputWithBulkActions#####Helper Functions
#####HOOKs
*
useForm
* useModal#####HOCs
*
withForm
* withSort
* withSearch
* withPaginate##### Utilities
*
getTheme
* uniqueKey`