Skip to content
This repository has been archived by the owner on Mar 3, 2023. It is now read-only.

Latest commit

 

History

History
85 lines (58 loc) · 3.13 KB

README.md

File metadata and controls

85 lines (58 loc) · 3.13 KB

📚 rollup-jest-boilerplate

Full featured boilerplate for building JavaScript libraries the modern way.

Features

  • 📜 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 via https://github.com/apps/renovate)
  • 🐈 Yarn with lock file, pinned devDependencies and fixed Yarn version in .yarnrc using Yarn policies
  • Travis CI
  • 🏗 .nvmrc file to enforce the Node.js version for contributors and continuous integration
  • ⚡️ Ready to publish and use

How to 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-master new-super-library

Next steps:

  • search the project for rollup-starter-lib and replace everywhere with new-super-library
  • start coding in src/main.js
  • profit 💸

Live examples

Those examples are using the live published version of this boilerplate library on npm and they run with CodeSandbox.

Developer environment requirements

To run this project, you will need:

Running tests

yarn
yarn test
yarn test --watch

Dev mode

When developing you can run:

yarn watch

This will regenerate the build files each time a source file is changed and serve on http://127.0.0.1:5000.

Previewing umd build in the browser

If your package works in the browser, you can open dev/index.html to try it out.

Publishing

npm publish

Additional tooling

Based on your need, you might want to add:

If so, please do and open pull requests when you feel like it.

Original idea

I initially used rollup/rollup-starter-lib but really needed that Jest support so I did it.