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 installnpm 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, thatrequires the external dependency. This corresponds to the"main"field in package.jsondist/how-long-till-lunch.esm.jsan ES module bundle, suitable for use in other people's libraries and applications, thatimports the external dependency. This corresponds to the"module"field in package.jsondist/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
MIT.