{
	"name": "undertaker-registry",
	"versions": {
		"0.0.0": {
			"name": "undertaker-registry",
			"version": "0.0.0",
			"description": "undertaker-registry ===================",
			"main": "index.js",
			"scripts": {
				"test": "lab -c"
			},
			"repository": {
				"type": "git",
				"url": "https://github.com/phated/undertaker-registry"
			},
			"keywords": [
				"registry",
				"tasks",
				"undertaker",
				"gulp"
			],
			"author": {
				"name": "Blaine Bublitz",
				"email": "blaine@iceddev.com",
				"url": "http://iceddev.com/"
			},
			"license": "MIT",
			"bugs": {
				"url": "https://github.com/phated/undertaker-registry/issues"
			},
			"homepage": "https://github.com/phated/undertaker-registry",
			"devDependencies": {
				"lab": "^4.1.0"
			},
			"gitHead": "09240cda1a0535f2969006e009602e16e5352db1",
			"_id": "undertaker-registry@0.0.0",
			"_shasum": "65133b6b4f33e6df3f1d646777f24ff8ddb64553",
			"_from": ".",
			"_npmVersion": "1.4.21",
			"_npmUser": {
				"name": "phated",
				"email": "blaine@iceddev.com"
			},
			"maintainers": [
				{
					"name": "phated",
					"email": "blaine@iceddev.com"
				}
			],
			"dist": {
				"shasum": "65133b6b4f33e6df3f1d646777f24ff8ddb64553",
				"tarball": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.0.tgz"
			},
			"directories": {},
			"contributors": []
		},
		"0.0.1": {
			"name": "undertaker-registry",
			"version": "0.0.1",
			"description": "undertaker-registry ===================",
			"main": "index.js",
			"scripts": {
				"test": "lab -c"
			},
			"repository": {
				"type": "git",
				"url": "https://github.com/phated/undertaker-registry"
			},
			"keywords": [
				"registry",
				"tasks",
				"undertaker",
				"gulp"
			],
			"author": {
				"name": "Blaine Bublitz",
				"email": "blaine@iceddev.com",
				"url": "http://iceddev.com/"
			},
			"license": "MIT",
			"bugs": {
				"url": "https://github.com/phated/undertaker-registry/issues"
			},
			"homepage": "https://github.com/phated/undertaker-registry",
			"devDependencies": {
				"lab": "^4.1.0"
			},
			"gitHead": "76bb871acdd1bdb42a8954d36f2a775761a00b09",
			"_id": "undertaker-registry@0.0.1",
			"_shasum": "2ce5c4f974f96ec5859c68da6959db382eadfe38",
			"_from": ".",
			"_npmVersion": "1.4.21",
			"_npmUser": {
				"name": "phated",
				"email": "blaine@iceddev.com"
			},
			"maintainers": [
				{
					"name": "phated",
					"email": "blaine@iceddev.com"
				}
			],
			"dist": {
				"shasum": "2ce5c4f974f96ec5859c68da6959db382eadfe38",
				"tarball": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.1.tgz"
			},
			"directories": {},
			"contributors": []
		},
		"0.0.2": {
			"name": "undertaker-registry",
			"version": "0.0.2",
			"description": "undertaker-registry ===================",
			"main": "index.js",
			"scripts": {
				"test": "lab -c"
			},
			"repository": {
				"type": "git",
				"url": "https://github.com/phated/undertaker-registry"
			},
			"keywords": [
				"registry",
				"tasks",
				"undertaker",
				"gulp"
			],
			"author": {
				"name": "Blaine Bublitz",
				"email": "blaine@iceddev.com",
				"url": "http://iceddev.com/"
			},
			"license": "MIT",
			"bugs": {
				"url": "https://github.com/phated/undertaker-registry/issues"
			},
			"homepage": "https://github.com/phated/undertaker-registry",
			"devDependencies": {
				"lab": "^4.1.0"
			},
			"gitHead": "4976af95b37a27329174a09d14ee8b4123faa064",
			"_id": "undertaker-registry@0.0.2",
			"_shasum": "9111c7dfbcb6b3562e793b4740cf4a45796bcd87",
			"_from": ".",
			"_npmVersion": "1.4.21",
			"_npmUser": {
				"name": "phated",
				"email": "blaine@iceddev.com"
			},
			"maintainers": [
				{
					"name": "phated",
					"email": "blaine@iceddev.com"
				}
			],
			"dist": {
				"shasum": "9111c7dfbcb6b3562e793b4740cf4a45796bcd87",
				"tarball": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.2.tgz"
			},
			"directories": {},
			"contributors": []
		},
		"0.0.3": {
			"name": "undertaker-registry",
			"version": "0.0.3",
			"description": "undertaker-registry ===================",
			"main": "index.js",
			"scripts": {
				"test": "lab -cv"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/phated/undertaker-registry.git"
			},
			"keywords": [
				"registry",
				"tasks",
				"undertaker",
				"gulp"
			],
			"author": {
				"name": "Blaine Bublitz",
				"email": "blaine@iceddev.com",
				"url": "http://iceddev.com/"
			},
			"license": "MIT",
			"bugs": {
				"url": "https://github.com/phated/undertaker-registry/issues"
			},
			"homepage": "https://github.com/phated/undertaker-registry",
			"devDependencies": {
				"code": "^1.2.1",
				"lab": "^5.2.0"
			},
			"gitHead": "2b14a5d267d69730f93cc3e401973fde06861c58",
			"_id": "undertaker-registry@0.0.3",
			"_shasum": "8d17dda153b24794876ce1fe8370ff9e1f61f27f",
			"_from": ".",
			"_npmVersion": "2.8.3",
			"_nodeVersion": "0.10.36",
			"_npmUser": {
				"name": "phated",
				"email": "blaine@iceddev.com"
			},
			"maintainers": [
				{
					"name": "phated",
					"email": "blaine@iceddev.com"
				}
			],
			"dist": {
				"shasum": "8d17dda153b24794876ce1fe8370ff9e1f61f27f",
				"tarball": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.3.tgz"
			},
			"directories": {},
			"contributors": []
		},
		"0.0.4": {
			"name": "undertaker-registry",
			"version": "0.0.4",
			"description": "undertaker-registry ===================",
			"main": "index.js",
			"scripts": {
				"lint": "eslint . && jscs index.js test/",
				"pretest": "npm run lint",
				"test": "lab -cv"
			},
			"repository": {
				"type": "git",
				"url": "git+https://github.com/gulpjs/undertaker-registry.git"
			},
			"keywords": [
				"registry",
				"tasks",
				"undertaker",
				"gulp"
			],
			"author": {
				"name": "Blaine Bublitz",
				"email": "blaine@iceddev.com",
				"url": "http://iceddev.com/"
			},
			"license": "MIT",
			"bugs": {
				"url": "https://github.com/gulpjs/undertaker-registry/issues"
			},
			"homepage": "https://github.com/gulpjs/undertaker-registry",
			"devDependencies": {
				"code": "^1.2.1",
				"eslint": "^1.7.3",
				"eslint-config-gulp": "^2.0.0",
				"jscs": "^2.4.0",
				"jscs-preset-gulp": "^1.0.0",
				"lab": "^6.2.0"
			},
			"gitHead": "922411cc81bc43e123c748d03609e5c995343e8c",
			"_id": "undertaker-registry@0.0.4",
			"_shasum": "f8b34e2a030b8e98e2928f7337a57b979da267e5",
			"_from": ".",
			"_npmVersion": "2.14.3",
			"_nodeVersion": "0.10.36",
			"_npmUser": {
				"name": "phated",
				"email": "blaine@iceddev.com"
			},
			"maintainers": [
				{
					"name": "phated",
					"email": "blaine@iceddev.com"
				}
			],
			"dist": {
				"shasum": "f8b34e2a030b8e98e2928f7337a57b979da267e5",
				"tarball": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.4.tgz"
			},
			"directories": {},
			"contributors": []
		},
		"1.0.0": {
			"name": "undertaker-registry",
			"version": "1.0.0",
			"description": "Default registry in gulp 4",
			"author": {
				"name": "Blaine Bublitz",
				"email": "blaine@iceddev.com",
				"url": "http://iceddev.com/"
			},
			"contributors": [],
			"repository": {
				"type": "git",
				"url": "git+https://github.com/gulpjs/undertaker-registry.git"
			},
			"license": "MIT",
			"engines": {
				"node": ">= 0.10"
			},
			"main": "index.js",
			"files": [
				"LICENSE",
				"index.js"
			],
			"scripts": {
				"lint": "eslint . && jscs index.js test/",
				"pretest": "npm run lint",
				"test": "lab -cv"
			},
			"devDependencies": {
				"code": "^1.2.1",
				"eslint": "^1.7.3",
				"eslint-config-gulp": "^2.0.0",
				"jscs": "^2.4.0",
				"jscs-preset-gulp": "^1.0.0",
				"lab": "^6.2.0"
			},
			"keywords": [
				"registry",
				"tasks",
				"undertaker",
				"gulp"
			],
			"gitHead": "d7d5ba3931aab30675a789fe9c3494d46187742c",
			"bugs": {
				"url": "https://github.com/gulpjs/undertaker-registry/issues"
			},
			"homepage": "https://github.com/gulpjs/undertaker-registry#readme",
			"_id": "undertaker-registry@1.0.0",
			"_shasum": "2da716c765999d8c94b9f9ed2c006df4923b052b",
			"_from": ".",
			"_npmVersion": "2.14.3",
			"_nodeVersion": "0.10.36",
			"_npmUser": {
				"name": "phated",
				"email": "blaine@iceddev.com"
			},
			"maintainers": [
				{
					"name": "phated",
					"email": "blaine@iceddev.com"
				}
			],
			"dist": {
				"shasum": "2da716c765999d8c94b9f9ed2c006df4923b052b",
				"tarball": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.0.tgz"
			},
			"directories": {}
		},
		"1.0.1": {
			"name": "undertaker-registry",
			"version": "1.0.1",
			"description": "Default registry in gulp 4.",
			"author": {
				"name": "Gulp Team",
				"email": "team@gulpjs.com",
				"url": "http://gulpjs.com/"
			},
			"contributors": [
				{
					"name": "Blaine Bublitz",
					"email": "blaine.bublitz@gmail.com"
				}
			],
			"repository": {
				"type": "git",
				"url": "git+https://github.com/gulpjs/undertaker-registry.git"
			},
			"license": "MIT",
			"engines": {
				"node": ">= 0.10"
			},
			"main": "index.js",
			"files": [
				"LICENSE",
				"index.js"
			],
			"scripts": {
				"lint": "eslint . && jscs index.js test/",
				"pretest": "npm run lint",
				"test": "mocha --async-only",
				"cover": "istanbul cover _mocha --report lcovonly",
				"coveralls": "npm run cover && istanbul-coveralls"
			},
			"devDependencies": {
				"eslint": "^1.7.3",
				"eslint-config-gulp": "^2.0.0",
				"expect": "^1.19.0",
				"istanbul": "^0.4.3",
				"istanbul-coveralls": "^1.0.3",
				"jscs": "^2.3.5",
				"jscs-preset-gulp": "^1.0.0",
				"mocha": "^3.5.0"
			},
			"keywords": [
				"registry",
				"tasks",
				"undertaker",
				"gulp"
			],
			"gitHead": "8bb70b67ce66cedb74fcc92525738b85e77cc62a",
			"bugs": {
				"url": "https://github.com/gulpjs/undertaker-registry/issues"
			},
			"homepage": "https://github.com/gulpjs/undertaker-registry#readme",
			"_id": "undertaker-registry@1.0.1",
			"_shasum": "5e4bda308e4a8a2ae584f9b9a4359a499825cc50",
			"_from": ".",
			"_npmVersion": "2.15.1",
			"_nodeVersion": "0.10.48",
			"_npmUser": {
				"name": "phated",
				"email": "blaine.bublitz@gmail.com"
			},
			"maintainers": [
				{
					"name": "phated",
					"email": "blaine@iceddev.com"
				}
			],
			"dist": {
				"shasum": "5e4bda308e4a8a2ae584f9b9a4359a499825cc50",
				"tarball": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz"
			},
			"_npmOperationalInternal": {
				"host": "s3://npm-registry-packages",
				"tmp": "tmp/undertaker-registry-1.0.1.tgz_1506979608888_0.07466459693387151"
			},
			"directories": {}
		}
	},
	"time": {
		"modified": "2018-08-18T22:56:04.347Z",
		"created": "2014-08-23T01:01:31.590Z",
		"0.0.0": "2014-08-23T01:01:31.590Z",
		"0.0.1": "2014-08-31T17:50:55.552Z",
		"0.0.2": "2014-09-14T05:32:19.280Z",
		"0.0.3": "2015-06-08T03:19:11.988Z",
		"0.0.4": "2015-11-03T15:22:54.042Z",
		"1.0.0": "2015-11-17T02:56:14.848Z",
		"1.0.1": "2017-10-02T21:26:49.908Z"
	},
	"users": {},
	"dist-tags": {
		"latest": "1.0.1"
	},
	"_uplinks": {
		"npmjs": {
			"etag": "W/\"01b0c120c10667189fd9ab3648ab7857\"",
			"fetched": 1597847599909
		}
	},
	"_distfiles": {
		"undertaker-registry-0.0.0.tgz": {
			"url": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.0.tgz",
			"sha": "65133b6b4f33e6df3f1d646777f24ff8ddb64553",
			"registry": "npmjs"
		},
		"undertaker-registry-0.0.1.tgz": {
			"url": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.1.tgz",
			"sha": "2ce5c4f974f96ec5859c68da6959db382eadfe38",
			"registry": "npmjs"
		},
		"undertaker-registry-0.0.2.tgz": {
			"url": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.2.tgz",
			"sha": "9111c7dfbcb6b3562e793b4740cf4a45796bcd87",
			"registry": "npmjs"
		},
		"undertaker-registry-0.0.3.tgz": {
			"url": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.3.tgz",
			"sha": "8d17dda153b24794876ce1fe8370ff9e1f61f27f",
			"registry": "npmjs"
		},
		"undertaker-registry-0.0.4.tgz": {
			"url": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-0.0.4.tgz",
			"sha": "f8b34e2a030b8e98e2928f7337a57b979da267e5",
			"registry": "npmjs"
		},
		"undertaker-registry-1.0.0.tgz": {
			"url": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.0.tgz",
			"sha": "2da716c765999d8c94b9f9ed2c006df4923b052b",
			"registry": "npmjs"
		},
		"undertaker-registry-1.0.1.tgz": {
			"url": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz",
			"sha": "5e4bda308e4a8a2ae584f9b9a4359a499825cc50",
			"registry": "npmjs"
		}
	},
	"_attachments": {
		"undertaker-registry-1.0.1.tgz": {
			"shasum": "5e4bda308e4a8a2ae584f9b9a4359a499825cc50"
		}
	},
	"_rev": "11-addb7d010f14a88c",
	"_id": "undertaker-registry",
	"readme": "<p align=\"center\">\n  <a href=\"http://gulpjs.com\">\n    <img height=\"257\" width=\"114\" src=\"https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png\">\n  </a>\n</p>\n\n# undertaker-registry\n\n[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url]\n\nDefault registry in gulp 4.\n\n## Usage\n\n```js\nvar gulp = require('gulp');\nvar UndertakerRegistry = require('undertaker-registry');\n\nvar registry = new UndertakerRegistry();\n\ngulp.registry(registry);\n```\n\n## API\n\n### new UndertakerRegistry([options])\n\nConstructor for the default registry.  Inherit from this constructor to build custom registries.\n\n### init(taker)\n\nNo-op method that receives the undertaker instance.  Useful to set pre-defined tasks using the\n`undertaker.task(taskName, fn)` method.  Custom registries can override this method when inheriting\nfrom this default registry.\n\n### get(taskName) => Function\n\nReturns the task with that name or undefined if no task is registered with that name.  Useful for custom\ntask storage.  Custom registries can override this method when inheriting from this default registry.\n\n### set(taskName, fn) => [Function]\n\nAdds a task to the registry.  If `set` modifies a task, it should return the new task so Undertaker can\nproperly maintain metadata for the task.  Useful for adding custom behavior to every task as it is\nregistered in the system.  Custom registries can override this method when inheriting from this default\nregistry.\n\n### tasks() => Object\n\nReturns an object listing all tasks in the registry.  Necessary to override if the `get` method is overridden\nfor custom task storage.  Custom registries can override this when when inheriting from this default\nregistry.\n\n## Custom Registries\n\nCustom registries are constructor functions allowing you to pre-define/share tasks\nor add custom functionality to your registries.\n\nA registry's prototype should define:\n\n- `init(taker)`: receives the undertaker instance to set pre-defined tasks using the `task(taskName, fn)` method.\n- `get(taskName)`: returns the task with that name\n   or `undefined` if no task is registered with that name.\n- `set(taskName, fn)`: add task to the registry. If `set` modifies a task, it should return the new task.\n- `tasks()`: returns an object listing all tasks in the registry.\n\nYou should not call these functions yourself; leave that to Undertaker, so it can\nkeep its metadata consistent.\n\nThe easiest way to create a custom registry is to inherit from\n[undertaker-registry](https://www.npmjs.com/package/undertaker-registry):\n\n```javascript\nvar util = require('util');\n\nvar DefaultRegistry = require('undertaker-registry');\n\nfunction MyRegistry(){\n  DefaultRegistry.call(this);\n}\n\nutil.inherits(MyRegistry, DefaultRegistry);\n\nmodule.exports = MyRegistry;\n```\n\n### Sharing tasks\n\nTo share common tasks with all your projects, you can expose an `init` method on the registry\nprototype and it will receive the Undertaker instance as the only argument. You can then use\n`undertaker.task(name, fn)` to register pre-defined tasks.\n\nFor example you might want to share a `clean` task:\n\n```javascript\nvar fs = require('fs');\nvar util = require('util');\n\nvar DefaultRegistry = require('undertaker-registry');\nvar del = require('del');\n\nfunction CommonRegistry(opts){\n  DefaultRegistry.call(this);\n\n  opts = opts || {};\n\n  this.buildDir = opts.buildDir || './build';\n}\n\nutil.inherits(CommonRegistry, DefaultRegistry);\n\nCommonRegistry.prototype.init = function(takerInst){\n  var buildDir = this.buildDir;\n  var exists = fs.existsSync(buildDir);\n\n  if(exists){\n    throw new Error('Cannot initialize common tasks. ' + buildDir + ' directory exists.');\n  }\n\n  takerInst.task('clean', function(){\n    return del([buildDir]);\n  });\n}\n\nmodule.exports = CommonRegistry;\n```\n\nThen to use it in a project:\n```javascript\nvar Undertaker = require('undertaker');\nvar CommonRegistry = require('myorg-common-tasks');\n\nvar taker = new Undertaker(CommonRegistry({ buildDir: '/dist' }));\n\ntaker.task('build', taker.series('clean', function build(cb) {\n  // do things\n  cb();\n}));\n```\n\n### Sharing Functionalities\n\nBy controlling how tasks are added to the registry, you can decorate them.\n\nFor example if you wanted all tasks to share some data,  you can use a custom registry\nto bind them to that data. Be sure to return the altered task, as per the description\nof registry methods above:\n\n```javascript\nvar util = require('util');\n\nvar Undertaker = require('undertaker');\nvar DefaultRegistry = require('undertaker-registry');\n\n// Some task defined somewhere else\nvar BuildRegistry = require('./build.js');\nvar ServeRegistry = require('./serve.js');\n\nfunction ConfigRegistry(config){\n  DefaultRegistry.call(this);\n  this.config = config;\n}\n\nutil.inherits(ConfigRegistry, DefaultRegistry);\n\nConfigRegistry.prototype.set = function set(name, fn) {\n  // The `DefaultRegistry` uses `this._tasks` for storage.\n  var task = this._tasks[name] = fn.bind(this.config);\n  return task;\n};\n\nvar taker = new Undertaker();\n\ntaker.registry(new BuildRegistry());\ntaker.registry(new ServeRegistry());\n\n// `taker.registry` will reset each task in the registry with\n// `ConfigRegistry.prototype.set` which will bind them to the config object.\ntaker.registry(new ConfigRegistry({\n  src: './src',\n  build: './build',\n  bindTo: '0.0.0.0:8888'\n}));\n\ntaker.task('default', taker.series('clean', 'build', 'serve', function(cb) {\n  console.log('Server bind to ' + this.bindTo);\n  console.log('Serving' + this.build);\n  cb();\n}));\n```\n\n## License\n\nMIT\n\n[downloads-image]: http://img.shields.io/npm/dm/undertaker-registry.svg\n[npm-url]: https://npmjs.org/package/undertaker-registry\n[npm-image]: http://img.shields.io/npm/v/undertaker-registry.svg\n\n[travis-url]: https://travis-ci.org/gulpjs/undertaker-registry\n[travis-image]: http://img.shields.io/travis/gulpjs/undertaker-registry.svg\n\n[appveyor-url]: https://ci.appveyor.com/project/gulpjs/undertaker-registry\n[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/undertaker-registry.svg?label=appveyor\n\n[coveralls-url]: https://coveralls.io/r/gulpjs/undertaker-registry\n[coveralls-image]: http://img.shields.io/coveralls/gulpjs/undertaker-registry/master.svg\n\n[gitter-url]: https://gitter.im/gulpjs/gulp\n[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg"
}