Starter project for released React components
This is a template for releasing React components. It contains configuration for testing, building, and setting up an example page.
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
.
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
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.
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).