This repo contains a bare-bones example of how to create a library using Rollup, including importing a module from
node_modules and converting it from CommonJS.
We're creating a library called
how-long-till-lunch, which usefully tells us how long we have to wait until lunch, using the ms package:
console.log('it will be lunchtime in ' + howLongTillLunch());
Clone this repository and install its dependencies:
git clone https://github.com/rollup/rollup-starter-lib cd rollup-starter-lib npm install
npm run build builds the library to
dist, generating three files:
dist/how-long-till-lunch.cjs.jsA CommonJS bundle, suitable for use in Node.js, that
requires the external dependency. This corresponds to the
"main"field in package.json
dist/how-long-till-lunch.esm.jsan ES module bundle, suitable for use in other people's libraries and applications, that
imports the external dependency. This corresponds to the
"module"field in package.json
dist/how-long-till-lunch.umd.jsa UMD build, suitable for use in any environment (including the browser, as a
<script>tag), that includes the external dependency. This corresponds to the
"browser"field in package.json
npm run dev builds the library, then keeps rebuilding it whenever the source files change using rollup-watch.
npm test builds the library, then tests it.
- babel — illustrates writing the source code in ES2015 and transpiling it for older environments with Babel
- buble — similar, but using Bublé which is a faster alternative with less configuration
- TypeScript — uses TypeScript for type-safe code and transpiling