@daisypayments/petals
v0.2.3
Published
Reusable front end components to be used across Daisy Payments
Downloads
59
Keywords
Readme
@daisypayments/petals
Reusable UI Components to be used across Daisy Payments
Dependencies
Run yarn install
to install depencencies.
Usage
Add this to your project by running:
yarn add @daisypayments/petals
Add peer dependencies:
yarn add lodash polished prop-types react-media styled-components
Development
We are using storybook as a UI development environment. Open storybook by running:
yarn storybook
It should open automatically at http://localhost:6006.
Local development along other projects
To add this package as a local dependency in your local projects we use yalc.
Why yalc? Take a look a this issue: "yarn knit": a better "yarn link" #1213
In short words: yalc makes a copy of this package as it was published into a npm registry, avoiding the usage of yarn link
which creates a symlink including source files and node_modules
leading to multiple dependencies being used in the development environment.
Steps
Follow these steps to use @daisypayments/petals
in another frontend-project
package:
Install
yalc
cli tool globally by running:yarn global add yalc
<<<<<<< Updated upstream
Publish
@daisypayments/petals
to your local~/.yalc
folder by running in@daisypayments/petals
folder:yalc publish
Go to
frontend-project
folder and link@daisypayments/petals
published version:yalc link @daisypayments/petals
Run
yarn install
to install dependencies, then add.yalc/
andyalc.lock
tofrontend-project
's.gitignore
Publish changes and update linked installations of
@daisypayments/petals
by running in its folder:yarn push # equivalent to `yarn build && yalc push`
To do this automatically when files change in
src/
folder run:yarn dev # equivalent to `nodemon --watch src --exec yarn push`
Caveats
yalc link @daisypayments/petals
will leave a symlink insidenode_modules
, if you ever want to go back to the version downloaded from npm, remove it and install it again.- Some projects need to recompile: since components are being imported from
node_modules
they will be cached by bundlers and changes won't be reflected right away.
Publishing to NPM
Once your PR has been approved, squash and merge the feature branch into
develop
.Locally, checkout
develop
, pull, and increment the version of the package:git checkout develop git pull yarn version
Push the updated
develop
branch and the associated tag:git push git push origin <new_tag_name>
Create a new PR to merge
develop
intomaster
with a title following the format "Master < Develop <new_tag_name>"Once the team approves, merge the PR (normally, without squashing or rebasing). CircleCI will automatically publish to NPM if all tests pass. Always verify that everything worked here and on npm.