gulp-if-env
A gulp plugin to conditionally run tasks for one or more environments.
Installation
Install the plugin using npm:
$ npm install gulp-if-env
Basic usage
Require in gulpfile.js
var ifEnv = require('gulp-if-env');
And use in your gulp tasks as such:
gulp.task('my-task', function () {
return gulp
.src('src/index.html')
.pipe(ifEnv('production', myProductionTask()))
.pipe(gulp.dest('public/'));
});
Want to run a task on all but one environment? Use not
:
gulp.task('my-task', function () {
return gulp
.src('src/index.html')
.pipe(ifEnv.not('development', nonDevelopmentTask()))
.pipe(gulp.dest('public/'));
});
Or want to specify specific environments? No problem! Just use the includes
function:
gulp.task('my-task', function () {
return gulp
.src('src/index.html')
.pipe(ifEnv.includes('production', 'staging', myProductionTask()))
.pipe(gulp.dest('public/'));
});
API
[main function]
There are three main interfaces to the main function:
ifEnv();
ifEnv('production');
ifEnv('production', myGulpTask());
.not([environment], [gulpStream])
There are two main interfaces to the not()
function:
ifEnv.not('production');
ifEnv.not('production', myGulpTask());
.includes([environment1], [environment2], [...more...], [gulpStream])
There are two main interfaces to the includes()
function:
ifEnv.includes('production', 'staging');
ifEnv.includes('production', 'staging', myGulpTask());
.excludes([environment1], [environment2], [...more...], [gulpStream])
There are two main interfaces to the excludes()
function:
ifEnv.excludes('production', 'staging');
ifEnv.excludes('production', 'staging', myGulpTask());
.set(environment)
Sets a new environment if a change is required, or if your environment is specified somewhere other than NODE_ENV
or as env
CLI argument
ifEnv.set('staging');
ifEnv('production');
ifEnv('staging');
.reset()
Resets to default (NODE_ENV
or env
CLI argument)
ifEnv.set('staging');
ifEnv('staging');
ifEnv.reset();
ifEnv('staging');
ifEnv('development');
Issues/contribution
Feel free to create an issue or pull request if you see something amiss. Thanks!