This provides the starting point for creating re-usable libraries/components for React.
- Transpiler: Babel
- Bundler: Rollup (with
- Libraries: React
- Testing: Karma, Mocha, Chai, Enzyme
- Linter: ESLint
- Commit Hooks: Husky
- Code style: AirBnB
dist - Distribution files for the component test - Tests for the component src - The source of the component
dist files are not under version control, they are being generated on
npm install and
npm publish through the
prepublish hook. If you need the library to be available in a browser environment, use NPMCDN instead of linking directly to Github.
npm run build - Builds distribution npm run lint - Lints all files npm test - Lints and run tests
Choice of bundler: Why not Webpack?
I prefer rollup for libraries, because the shared scope across files resembles more of what the code what look like if I were to write the library by hand. It also saves bytes and we all know every byte counts. I prefer Webpack for apps, because Webpacks allows more or and more precise optimizations in single-page apps.
Things to improve on
- Add code coverage with coveralls
- Add badges