Awesome
Awesome Gulp
A curated list of awesome gulp resources, plugins, and boilerplates for a better development workflow automation.
Looking for something else? Take a look at other awesome lists.
Contribution
:octocat: All contributions welcome. Feel free to contribute (guidelines).
Contents
Legend
[:no_entry:] - A deprecation notice;
Resources
General Resources
Official Documentation
Community
Tutorials
Gulp Tutorials
- Building with Gulp
- Automate Your Tasks Easily with Gulp.js
- Gulp - The Vision, History, and Future of the Project
- Introduction to Gulp.js
- Video: Learning Gulp
- Using Gulp to Inject Scripts and Styles Tags Directly into Your HTML
- 5 Lessons Learned Using Gulp.js
- Automating Linkage: How I Learned to Stop Worrying and Love the Build
- Setting Up Gulp Tasks for the First Time
- Why You Shouldn’t Create a Gulp Plugin (or, How to Stop Worrying and Learn to Love Existing Node Packages)
- 6 Gulp Best Practices You Can Use Today to Radically Improve Your Development Experience
- Gulp for Beginners
Gulp 4 Tutorials
- Migrating to Gulp 4 by Example
- Gulp 4: The new task execution system - gulp.parallel and gulp.series
Gulp with Browserify
Gulp with Angular
Gulp with Angular and Browserify
Gulp with Angular and Webpack
- Angular, Webpack and Gulp for an SPA: Part I
- Angular, Webpack and Gulp for an SPA: Part II
- Angular, Webpack and Gulp for an SPA: Part III
Gulp with React and Browserify
Gulp with Ember
Gulp with WordPress
Miscellaneous Resources
Plugins
Compilation
- gulp-sass - Sass → CSS with libsass.
- gulp-ruby-sass - Sass → CSS with Ruby Sass.
- gulp-compass - Sass → CSS with Ruby Sass & Compass.
- gulp-less - Less → CSS.
- gulp-stylus - Stylus → CSS.
- gulp-postcss - Pipe CSS through PostCSS processors with a single parse.
- gulp-coffee - Coffeescript → JavaScript.
- gulp-typescript - TypeScript → JavaScript.
- gulp-react - Facebook React JSX templates → JavaScript.
- webpack-stream - Run webpack as a stream to conveniently integrate with gulp.
Transpilation
- gulp-babel - ES6 → ES5 with babel.
- gulp-traceur - ES6 → ES5 using Traceur.
- gulp-regenerator - ES6 → ES5 with Regenerator.
- gulp-es6-transpiler - [:no_entry:] ES6 → ES5 with es6-transpiler.
- gulp-myth - Myth - a polyfill for future versions of the CSS spec.
- gulp-cssnext - [:no_entry:] Use tomorrow's CSS syntax, today, using cssnext.
Concatenation
- gulp-concat - Concatenate files.
Minification
- gulp-clean-css - Minify CSS with clean-css.
- gulp-csso - Minify CSS with CSSO.
- gulp-uglify - Minify JavaScript with UglifyJS2.
- gulp-htmlmin - Minify HTML with html-minifier.
- gulp-imagemin - Minify PNG, JPEG, GIF and SVG images with imagemin.
- gulp-svgmin - Minify SVG files with gulp.
Optimization
- gulp-uncss - Remove unused CSS selectors with UnCSS.
- gulp-css-base64 - Transform all resources found (those within a url() declaration) in CSS files into base64-encoded data URI strings.
- gulp-svg2png - Convert SVGs to PNGs.
- gulp-responsive - Generate images at different sizes.
- gulp-svgstore - Combine svg files into one with
<symbol>
elements. - gulp-iconfont - Create icon fonts from several SVG icons.
Injecting Assets
- gulp-useref - Parse build blocks in HTML files to replace references to non-optimized scripts or stylesheets.
- gulp-inject - Transform each file to a string and inject each transformed string into placeholders in the target stream files.
- wiredep - Wire Bower dependencies to your source code.
Templating
- gulp-angular-templatecache - Concatenate and register AngularJS templates in the $templateCache.
- gulp-jade - Jade → HTML.
- gulp-handlebars - Handlebars templates → JavaScript.
- gulp-hb - Handlebars templates → HTML.
- gulp-nunjucks - Nunjucks templates → JavaScript.
- gulp-dustjs - Dust templates → JavaScript.
- gulp-riot - Riot templates → JavaScript.
- gulp-markdown - Markdown → HTML.
- gulp-template - Lodash templates → JavaScript.
- gulp-swig - Swig templates → HTML.
- gulp-remark - Gulp plugin for remark - markdown processor powered by plugins
Linting
- gulp-csslint - Automated linting of CSS with CSSLint.
- gulp-htmlhint - HTMLHint wrapper to validate your HTML.
- gulp-jshint - Detect errors and potential problems in JavaScript with JSHint.
- gulp-jscs - Check JavaScript code style with jscs.
- gulp-coffeelint - A style checker that helps keep CoffeeScript code clean.
- gulp-tslint - TypeScript linter plugin for gulp.
- gulp-eslint - Identify and report on patterns found in ECMAScript/JavaScript code.
- gulp-w3cjs - Validate HTML with w3cjs.
- gulp-lesshint - Lint less files with lesshint.
- gulp-check-unused-css - Check your HTML templates for unused CSS classes.
Live Reload
- browser-sync - Keep multiple browsers & devices in sync when building websites (recipes).
- gulp-livereload - Gulp plugin for livereload.
Caching
- gulp-changed - Only pass through changed files.
- gulp-cached - A simple in-memory file cache.
- gulp-remember - Remember and recall files passed through it.
- gulp-newer - Pass through newer source files only.
Flow Control
- merge-stream - Merge multiple streams into one interleaved stream.
- streamqueue - Pipe queued streams progressively.
- run-sequence - Run a series of dependent gulp tasks in order.
- gulp-if - Conditionally run a task.
Logging
- gulp-notify - Notification plugin for gulp.
- gulp-size - Display the size of your project.
- gulp-debug - Debug vinyl file streams to see what files are run through your gulp pipeline.
- gulp-beer - Better Error Reporting with interactive system notifications and custom server for error displaying.
Testing
- gulp-mocha - Run Mocha tests.
- gulp-jasmine - Run Jasmine 2 tests in Node.js.
- gulp-protractor - Gulp wrapper for Protractor tests.
- gulp-coverage - Coverage reporting for Node.js that is independent of the test runner.
- gulp-karma - Karma test runner for gulp.
- gulp-ava- Run AVA tests with gulp.
Miscellaneous Plugins
- gulp-util - Set of useful utilities.
- gulp-plumber - Prevent pipe breaking caused by errors.
- gulp-load-plugins - Automatically load in gulp plugins.
- main-bower-files - Simplify build process setup by dynamically getting the library files.
- autoprefixer - Parse CSS and add vendor prefixes to rules by Can I Use.
- gulp-sourcemaps - Provide source map support.
- gulp-replace - A string replace plugin for gulp.
- gulp-rename - Rename files easily.
- gulp-rev - Static asset revisioning by appending content hash to filenames: unicorn.css → unicorn-d41d8cd98f.css.
- del - Delete files/folders using globs.
- gulp-exec - Run a shell command.
- gulp-strip-debug - Strip console, alert, and debugger statements from JavaScript code.
- gulp-cssimport - Parses a CSS file, finds imports, grabs the content of the linked file and replaces the import statement with it.
- gulp-inline-css - Inline your CSS properties into the style attribute in an HTML file.
- gulp-gh-pages - Publish contents to Github pages.
- gulp-ng-annotate - Add AngularJS dependency injection annotations with ng-annotate.
- gulp-bump - Bump any semver JSON version.
- gulp-file-include - Include files with gulp.
- gulp-zip - ZIP compress files.
- gulp-git - Run Git commands with gulp.
- gulp-filter - Filter files in a vinyl stream using globbing.
- gulp-preprocess - Preprocess files based on custom context or environment configuration.
- gulp-eval - Eval JS-expression or require CommonJS modules and JSON files.
Scaffolding
Boilerplates
- web-starter-kit - Google Web Starter Kit.
- gulp-plugin-boilerplate - Boilerplate to kickstart creating gulp plugins.
- polymer-starter-kit - A starting point for Polymer 1.0 apps.
- este - The most complete React/Flux dev stack and starter kit for isomorphic functional web apps.
- mnml - Minimal boilerplate to start a responsive HTML5/Sass project.
- kraken - A lightweight, mobile-first boilerplate for front-end web developers.
- angularjs-gulp-browserify-boilerplate - Boilerplate using AngularJS, Sass, gulp, and Browserify.
- hapi-ninja - A Node.js, Hapi, and Swig boilerplate.
- laravel-5-boilerplate - A Laravel 5 boilerplate project.
- react-starterkit - React starter kit that contains react-router, Reflux, jest, webpack, gulp and Stylus.
- gulp-front - Frontend boilerplate and modular BEM css framework based on gulp, pug, stylus, postcss, webpack and babel.
- Front End Starter - A boilerplate for frontend projects powered by Gulp, HTML5 bolierplate, Sass, PostCss and Webpack(for Babel transpiling).
Yeoman Generators
- generator-gulp-webapp - A gulp generator for modern webapps.
- generator-gulp-angular - Yeoman generator for AngularJS with gulp.
- generator-react-gulp-browserify - A Yeoman Generator for React library. It includes gulp, Browserify, Browsersync and Bootstrap.
- generator-node-gulp - A Node.js module generator including gulp and Mocha.
- generator-gulp-bootstrap - Yeoman generator for Bootstrap, gulp & libsass.
- generator-angulpify - Yeoman generator involving AngularJS, gulp and Browserify.
- generator-ionic-gulp - A Yeoman generator for Ionic Projects with gulp.
- generator-gulp-plugin-boilerplate - Scaffold out a gulp plugin boilerplate.
- generator-jekyllized - Jekyll workflow with gulp, Sass, AutoPrefixer, asset optimization and cache busting and much more.
Miscellaneous
- elixir - A clean, fluent API for defining basic gulp tasks for your Laravel applications.
- gulp-app - Gulp as an app (OS X).
- lmn-gulp-tasks - Example of gulp tasks unit testing.
- gulp-chef - An elegant, intuitive way to reuse gulp tasks.
License
To the extent possible under law, Philipp Alferov has waived all copyright and related or neighboring rights to this work.