doxy-web
Unified styles + React components for Church Center Web.
Links
Getting Started
cd Code
git clone git@github.com:planningcenter/doxy-web.git
cd doxy-web
yarn install
Development Scripts
yarn start
- compiles SCSS/JS + runs Storybook using localhost
yarn develop
- compiles SCSS/JS + watches src
directory for changesyarn develop:yalc
- compiles/watches SCSS/JS and locally publishes bundled code via yalc
(this is the preferred way to test package changes locally in church-center
or proxied app - (check out the yalc development guide for more details)yarn test
- runs defined component tests using Jestyarn test:watch
- runs tests + watches src
directory for changes
Local Development Process:
- Run
yarn start
to use Storybook development environment
- In separate terminal, run
yarn develop:yalc
to watch src
for changes and push to yalc
registry - In
church-center
(or proxied app), run yalc add @planningcenter/doxy-web
to consume/test local changes
"Sandbox" Development Environment
The sandbox provides another local testing/development environment where multiple UI elements/components can be viewed simultaneously.
This is especially useful for making new CSS changes because you can see multiple instances of the UI states vs. in Storybook, where you can only toggle 1 state at a time.
- Run
yarn sandbox
(parallel command for yarn develop:yalc
& cd sandbox && yarn start
) - Follow
localhost
link in terminal to view local Parcel app
To add new views
- Add a contextually-named component to
sandbox/src/pages
directory and export from pages/index.js
- Import page/component to
src/App.jsx
and add to <Router />
with path - Add corresponding
<Link />
to src/components/Sidebar.jsx
Contributing
- New versions to
@planningcenter/doxy-web
are made using a "batched" process by deploying changes to NPM from main
. - All changes should be made using a "feature branch" forked from
main
and merged using our standard PR process. - Changes should be documented in the CHANGELOG before merging the approved PR.
Pre-release Versions
See How we pre-release on Notion for detailed instructions/exampled.
Versioning + Deploying to NPM
Refer to the Planning Center release strategy on Notion.
Deploying Storybook:
Consumable CSS
Import @planningcenter/doxy-web/dist/css/doxy-web
Importing React Components
import { Heading } from "@planningcenter/doxy-web"