Skip to content

42BV/ui

Repository files navigation

42 BV

Components that are commonly used within 42.nl products.

Build status Coverage Greenkeeper


Migrate to v5

We released a new version of this library with lots of changes. Be sure to check out our migration guide.


Installation

Setup

# with yarn
yarn add @42.nl/ui

# with npm
npm i @42.nl/ui --save

Contributing

Detailled steps can be found at https://42bv.github.io/ui.

Setup

  1. Ensure you have Node.js 10.13+ installed.
  2. Git clone the repository.
  3. From the root of the repository, run npm i to install the dependencies required for development.

Testing

First follow the build instructions above. Then to run both the linters and tests, use:

npm test

Or to run them separately, use:

npm run lint
npm run test:ts
npm run test:coverage

Development

We use Storybook to test our components during development. To start up a local storybook, run npm start from the root directory.

Also make sure the test coverage is 100%. To run the tests automatically on every change, run npm run test:watch from the root directory.

If all tests pass, the test coverage is 100% and you want to test the changes in a project of your choice, you can create a local release.

Local release

To prevent multiple prelease publishes for a single feature, we recommend using Verdaccio. Verdaccio enables you to spin up a local NPM registry which in turn allows us to publish multiple versions for testing purposes without polluting the version in NPM.

We recommend the Docker approach instead of locally installing Verdaccio. If you do not want to use Docker, refer to the Verdaccio documentation.

To publish to the Verdaccio registry run npm run dev:publish this will spin up Verdaccio and publish.

You can view Verdaccio here: http://localhost:4873/ it should after a successful dev publish show the packages here.

To verify the release, install @42.nl/ui from the Verdaccio registry in a project of your choice by running: npm install --registry http://localhost:4873.

Now you can test the package locally without a publish to the actual NPM registry.