/react-components

Collection of general React components used in buildo projects.

Primary LanguageTypeScriptMIT LicenseMIT

Build Status npm dependencies Status

React Components

This is a collection of reusable React components used at buildo.

Its purpose is to give access to all these components through a single npm dependency so to improve the development experience and make eventual changes of library easier, faster and centralized.

Install

npm install --save buildo-react-components

Showroom

http://react-components.buildo.io/

Usage

Each component is stored inside its own folder (useful for small bundles). You can import each package directly from the main lib:

import { Panel, SingleDropdown, Popover } from 'buildo-react-components';

Or from the package folder:

import Button from 'buildo-react-components/lib/Button';

NOTE: If you installed it as a GitHub dependency (npm i --save buildo/react-component) then import from /src:

import Button from 'buildo-react-components/src/button';

Semver

Until buildo-react-components reaches a 1.0 release, breaking changes will be released with a new minor version. For example in 0.5.1, and 0.5.4 every component will have the same expected output, but in 0.6.0 at least one component will have breaking changes.

Every change (new features, fixes and breaking changes) is listed in CHANGELOG.md. To know more read the changelog section

Publish on npm

To publish a new version you must:

  • be authenticated in npm and authorized to publish buildo libraries
  • run npm run release

a powerful node script will do the rest for you :)

  • throw error if not on "master"
  • throw error if not in sync with "remote"
  • automatically detect if release should be "breaking"
  • run linters and tests
  • increase version (breaking|patch)
  • publish new version on npm
  • push work on origin

Changelog

CHANGELOG.md

CHANGELOG.md is updated after every commit on master automatically by the CI.

Closed issues are grouped in one of these three sections:

  • "Breaking"
  • "Fixes (bugs & defects)"
  • "New features"

In order to separate issues in the above groups the script uses their labels.

IMPORTANT: Please remember to mark any breaking issue with the label "breaking".