Using create-react-app to create a library
I have managed to build library without ejecting and using internal dependencies of create react app. I've tested it with [email protected]
. At first you need to install babel-cli
:
npm install --save-dev babel-cli
create .babelrc
file with content:
{
"presets": ["react-app"]
}
Then add script to package.json
:
"compile": "NODE_ENV=production babel src --out-dir lib --copy-files",
And finally run:
npm run compile
This will compile all sources from src
to lib
directory and simply copy the remaining files. Don't forget to declare the main file in package.json
(e.g. "main"="lib/index.js"
).
However there is one caveat. If you are using files which cannot be compiled with babel (e.g. css or fonts) then the users of your library would need to set up appropriate (webpack) loaders.
Edit the following in the package.json
name
description
scripts
author
license
gitRepository
and do npm publish
. It'll publish your library in npm