@hardquar/sunnies v0.0.1
What is Sunnies?
This is a component library to be consumed in React and React Native. More notes to come.
Local development
In the project root run the following:
$ yarn
$ yarn dev
Tooling
Add the following to your VSCode editor's settings to get linting to work in the IDE:
"eslint.validate": [
"javascript",
"javascriptreact",
{
"language": "typescript",
"autoFix": true
},
{
"language": "typescriptreact",
"autoFix": true
}
]
Local consumption
(Linking and Unlinking)
To link your local @hardquar/sunnies
with your local project, run:
$ yarn workspace @hardquar/sunnies link && yarn workspace @hardquar/sunnies watch
(wait until you see a message that X files have been successfully compiled before moving on)
$ cd ../<your_project> && yarn link @hardquar/sunnies && yarn start
To unlink your local @hardquar/sunnies
from your local project, run (in <your_project>):
$ yarn unlink @hardquar/sunnies
$ yarn add @hardquar/sunnies
$ yarn start
Development process
How to contribute
If you'd like to add a new component to Sunnies
please:
- Create an issue using the component spec template. That'll give both design and engineering a chance to peek at the proposal and provide feedback before moving forward.
- Create a feature branch and perform any work you are doing.
- Create a pull request using the feature branch template.
Note: Any breaking changes should be noted in CHANGELOG.md
.
Commits and Deployments
Sunnies
uses auto-release to automatically release on every PR. Every PR should have a label that matches one of the following
- Version: Trivial
- Version: Patch
- Version: Minor
- Version: Major
Major, minor, and patch will cause a new release to be generated. Use major for breaking changes, minor for new non-breaking features, and patch for bug fixes. Trivial will not cause a release and should be used when updating documentation or non-project code.
If you don't want to release on a particular PR but the changes aren't trivial then use the Skip Release
tag along side the appropriate version tag.
Publishing
Run the following to publish to NPM:
npm publish --access public
Inspirations
- Material-UI
- Lucid
- Palette
5 years ago