1.3.0 • Published 8 years ago

load-gulp-config v1.3.0

Weekly downloads
12
License
MIT
Repository
github
Last release
8 years ago

load-gulp-config

Allows you to break up your Gulpfile config by task

dependencies status devDependency status

Features

  • Each task has its own config file e.g. tasks/git.js, tasks/styles.js, tasks/scripts.js, ...
  • Easily register task aliases with aliases YAML file.

Installation

from github:

npm i -D adriancmiranda/load-gulp-config

from npmjs:

npm i -D load-gulp-config

Usage

// The streaming build system.
// @see https://www.npmjs.com/package/gulp
var gulp = require('gulp');

// Load multiple gulp tasks using globbing patterns.
// @see https://github.com/adriancmiranda/load-gulp-config
var config = require('load-gulp-config');

// Specifics of npm's package.json handling.
// @see https://docs.npmjs.com/files/package.json
var pack = config.util.readJSON('package.json');

config(gulp, {
  // path to task's files, defaults to gulp dir.
  configPath: config.util.path.join('tasks', '*.{js,json,yml,yaml}'),

  // data passed into config task.
  data:Object.assign({ someCfg:{}, anyValue:1, anyParams:[] }, pack)
});

Task file examples

Creating tasks internally:

module.exports = function(gulp, data, util, taskName){
	'use strict';

	gulp.task(taskName, ['anotherTask:method'], function(callback){
		// return gulp.src(util.path.join(data.appDirs.scripts, '**/*.js'));
	});

	gulp.task(taskName +':method', function(callback){
		// return gulp.src(util.path.join('files/', '**/*.*'));
	});
};

Returning a function:

module.exports = function(gulp, data, util){
	'use strict';

	console.log([
		'\t- someCfg:'+ data.someCfg,
		'\t- anyValue:'+ data.anyValue,
		'\t- anyParams:'+ data.anyParams,
		'\t- package.version:'+ data.version
	].join('\n'));

	return function(callback){
		// return gulp.src(util.path.join(data.someCfg.dir, '**/*.js'));
	};
};

Returning a object:

module.exports = function(gulp, data, util, taskName){
	'use strict';

	return {
		default:['test:'+ taskName, 'lint:'+ taskName, function(callback){
			// return gulp.src(...);
		}],
		cmd:function(callback){
			// ...
		}
	};
};

Aliases files (optional)

If your gulp/ folder contains an .json, .yml or .yaml file load-gulp-config will use that to define your tasks aliases (like gulp.task('default', ['task1', 'task2']);).

The following examples show the same aliases definition written in various formats

Examples

YAML file:

---
default:
  - 'build'
  - 'task2'

build:
  - 'task1:method'
  - 'task2'
  - 'task3'

JSON file:

{
  "default": ["build", "task2"],
  "build": ["task1:method", "task2", "task3"]
}

Thank's to the load-grunt-config task idea and following modules, that make this one possible.

License

MIT

1.3.0

8 years ago

1.2.2

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.0

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

0.0.1

8 years ago