Skip to content

aurbano/react-component-starter

Repository files navigation

React-Component-Starter

Starter project for released React components

Travis npm Coverage Status npm npm Codacy grade

This is a template for releasing React components. It contains configuration for testing, building, and setting up an example page.

Getting started

Download this repository into yours, and replace all mentions of react-component-starter and react-cs with the name of your npm package.

Install linklocal - this allows you to work on the example using the local version of your package as a symlink:

$ npm i -g linklocal

Place your component source files in src/, and make sure that the main component file is called index.js.

Testing

Tests can be added as necessary to the test/ directory, there is an example one provided already.

Everything is configured already to send coverage reports to codacy and coveralls, so all you need is to go to their website and add the repository.

For codacy you'll need to add the CODACY_PROJECT_TOKEN env variable to your .travis.yml file:

$ travis encrypt CODACY_PROJECT_TOKEN={token here} --add

Building

All the build steps have been set into the following:

$ npm run build

This will run the source through Babel, remove flow types (and generate the appropriate .flow.js files) and place everything in the dist folder. It will also minify your index.js file for disting.

If you have multiple files you want minified you'll have to change the build:minify script in your package.json file.

Example page

One of the biggest time saving features (for me at least) is a pre-configured example page. Just place anything you want in example/app and it will be built using create-react-app.

To deploy that to gh-pages simply run npm run deploy (this will build your example app first as well).