rollup-starter-lib
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());
Getting started
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.js
A CommonJS bundle, suitable for use in Node.js, thatrequire
s the external dependency. This corresponds to the"main"
field in package.jsondist/how-long-till-lunch.esm.js
an ES module bundle, suitable for use in other people's libraries and applications, thatimport
s the external dependency. This corresponds to the"module"
field in package.jsondist/how-long-till-lunch.umd.js
a 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.
Variations
- 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
License
MIT.