Digital Paper Edit - React Components Catalogue
The Storybook
---> Work in progress <--
! What is published in the Storybook may be different to what is being actively used in Digital-Paper-Edit-Client, as the components are currently being migrated. !
This repository uses storybook to gather the components of the React front end. You can read about the "why" in this ADR.
See here for the overall project architecture.
Setup
git clone git@github.com:bbc/digital-paper-edit-storybook.git
cd digital-paper-edit-storybook
Optional step to setup nvm to use node version 10, otherwise just use node version 10
nvm use || nvm install
in root of project
npm install
Usage - development
Start the storybook
npm start
Storybook is at http://localhost:6006/
Linking storybook to the Firebase app for development
In this repo, run:
npm run link:setup
In another terminal window:
npm run link
When finished, run:
npm run unlink
Usage - production
npm install @bbc/digital-paper-edit-storybook
System Architecture
Development env
Node version is set in node version manager .nvmrc
Build
To transpile ./src
and create a build in the ./dist
folder, run:
npm run build
Demo & storybook
Build - storybook
To build the storybook as a static site
npm run build-storybook
Publish storybook & demo to github pages
This github repository uses github pages to host the storybook and the demo of the component. Make sure to commit and push any changes to MASTER before deploying to github pages.
npm run publish-ghpages
Alternatively, if you simply want to build the demo locally in the build
folder then just
npm run build-storybook
Tests
Test coverage using jest
, to run tests
npm run test
Travis CI
On commit, - this repo uses the .travis.yml config to run the automated test on travis CI.
Deployment
NPM
Note that only README.md
and the dist
folders are published to NPM.
New releases
- Go into the
release
branch and pull the new changes from master
. - Commit or push changes to the remote branch of
release
- Find corresponding changes in Travis
If you had to make changes in release
, make sure that the release
is equivalent to master
!
Locally, using the NPM cli
To push to npm - @bbc/digital-paper-edit-storybook
login into npm
npm run publish-public
This runs npm run build
and npm publish --access public
under the hood
Contributing
See CONTRIBUTING.md guidelines and CODE_OF_CONDUCT.md guidelines.
Licence
See LICENCE
Legal Disclaimer
Despite using React, the BBC is not promoting any Facebook products or other commercial interest.