Skip to content

A library for conditionally executing code in Gulp depending on an environment.

Notifications You must be signed in to change notification settings

gunpowderlabs/gulp-environments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gulp-environments

A Gulp plug-in that makes it convenient to create separate environments, such as development and production, to run your tasks in.

CircleCI

Basic usage

Install the plugin using npm:

$ npm install --save-dev gulp-environments

Require 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 build

You can also pass a command line flag --env to set it (takes precedence over NODE_ENV):

gulp build --env development

Alternatively, 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 build

Finally, 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

About

A library for conditionally executing code in Gulp depending on an environment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published