README
Committed Hooks
Committed hooks library
For documentation see https://https://hooks.committed.software
Install
yarn add @committed/hooks
Usage
import * as React from 'react'
import { useHook } from '@committed/hooks'
// Or
// import { useHook } from '@committed/hooks/useHook'
const Example = (props) => {
const { hook } = useHook()
// ...
return <Component />
}
Development
The main build is performed using Rollup:
yarn build
We use storybook to develop and document the components, this is run in development using
yarn storybook
There is also an example folder that can be used to test the library in it's built form. The recommended workflow is to run two terminals, in the first run
yarn start
This builds to /dist
and runs the project in watch mode so any edits you save inside src
causes a rebuild to /dist
.
Then run either Storybook or the example playground:
Storybook
Run inside another terminal:
yarn storybook
This loads the stories from ./stories
.
NOTE: Stories should reference the components as if using the library, similar to the example playground. This means importing from the root project directory. This has been aliased in the tsconfig and the storybook webpack config as a helper.
Example
Then run the example inside another:
cd example
yarn # if first time
yarn start
The default example imports and live reloads whatever is in /dist
, so if you are seeing an out of date component, make sure start
is running in watch mode like we recommend above. No symlinking required, we use Parcel's aliasing.
Test+
To run tests, use yarn test
and formatting with yarn format
and linting with yarn lint
.
Bundle analysis
Calculates the real cost of your library using size-limit with yarn size
and visualize it with yarn analyze
.
React Testing Library
Import setupTests.tsx
in your test files to use react-testing-library
.
Continuous Integration
GitHub Actions
Two actions are added by default:
build
which installs deps w/ cache, lints, tests, and builds.release
triggered on release with (commented) options to publish and deploy storybooksize
which comments cost comparison of your library on every pull request using size-limit
License
MIT - © Committed Software 2020 https://committed.io