Courses & Tutorials
Awesome Gulp – Massive Collection of Resources
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.
Contents
Legend
[â›”] – 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 – [â›”] ES6 → ES5 with es6-transpiler.
- gulp-myth – Myth – a polyfill for future versions of the CSS spec.
- gulp-cssnext – [â›”] 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.