A smaller, better streaming build system.
What is Gusher?
- Gusher is a smaller streaming build system based off Gulp made to improve performance in building Gulpfiles.
Installation
Installation of Gusher is very simple with NPM
or Yarn
.
npm i -g gusheryarn global add gusher
Windows Only! Make sure that your system environment variables include a path to your NPM bin folder!
Documentation
Here is a sample of something made with Gusher.
- It still uses Gulp modules!
/* Taken from https://github.com/gulpjs/gulp#documentation */var gusher = ;var less = ;var babel = ;var concat = ;var uglify = ;var rename = ;var cleanCSS = ;var del = ; var paths = styles: src: 'src/styles/**/*.less' dest: 'assets/styles/' scripts: src: 'src/scripts/**/*.js' dest: 'assets/scripts/' ; /* Not all tasks need to use streams, a gusherfile is just another node program * and you can use all packages available on npm, but it must return either a * Promise, a Stream or take a callback and call it */ { // You can use multiple globbing patterns as you would with `gusher.src`, // for example if you are using del 2.0 or above, return its promise return ;} /* * Define our tasks using plain functions */ { return gusher // pass in options to the stream ;} { return gusher ;} { gusher; gusher;} /* * Specify if tasks run in series or parallel using `gusher.series` and `gusher.parallel` */var build = gusher; /* * You can use CommonJS `exports` module notation to declare tasks */exportsclean = clean;exportsstyles = styles;exportsscripts = scripts;exportswatch = watch;exportsbuild = build;/* * Define default task that can be called by just running `gusher` from cli */exportsdefault = build;
Anything listed in the README of Gulp is fully functional in Gusher as of 2019-08-21
.