A collection of well-tested reusable react components, with a publicly available storybook frontend - known as Muffibook.
It also serves as an example of our shared javascript standards between projects on different tech stacks.
- App: muffibook.abtion.com
- CI: Github actions
Zip-files and download commands are available for each component on muffibook.abtion.com.
We would have to do versioning on that package, and we would risk breaking projects if we'd accidentally add a breaking change in a non-major version. Also, by not having a package, we can simply drop the components we need into the projects where we need them, and if necessary we can easily make changes to them.
In short we work this way because it allows us to move fast without breaking too much stuff.
Should the component library stabilize and expand to a point where this workflow becomes tedious, we might reconsider it.
You must have the following installed and available on your machine:
- Node JS 14.x
npm i
- Run the server:
npm start
and http://localhost:6006 - Run tests:
npm test
- Run frontend linters:
npm run lint
- Run tests with coverage:
npm test -- --coverage
- Add your component to the
components
folder (follow the file naming conventions of the existing components) - Add a story for the component (use the existing
stories
as a reference), prefix the story with 🔎.
When CI passes main is deployed to muffibook.abtion.com.
All abtioneers have write access to the repo.
To contribute get the project running locally and add your component (see developing).
When your component is ready:
- Run linters and ensure coverage is still 100%:
npm run lint
,npm test -- --coverage
- Push to main
- The component will show up on muffibook.abtion.com after a couple of minutes.