@onewelcome/react-lib-components
TypeScript icon, indicating that this package has built-in type declarations

6.5.0 • Public • Published

OneWelcome React Component Library

CircleCI status Quality Gate Status Vulnerabilities Coverage

This project provides React components built according to the OneWelcome design. We recommend visiting our Storybook page to see the components in action.

Note: the package is publicly available on npm.

Commands

Component library

When you are developing for the component library, you're going to want to run the Typescript compiler, test watcher and storybook. Please see the commands below for more information.

Run the Typescript compiler:

npm start

This builds to /dist and runs the project in watch mode so any edits you save inside src causes a rebuild to /dist.

To run tests, use npm test

npm test

For running and watching tests, use npm test -- --watch.

npm test -- --watch

Storybook

Run Storybook locally:

npm run storybook

All at once

When developing stories, components and tests at the same time, it may be easier to run the command npm run dev. This will run the commands start, test:watch and storybook in parallel.

npm run dev

Development

Please see the CONTRIBUTING.md file for information on how to develop for the Component Library.

Adding new icons

See adding icons to font manual

Code quality

Code quality is set up for you with prettier, husky, and lint-staged. This is to ensure that formatting is the same in every file of the component library. If you would like to suggest a change, please let the SASSy team know.

Bundle analysis

Calculates the real cost of your library using size-limit with npm run size and visualise it with npm run analyze.

Rollup

We use Rollup as a bundler and generate multiple rollup configs for various module formats and build settings. We output both CommonJS and Ecmascript Modules format. Treeshaking is supported and will work if your application is setup correctly and is built for production.

TypeScript

tsconfig.json is set up to interpret dom and esnext types, as well as react for jsx. Adjust according to your needs.

Release

The publishing process is fired by git tag creation. CircleCI builds a package and publishes it to the public npmjs.com registry. Release notes should be provided via GitHub UI. After a successful release, the release notes are published via Slack.

Creating a release

Follow these steps to create a release:

  • note all changes introduced from the last release
  • create a release on the GitHub repository page:
    • determine new version (bugfix/minor/major)
    • put proper release notes based on previous releases
    • click on the CREATE RELEASE button
  • check if the release is published on https://www.npmjs.com/package/@onewelcome/react-lib-components

/@onewelcome/react-lib-components/

    Package Sidebar

    Install

    npm i @onewelcome/react-lib-components

    Weekly Downloads

    74

    Version

    6.5.0

    License

    Apache-2.0

    Unpacked Size

    3.99 MB

    Total Files

    1329

    Last publish

    Collaborators

    • ana-mariastratulat
    • ioprea99
    • ylithales
    • osvso
    • ana-maria.stratulat
    • adam.klinkosz
    • pawel.remiszewski.thales
    • yannick.gadimi
    • piotr.czarnecki
    • andreini
    • karolrom-thales
    • hubert.krasnodebski.thales
    • anegapatan
    • niranjan.litu
    • handelbatista
    • bamanuelthales
    • muein.muzamil
    • shehryar.ahmed
    • cristian.stan
    • anamikathales
    • arushi_21
    • grchis
    • amit-a.agrawal
    • vaisgoel
    • dayasakti-2020
    • vlee-thales
    • tkokasih-thalesgroup
    • lihzheng87
    • bahari-ilmy
    • gong-thalesgroup
    • wthabet
    • ankit-thales
    • mihai.petrica
    • jagdeep.singh
    • nickleguerrier
    • binxu.thalesgroup
    • aleknow
    • bartvanderschans
    • dieter.derouck
    • dzaow
    • tpieczko-ow
    • thalesankit
    • hitesh-k-ow
    • arjannl
    • akhanna
    • mihaizhao
    • moldovansergiu
    • thalesvvikas
    • paulvriens
    • thalesshubham
    • shrawan.bhagwat
    • jmpavlec
    • iosif.bujor
    • neleflow123
    • rogier.vandernoordaa
    • michal.gorski
    • kubaslowikowskiow
    • dirkstals
    • lode
    • pawel-napieracz
    • elias.serneels