Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@electric-eloquence/gulp

The streaming build system (v3 with long-term support)

build, gulp, gulp 3, long, long-term, long-term support, lts, stream, streaming, support, system, term

readme

gulp 3 lts

The streaming build system

Known Vulnerabilities Linux Build Status Mac Build Status Windows Build Status Coverage Status License

This package provides long-term support for gulp at major version 3.

This includes maintenance fixes and security updates.

The scoping of this package makes it an entirely different package from unscoped gulp and precludes any access from any gulp plugins if it is installed with the usual npm install @electric-eloquence/gulp command.

Instead, follow these instructions:

Install

  • Latest version (without Git):
    • npm install https://github.com/electric-eloquence/gulp/tarball/v3-lts@3.9.17
    • Or add "gulp": "https://github.com/electric-eloquence/gulp/tarball/v3-lts@3.9.17" as a dependency in package.json.
  • Latest version (with Git):
    • npm install electric-eloquence/gulp
  • Specific version (with Git):
    • npm install electric-eloquence/gulp#3.9.17
  • Semver range (with Git):
    • npm install electric-eloquence/gulp#semver:^3.9.17
  • When installed one of these ways, other packages depending on gulp will get gulp 3 with long-term support.

What is gulp?

  • Automation - gulp is a toolkit that helps you automate painful or time-consuming tasks in your development workflow.
  • Platform-agnostic - Integrations are built into all major IDEs and people are using gulp with PHP, .NET, Node.js, Java, and other platforms.
  • Strong Ecosystem - Use npm modules to do anything you want + over 2000 curated plugins for streaming file transformations.
  • Simple - By providing only a minimal API surface, gulp is easy to learn and simple to use.

Documentation

For a Getting Started guide, API docs, recipes, making a plugin, etc. check out our docs!

Sample gulpfile.js

This file will give you a taste of what gulp does.

var gulp = require('gulp');
var coffee = require('gulp-coffee');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var imagemin = require('gulp-imagemin');
var sourcemaps = require('gulp-sourcemaps');
var del = require('del');

var paths = {
  scripts: ['client/js/**/*.coffee', '!client/external/**/*.coffee'],
  images: 'client/img/**/*'
};

gulp.task('clean', function() {
  // Not all tasks need to use streams.
  // A gulpfile is just another node program and you can use any package
  // available on npm.
  return del(['build']);
});

gulp.task('scripts', ['clean'], function() {
  // Minify and copy all JavaScript (except vendor scripts) with
  // sourcemaps all the way down.
  return gulp.src(paths.scripts)
    .pipe(sourcemaps.init())
      .pipe(coffee())
      .pipe(uglify())
      .pipe(concat('all.min.js'))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest('build/js'));
});

gulp.task('imagemin', function() {
  // Minify and copy all static images.
  return gulp.src(paths.images)
    // Pass in options to the task
    .pipe(imagemin({ optimizationLevel: 5 }))
    .pipe(gulp.dest('build/img'));
});

gulp.task('images', function(cb) {
  // The run-sequence package and method are now internal to gulp
  // and will receive long-term support for the life of gulp 3 lts.
  // https://github.com/OverZealous/run-sequence
  gulp.runSeq( // or gulp.runSequence
    'clean',
    'imagemin',
    cb
  );
});

// Rerun the task when a file changes.
gulp.task('watch', function() {
  gulp.watch(paths.scripts, ['scripts']);
  gulp.watch(paths.images, ['images']);
});

// The default task (called when you run `gulp` from cli).
gulp.task('default', ['watch', 'scripts', 'images']);

Troubleshooting Installation

  • npm ERR! code EINTEGRITY
    • If npm warns that the tarball seems to be corrupted, delete your package-lock.json, and install again.

Acknowledgments

This package is forked from the upstream source with the same name. This fork is mostly derivative and adds little functionality. Credit and gratitude are due for the contributors to the source. It is our intent to work in their favor by maintaining an older version of their project, which may otherwise be burdensome for them to commit time to.

changelog

gulp changelog

3.9.19

  • Bumped fined and plugin-error dependencies in order to update is-plain-object

3.9.18

  • Bumped dependencies
  • Updated dev environments
  • Updated documentation

3.9.17

  • Updated dependency tree to no longer contain glob-parent and its regex dos vulnerability

3.9.16

  • Bumped dependency minimist version to fix vulnerability
  • Bumped devDependency mkdirp version

3.9.15

  • Added runSeq documentation to readme

3.9.14

  • Purely internal maintenance updates

3.9.13

  • Updated internal run-sequence (gulp.runSeq) to run in Node 13

3.9.12

  • Nested dependencies downgraded to avoid redundant npm downloads

3.9.11

  • Nested dependencies downgraded to avoid redundant npm downloads

3.9.10

  • Fixed bin CLI for npm usage

3.9.9

  • Updated package.json to fix installation of bin file
  • Lessened the weight of dependencies for the bin CLI
  • Added tests for the bin CLI
  • Greatly reduced the overall number of NPM dependencies

3.9.8

  • Unpublished

3.9.7

  • Using vinyl-fs lts v3.0.4
  • Letting chokidar disable fsevents for macOS El Capitan and lower

3.9.6

  • Adding gulp.runSeq as an alias for gulp.runSequence
  • Using @electric-eloquence/chokidar ^1.7.6, which uses fsevents 2.x, which uses Node's native N-API

3.9.5

  • Acknowledgements in readme

3.9.4

  • Minor maintenance and doc updates

3.9.3

  • Better handling of renamed and removed directories
  • Better handling of paths when cwd is submitted

3.9.2

  • Updated documentation
  • Continuous integration
  • Removed deprecation from gulp.run method (but not exposing it publicly)
  • Adding gulp.runSequence as a fully-supported method

3.9.1

  • Beginning of long-term support for gulp major version 3
  • Replacing Gaze with Chokidar with long-term support for major version 1