Full featured boilerplate for building JavaScript libraries the modern way.
- 📜 Rollup.js configuration providing compatibility with different module systems (CommonJS, ECMAScript, UMD for
<script>
tags) - 🃏 Jest setup with watch mode working
- 🛀 Renovate configuration for auto updates (you have to activate it)
- 🐈 Yarn lock file with pinned devDependencies
- ✅ Travis CI setup with pinned Yarn version
- 🏗 .nvmrc file to enforce the Node.js version for contributors and continuous integration
- ⚡️ Ready to publish and use
Decide of a new library name, let's say new-super-library
(🤦🏼♀️), then in a terminal:
curl --output rollup-jest-boilerplate.zip -LOk https://github.com/algolia/rollup-jest-boilerplate/archive/master.zip
unzip rollup-jest-boilerplate.zip
rm rollup-jest-boilerplate.zip
mv rollup-jest-boilerplate new-super-library
Next steps:
- search the project for
rollup-starter-lib
and replace everywhere withnew-super-library
- start coding in src/main.js
- profit 💸
Those examples are using the live published version of this boilerplate library on npm and they run with CodeSandbox.
- ECMAScript
- CommonJS
- UMD, this leverages jsDelivr npm CDN
- Jest tests, this is the current repository loaded in CodeSandbox
To run this project, you will need:
- Node.js >= v10.5.0, use nvm - install instructions
- Yarn >= v1.7.0 - install instructions ("Alternatives" tab)
yarn
yarn test
yarn test --watch
npm publish
Based on your need, you might want to add:
- ESLint and Prettier
- TypeScript support
- Monorepo support with Lerna
- CHANGELOG.md generation with conventional-changelog
If so, please do and open pull requests when you feel like it.
I initially used rollup/rollup-starter-lib but really needed that Jest support so I did it.