A collection of custom elements used to render interactions.

npm install @pie-ui/ruler@2.2.28




The pie custom elements only.


yarn global add lerna
yarn install # install root package and child packages


  • the packages use independent versioning, meaning that a change in 1 package won't bump another package's version.
  • use conventional commits syntax when commiting, lerna will detect the appropriate version bump.


Action Cmd Notes
test npm test
lint npm run lint
build npm run build
release npm run release
release next npm run release:next Will release a new version tagged as next
watch scripts/watch --scope $package-name This can be useful when you have a package linked elsewhere
and what your changes in src to be picked up
demo scripts/demo --scope $package-name Will start the demo webapp targeting the scoped package
build demo npm run build:demo Builds a static version of the demo site
deploy demo npm run deploy:demo Deploys static site to pie-ui.now.sh
deploy demo dev npm run deploy:demo:next Deploys static site to pie-ui-next.now.sh

test single packages

To test an individual package you can do:

./node_modules/.bin/jest packages/calculator

running in a browser

scripts/demo $package-name


Merging to master will create a new release and build the demo site.

release @next

Merging to develop will release @next versions and build the next demo site.


  • lerna js for handling multiple packages in a mono repo
  • pie to test/build the pies

package development

  • use jest for testing - it is set up at the root of this repo.
  • file names - use kebab-case for filenames