• Stars
    star
    299
  • Rank 139,269 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 6 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Boilerplate for creating React component libraries, bundled with Rollup.js to ESM and/or CJS Modules, Storybook, Typescript

Getting started

There are two methods for getting started with this repo.

Familiar with Git?

git clone [email protected]:KaiHotz/react-rollup-boilerplate.git
cd react-rollup-boilerplate
yarn install

Not Familiar with Git?

Click here to download the .zip file. Extract the contents of the zip file, then open your terminal, change to the project directory, and:

yarn install

Developing

To start the developing run :

yarn start

This will build a version of your library, run the watcher and also run Storybook. To open Storybook manually open your Browser and navigate to http://localhost:6060. Start developing your components in src/components folder and update the src/index.js file accordingly. Always provide an YourComponent.story.tsx file, so your component will show up in Storybook.

You can refer to example Button component, but I think you'll get the idea.

Proposals (Babel)

For smoother development some Babel plugin are included

Styling your components

SCSS and CSS are supported out of the box just import your styles into your component like you normally would do. For the use of CSS Modules refer to rollup-plugin-postcss

Testing

Testing is done with Jest and @testing-library/react You can refer to Button.test.js as an example.

yarn test

or (for getting coverage)

yarn test:coverage

Linting

Linting is set up through ESLint and configured with eslint-config-react-app and eslint-config-prettier. You can modify linting rules by overriding them in the .eslintrc.json file.

yarn lint

or (if automatic fixing is possible)

yarn lint:fix

Publishing your library to NPM

To release your library to NPM or your private Registry, make sure you have an active account at NPM, your .npmrc file is correctly setup and the repository url in package.json file is set to your repository url, then:

yarn release

Storybook

For custom layouts, styling and more information about Storybook, please refer to Storybook documentation.

Deploy Storybook to GitHub Pages

Make sure the repository url in package.json file is set to your repository url, then:

yarn deploy

Scripts

  • yarn start : Only serves Storybook.
  • yarn build : Builds your library (build can be found in dist folder).
  • yarn storybook:build : Builds the static Storybook in case you want to deploy it.
  • yarn test : Runs the tests.
  • yarn test:coverage: Runs the test and shows the coverage.
  • yarn lint : Runs the linter, Typescript typecheck and stylelint.
  • yarn lint:fix : Runs the linter, Typescript typecheck and stylelint and fixes automatic fixable issues.
  • yarn eslint: Runs only the JavaScript linter.
  • yarn eslint:fix: Runs only the JavaScript linter and fixes automatic fixable issues.
  • yarn stylelint: Runs only the style linter.
  • yarn stylelint:fix: Runs only the style linter and fixes automatic fixable issues.
  • yarn check-types: Runs typescript type checker.
  • yarn release : Publishes your Library on NPM or your private Registry (depending on your config in your .npmrc file).
  • yarn deploy: Deploys the Styleguide to GitHub Pages.

Resources

Bundler

Code Formatter

Storybook

Testing

Linting

Compiler

More Repositories

1

react-formik-ui

A simple component library, composed out of pure HTML form elements to make your live easier composing forms with Formik and React
TypeScript
162
star
2

React-PhoneNr-Input

An intuitive phone number input with country selector for international and national phone numbers
TypeScript
74
star
3

React-Redux-Saga-Advanced-Starter

Boilerplate for Advanced usage with React, Redux, React-Router-Redux, Redux-Saga, Immutable, Reselect, Recompose, Axios, HMR, Babel v7, Jest, Eslint, and more
JavaScript
66
star
4

React-Calculator-App

The Apple MacOs/iOS calculator app rebuild using React
TypeScript
54
star
5

React-Redux-Simple-Starter

Boilerplate project to get started wit React and Redux
JavaScript
10
star
6

React-Analog-Clock

Simple Analog Clock done with React and Styled Components
JavaScript
7
star
7

jQuery-Age-Gate-Plugin

Very configuralable Age verification, Age Gate or agegate, plugin required by some content providers for mature content.
JavaScript
5
star
8

Scss-Mixin-Collection

A Collection of several Scss Mixins and Functions
CSS
3
star
9

Scss-Dynamic-Sprite

Scss Mixing for Dynamic Sprite
CSS
3
star
10

React-Redux-GitHub-User-Search

A simple GitHub User Repo search app done wit react-redux
JavaScript
2
star
11

Scss-Circular-Progress

Scss Mixing for Circular Progress Bar
CSS
2
star
12

jQuery-Image-Rotator-Plugin

jQuery Image Rotator Plugin with preview on Next and Prev buttons
JavaScript
2
star
13

jQuery-Drupal-Webform-Validation-Plugin

jQuery Plugin for Drupal Webform Validation
JavaScript
2
star
14

React-Redux-Trip-Sorter-material-ui

Select your departure and destination, sort them by Cheapest or Fastest option
JavaScript
2
star
15

React-Mac-Calculator

The same Calculator as React-Calculator-App repo, but bundled with Rollup into an ES6 Module as a library
TypeScript
1
star
16

Scss-Animated-Circular-Progress

Scss code for an animated circular progress bar
CSS
1
star
17

React-Redux-Blog-Post-App

A small Blog Post app done with React-Redux, react-router v4 and redux-form v6
JavaScript
1
star
18

AirBnB-search

React Redux app to search AirBnB listings
JavaScript
1
star
19

gh-trends

A clone of the GitHub Trending page done 100% with React and GitHubs @primer component libraries
TypeScript
1
star
20

ReactJs-Youtube-Video-Player

Modern ReactJs YouTube Video Player with a Search Bar,Result List and Video Details using Youtube API
JavaScript
1
star
21

jQuery-Picture-Inject

Simple jQuery plugin that converts data-file-image-desktop and data-file-image-mobile attributes and converts them into html5 <picture> tag, realy usefull on any headless CMS
JavaScript
1
star
22

ReactJs-Github-User-Repo-List

App that lets you search for any Github username and list the available repos for this user
JavaScript
1
star