Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chrisprice/grunt-rollup
Grunt plugin for rollup - next-generation ES6 module bundler
https://github.com/chrisprice/grunt-rollup
Last synced: about 1 month ago
JSON representation
Grunt plugin for rollup - next-generation ES6 module bundler
- Host: GitHub
- URL: https://github.com/chrisprice/grunt-rollup
- Owner: chrisprice
- License: mit
- Created: 2015-09-13T14:36:28.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-02-11T10:12:31.000Z (almost 2 years ago)
- Last Synced: 2024-04-26T22:42:34.770Z (8 months ago)
- Language: JavaScript
- Size: 1.27 MB
- Stars: 21
- Watchers: 6
- Forks: 27
- Open Issues: 7
-
Metadata Files:
- Readme: readme.md
- Contributing: contributing.md
- Funding: .github/funding.yml
- License: license
- Code of conduct: code_of_conduct.md
Awesome Lists containing this project
- awesome - grunt-rollup - Grunt plugin for Rollup (Packages / Community Packages)
README
# grunt-rollup
[![Build Status](https://badgen.net/travis/chrisprice/grunt-rollup/master)](https://travis-ci.org/chrisprice/grunt-rollup)
[![Plugin size](https://badgen.net/packagephobia/publish/grunt-rollup)](https://packagephobia.now.sh/result?p=grunt-rollup)> Grunt plugin for [rollup](https://github.com/rollup/rollup) - next-generation ES6 module bundler
## Getting Started
This plugin requires Grunt `>=0.4.0` and node `>=8.6.0`.If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install grunt-rollup --save-dev
```Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-rollup');
```## The "rollup" task
### Overview
In your project's Gruntfile, add a section named `rollup` to the data object passed into `grunt.initConfig()`.```js
grunt.initConfig({
rollup: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
});
```### Options
Supports all the options from [rollup's JavaScript API](https://rollupjs.org/guide/en/#javascript-api).
### Sourcemaps
A value of `true` for `sourceMap` will output the map to a file with the same name as the JavaScript with `.map` appended. A value of `inline` for `sourceMap` will inline the sourcemap into the source file.
### Usage Examples
```js
grunt.initConfig({
rollup: {
options: {},
files: {
'dest/bundle.js': 'src/entry.js',
},
},
});
```### Usage with Plugins
```js
var babel = require('@rollup/plugin-babel').default;grunt.initConfig({
rollup: {
options: {
plugins: [
babel({
exclude: './node_modules/**'
})
]
},
files: {
'dest/bundle.js': 'src/entry.js',
},
},
});
```#### Plugin getter
Some plugins are stateful and this doesn't play nice with multiple bundles.
For example the `rollup-plugin-babel` plugin keeps a track of used `babel` helpers, and passing the configured plugin only once will cause the helpers to leak from one bundle to another.
To prevent that, pass a function that returns an array of plugins, like this:```js
var babel = require('rollup-plugin-babel');grunt.initConfig({
rollup: {
options: {
plugins: function() {
return [
babel({
exclude: './node_modules/**'
})
];
}
},
files: {
'dest/bundle.js': 'src/entry.js',
'dest/bundle2.js': 'src/entry2.js',
},
},
});
```This way the plugin will be refreshed for each bundle.
## Contributing
Any contributions is welcomed. Make sure to read [the contributing manual](contributing.md) for more information.### Contributors
| [![chrisprice](https://github.com/chrisprice.png?size=99)
chrisprice](https://github.com/chrisprice) | [![GMartigny](https://github.com/GMartigny.png?size=99)
GMartigny](https://github.com/GMartigny) | [![scythianfuego](https://github.com/scythianfuego.png?size=99)
scythianfuego](https://github.com/scythianfuego) |
| --- | --- | --- |
> All contributions are valued, you can add yourself to this list (or request to be added) whatever your contribution is.## License
[MIT](license)