gulp-environments

1.0.1 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i gulp-environments

Weekly Downloads

3,069

Version

1.0.1

License

MIT

Unpacked Size

6.93 kB

Total Files

6

Last publish

Collaborators

  • psyho
  • wrozka