chrisprice/grunt-rollup(新しいタブで開きます)
主要言語: JavaScript
Grunt plugin for rollup - next-generation ES6 module bundler
- star 数
- 21
- watcher 数
- 5
- fork 数
- 27
- issue 数
- 7
- 最終更新
- 2023/02/11
主要言語: JavaScript
Grunt plugin for rollup - next-generation ES6 module bundler
Grunt plugin for rollup - next-generation ES6 module bundler
This plugin requires Grunt >=0.4.0 and node >=8.6.0.
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-rollup --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-rollup');
In your project's Gruntfile, add a section named rollup to the data object passed into grunt.initConfig().
grunt.initConfig({ rollup: { options: { // Task-specific options go here. }, your_target: { // Target-specific file lists and/or options go here. }, }, });
Supports all the options from rollup's JavaScript API.
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.
grunt.initConfig({ rollup: { options: {}, files: { 'dest/bundle.js': 'src/entry.js', }, }, });
var babel = require('@rollup/plugin-babel').default; grunt.initConfig({ rollup: { options: { plugins: [ babel({ exclude: './node_modules/**' }) ] }, files: { 'dest/bundle.js': 'src/entry.js', }, }, });
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:
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.
Any contributions is welcomed. Make sure to read the contributing manual for more information.
![]() chrisprice |
![]() GMartigny |
![]() scythianfuego |
|---|
All contributions are valued, you can add yourself to this list (or request to be added) whatever your contribution is.