gulp-environments v1.0.1
gulp-environments
A Gulp plug-in that makes it convenient to create separate environments, such as development and production, to run your tasks in.
Basic usage
Install the plugin using npm:
$ npm install --save-dev gulp-environmentsRequire the plug-in somewhere in your gulpfile.js
var environments = require('gulp-environments');By default, the library defines two environments: development and production. For convenience sake, it is recommended to assign them to local variables:
var development = environments.development;
var production = environments.production;You can use these environments as predicates (functions returning true/false depending on whether the given environment is active):
var source = production() ? "source.min.js" : "source.js";You can also use the environment as a filter in you Gulp pipelines:
gulp.src(paths.js)
// this will only init sourcemaps in development
.pipe(development(sourcemaps.init()))
.pipe(concat("app.js"))
// only write out sourcemaps in development
.pipe(development(sourcemaps.write('.')))
// only minify the compiled JS in production mode
.pipe(production(uglify()))
.pipe(gulp.dest("./public/app/js/"));Setting the environment
By default, gulp-environments uses the NODE_ENV environment variable to determine environment:
NODE_ENV=development gulp buildYou can also pass a command line flag --env to set it (takes precedence over NODE_ENV):
gulp build --env developmentAlternatively, you can define a task that would set the appropriate environment before executing other tasks:
gulp.task('set-dev', development.task);and run it (or make it a dependency of a task that should also be run in that environment):
gulp set-dev buildFinally, you can always set the environment by hand in your task definition:
environments.current(development);Other environments
You don't have to limit yourself to using only the two provided environments. You can create other ones by calling (in the example, we are creating an environment called staging):
var staging = environments.make("staging");License
MIT
Author
Adam Pohorecki