CLI for creating reusable, modern React libraries using Rollup and create-react-app.
- Easy-to-use CLI
- Handles all modern JS features
- Bundles
cjs
andes
module formats - create-react-app for example usage and local dev
- Rollup for bundling
- Babel for transpiling
- Supports complicated peer-dependencies
- Hundreds of public modules created
- Thorough documentation 😍
This package requires node >= 4
, but we recommend node >= 8
.
npm install -g cralib
npx cralib
(npx comes with npm 5.2+ and higher, see instructions for older npm versions)
cralib
Answer some basic prompts about your module, and then the CLI will perform the following steps:
- copy over the template
- install dependencies via yarn or npm
- link packages together for local development
- initialize local git repo
At this point, your new module should resemble this screenshot and is all setup for local development.
Now, anytime you make a change to your library in packages/library/src/
or to the example app's example/src
, create-react-app
will live-reload your local dev server so you can iterate on your component in real-time.
npm publish
This builds cjs
and es
versions of your module to dist/
and then publishes your module to npm
.
Make sure that any npm modules you want as peer dependencies are properly marked as peerDependencies
in package.json
. The rollup config will automatically recognize them as peers and not try to bundle them in your module.
npm run deploy
This creates a production build of the example create-react-app
that showcases your library and then runs gh-pages
to deploy the resulting bundle.
MIT © GroverTB