Awesome
react-modern-library-boilerplate
Boilerplate and CLI create-react-library for publishing modern React modules with Rollup and example usage via create-react-app.
Intro
Note: Modern means modern as of March, 2018.. I'm sure everything will change in a month... :joy: :joy:
We strongly recommend that you use the accompanying CLI create-react-library to create new modules based off of this boilerplate.
The purpose of this boilerplate is to make publishing your own React components as simple as possible.
Features
- Easy-to-use CLI create-react-library
- Transpiles all modern JS features
- Bundles
cjs
andes
module formats - create-react-app for example usage and local dev
- Rollup for build process
- Babel for transpilation
- Jest for testing
- Supports complicated peer-dependencies
- Supports CSS modules
- Sourcemap creation
- Thorough documentation :heart_eyes:
Manual Setup
If you'd prefer to setup a new module manually, check out the introductory blog post and the old manual guide.
Examples
Here is an example react module created from this boilerplate: react-background-slideshow, a sexy tiled background slideshow for React. It comes with an example create-react-app hosted on github pages.
Multiple Named Exports
Here is a branch which demonstrates how to create a module with multiple named exports. The module in this branch exports two components, Foo
and Bar
, and shows how to use them from the example app.
Material-UI
Here is a branch which demonstrates how to create a module that makes use of a relatively complicated peer dependency, material-ui. It shows the power of rollup-plugin-peer-deps-external which makes it a breeze to create reusable modules that include complicated material-ui subcomponents without having them bundled as a part of your module.
License
MIT © Travis Fischer
Support my OSS work by <a href="https://twitter.com/transitive_bs">following me on twitter <img src="https://storage.googleapis.com/saasify-assets/twitter-logo.svg" alt="twitter" height="24px" align="center"></a>