/gulp-rollup-lightweight

A Gulp Plugin that makes Rollup for ES6 Bundling EASY

Primary LanguageJavaScriptMIT LicenseMIT

Travis CI Build Status NPM version NPM downloads Dependency Status Dev Dependency Status

gulp-rollup-lightweight

A Gulp plugin that makes working with Rollup easy!

  • Supports latest version of gulp (CLI 2.0.1 & local 4.0.0)
  • Supports latest version of rollup (CLI v1.4.1)

It's a thin light-weight wrapper around the Rollup JS API that wraps the Rollup Promise in a Readable Stream.

Installation

npm install --save-dev gulp-rollup-lightweight

Basic Usage

const { dest } = require('gulp');
const rollup = require('gulp-rollup-lightweight');
const source = require('vinyl-source-stream');

function bundle() {
  return rollup({
    input: './src/main.js',
    output: {
      format: 'umd'
    }
  })
  .pipe(source('app.js'))
  .pipe(dest('./dist'))
}

Usage for a mixture of ES6 & CJS Modules

const { dest } = require('gulp');
const rollup = require('gulp-rollup-lightweight');
const source = require('vinyl-source-stream');

// Helps to resolve NPM modules
const resolve = require('rollup-plugin-node-resolve');
// Used for CJS resolution
const commonjs = require('rollup-plugin-commonjs')

function bundle() {
  return rollup({
    input: './src/main.js',
    output: {
      format: 'umd'
    },
    plugins: [
      resolve(),
      commonjs()
    ]
  })
  .pipe(source('app.js'))
  .pipe(dest('./dist'))
}

Usage with custom Rollup

const { dest } = require('gulp');
const rollup = require('gulp-rollup-lightweight');
const source = require('vinyl-source-stream');

function bundle() {
  return rollup({
    // Provide your custom Rollup
    rollup: require('rollup'),
    input: './src/main.js',
    output: {
      format: 'umd'
    }
  })
  .pipe(source('app.js'))
  .pipe(dest('./dist'))
}