https://github.com/charto/autoroll
Rollup autoconfigurator
https://github.com/charto/autoroll
Last synced: 5 months ago
JSON representation
Rollup autoconfigurator
- Host: GitHub
- URL: https://github.com/charto/autoroll
- Owner: charto
- License: mit
- Created: 2018-10-30T23:52:09.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-03T15:28:41.000Z (over 6 years ago)
- Last Synced: 2025-06-30T08:12:34.904Z (7 months ago)
- Language: JavaScript
- Size: 5.86 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# autoroll
[](https://www.npmjs.com/package/autoroll)
[](https://david-dm.org/charto/autoroll)
[](https://packagephobia.now.sh/result?p=autoroll)
[](https://raw.githubusercontent.com/charto/autoroll/master/LICENSE)
This is a multipurpose configuration file for [rollup](https://rollupjs.org/).
It reads your `package.json` file and automatically extracts relevant information.
## Usage
Put this in your `rollup.config.js`:
```JavaScript
module.exports = require('autoroll')();
```
That's all. Now it generates UMD bundles from ES6 sources.
Entry point paths are configured in de facto standard `package.json` fields which you should set up anyway:
- `browser`
- `main`
- `module`
If you have dependencies, to avoid bloat they don't get bundled by default.
You can include specific dependencies in the UMD bundle by listing them in `rollup.config.js`:
```JavaScript
module.exports = require('autoroll')(
{
include: [
'some',
'dependencies'
]
}
);
```
They are looked up from the current working directory (package root in npm scripts), under `node_modules`.
Each package should have a `package.json` file with a `module` or `main` field defining an ES6 entry point.
There is special support for [boennemann/alle](https://github.com/boennemann/alle#readme).
If an `alle`-style directory contains a subdirectory `node_modules` with several packages belonging to the same monorepo,
`autoroll` can create a separate bundle for each one. Entry points and bundle paths are configured in
`package.json` files for each package.
For example packages under `packages/node_modules` can be bundled with the following `rollup.config.js`:
```
module.exports = require('autoroll')({ alle: 'packages' });
```
Any more complicated setup should use a traditional rollup config file with plugins like
[rollup-plugin-node-resolve](https://github.com/rollup/rollup-plugin-node-resolve) and
[rollup-plugin-commonjs](https://github.com/rollup/rollup-plugin-commonjs).
This package is for avoiding build system bloat in simpler cases.
For testing packages with old Node.js versions (lack of modern JavaScript features can resemble old mobile browsers),
it can be helpful to run `rollup` conditionally in package scripts using the included `checkver` tool:
```json
{
"prepublish": "(checkver ge 5.0.0 && rollup -c)"
}
```
# License
[The MIT License](https://raw.githubusercontent.com/charto/autoroll/master/LICENSE)
Copyright (c) 2018- BusFaster Ltd