Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rollup/rollup-starter-lib
Bare-bones example of how to create a library using Rollup
https://github.com/rollup/rollup-starter-lib
Last synced: 11 days ago
JSON representation
Bare-bones example of how to create a library using Rollup
- Host: GitHub
- URL: https://github.com/rollup/rollup-starter-lib
- Owner: rollup
- License: mit
- Created: 2017-07-08T23:19:55.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-11-17T06:28:02.000Z (12 months ago)
- Last Synced: 2024-08-01T05:23:02.071Z (3 months ago)
- Language: JavaScript
- Size: 184 KB
- Stars: 963
- Watchers: 9
- Forks: 229
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - rollup/rollup-starter-lib - Bare-bones example of how to create a library using Rollup (JavaScript)
- awesome-list - rollup-starter-lib - bones example of how to create a library using Rollup | rollup | 761 | (JavaScript)
- awesome - rollup-starter-lib - Create a bare-bones library using Rollup. (Packages / Community Packages)
README
# rollup-starter-lib
[![Greenkeeper badge](https://badges.greenkeeper.io/rollup/rollup-starter-lib.svg)](https://greenkeeper.io/)
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](https://github.com/zeit/ms) package:
```js
console.log('it will be lunchtime in ' + howLongTillLunch());
```## Getting started
Clone this repository and install its dependencies:
```bash
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, that `require`s the external dependency. This corresponds to the `"main"` field in package.json
* `dist/how-long-till-lunch.esm.js`
an ES module bundle, suitable for use in other people's libraries and applications, that `import`s the external dependency. This corresponds to the `"module"` field in package.json
* `dist/how-long-till-lunch.umd.js`
a UMD build, suitable for use in any environment (including the browser, as a `` 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](https://github.com/rollup/rollup-watch).
`npm test` builds the library, then tests it.
## Variations
* [babel](https://github.com/rollup/rollup-starter-lib/tree/babel) — illustrates writing the source code in ES2015 and transpiling it for older environments with [Babel](https://babeljs.io/)
* [buble](https://github.com/rollup/rollup-starter-lib/tree/buble) — similar, but using [Bublé](https://buble.surge.sh/) which is a faster alternative with less configuration
* [TypeScript](https://github.com/rollup/rollup-starter-lib/tree/typescript) — uses [TypeScript](https://www.typescriptlang.org/) for type-safe code and transpiling## License
[MIT](LICENSE).