aboutsummaryrefslogtreecommitdiff
path: root/node_modules/gulp-util
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
committerFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
commitabd94a7f5a50f43c797a11b53549ae48fff667c3 (patch)
treeab8ed457f65cdd72e13e0571d2975729428f1551 /node_modules/gulp-util
parenta0247c6a3fd6a09a41a7e35a3441324c4dcb58be (diff)
downloadwallet-core-abd94a7f5a50f43c797a11b53549ae48fff667c3.tar.xz
add node_modules to address #4364
Diffstat (limited to 'node_modules/gulp-util')
-rwxr-xr-xnode_modules/gulp-util/LICENSE20
-rw-r--r--node_modules/gulp-util/README.md146
-rw-r--r--node_modules/gulp-util/index.js18
-rw-r--r--node_modules/gulp-util/lib/PluginError.js130
-rw-r--r--node_modules/gulp-util/lib/buffer.js15
-rw-r--r--node_modules/gulp-util/lib/combine.js11
-rw-r--r--node_modules/gulp-util/lib/env.js4
-rw-r--r--node_modules/gulp-util/lib/isBuffer.js7
-rw-r--r--node_modules/gulp-util/lib/isNull.js3
-rw-r--r--node_modules/gulp-util/lib/isStream.js5
-rw-r--r--node_modules/gulp-util/lib/log.js14
-rw-r--r--node_modules/gulp-util/lib/noop.js5
-rw-r--r--node_modules/gulp-util/lib/template.js23
-rw-r--r--node_modules/gulp-util/node_modules/object-assign/index.js39
-rw-r--r--node_modules/gulp-util/node_modules/object-assign/license21
-rw-r--r--node_modules/gulp-util/node_modules/object-assign/package.json102
-rw-r--r--node_modules/gulp-util/node_modules/object-assign/readme.md51
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/LICENSE20
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/README.md195
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/index.js213
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/lib/cloneBuffer.js7
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/lib/inspectStream.js11
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/lib/isBuffer.js1
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/lib/isNull.js3
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/lib/isStream.js5
-rw-r--r--node_modules/gulp-util/node_modules/vinyl/package.json107
-rw-r--r--node_modules/gulp-util/package.json132
27 files changed, 1308 insertions, 0 deletions
diff --git a/node_modules/gulp-util/LICENSE b/node_modules/gulp-util/LICENSE
new file mode 100755
index 000000000..7cbe012c6
--- /dev/null
+++ b/node_modules/gulp-util/LICENSE
@@ -0,0 +1,20 @@
+Copyright (c) 2014 Fractal <contact@wearefractal.com>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/gulp-util/README.md b/node_modules/gulp-util/README.md
new file mode 100644
index 000000000..8c25a4d62
--- /dev/null
+++ b/node_modules/gulp-util/README.md
@@ -0,0 +1,146 @@
+# gulp-util [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Dependency Status][depstat-image]][depstat-url]
+
+## Information
+
+<table>
+<tr>
+<td>Package</td><td>gulp-util</td>
+</tr>
+<tr>
+<td>Description</td>
+<td>Utility functions for gulp plugins</td>
+</tr>
+<tr>
+<td>Node Version</td>
+<td>>= 0.10</td>
+</tr>
+</table>
+
+## Usage
+
+```javascript
+var gutil = require('gulp-util');
+
+gutil.log('stuff happened', 'Really it did', gutil.colors.magenta('123'));
+gutil.beep();
+
+gutil.replaceExtension('file.coffee', '.js'); // file.js
+
+var opt = {
+ name: 'todd',
+ file: someGulpFile
+};
+gutil.template('test <%= name %> <%= file.path %>', opt) // test todd /js/hi.js
+```
+
+### log(msg...)
+
+Logs stuff. Already prefixed with [gulp] and all that. If you pass in multiple arguments it will join them by a space.
+
+The default gulp coloring using gutil.colors.<color>:
+```
+values (files, module names, etc.) = cyan
+numbers (times, counts, etc) = magenta
+```
+
+### colors
+
+Is an instance of [chalk](https://github.com/sindresorhus/chalk).
+
+### replaceExtension(path, newExtension)
+
+Replaces a file extension in a path. Returns the new path.
+
+### isStream(obj)
+
+Returns true or false if an object is a stream.
+
+### isBuffer(obj)
+
+Returns true or false if an object is a Buffer.
+
+### template(string[, data])
+
+This is a lodash.template function wrapper. You must pass in a valid gulp file object so it is available to the user or it will error. You can not configure any of the delimiters. Look at the [lodash docs](http://lodash.com/docs#template) for more info.
+
+## new File(obj)
+
+This is just [vinyl](https://github.com/wearefractal/vinyl)
+
+```javascript
+var file = new gutil.File({
+ base: path.join(__dirname, './fixtures/'),
+ cwd: __dirname,
+ path: path.join(__dirname, './fixtures/test.coffee')
+});
+```
+
+## noop()
+
+Returns a stream that does nothing but pass data straight through.
+
+```javascript
+// gulp should be called like this :
+// $ gulp --type production
+gulp.task('scripts', function() {
+ gulp.src('src/**/*.js')
+ .pipe(concat('script.js'))
+ .pipe(gutil.env.type === 'production' ? uglify() : gutil.noop())
+ .pipe(gulp.dest('dist/'));
+});
+```
+
+## buffer(cb)
+
+This is similar to es.wait but instead of buffering text into one string it buffers anything into an array (so very useful for file objects).
+
+Returns a stream that can be piped to.
+
+The stream will emit one data event after the stream piped to it has ended. The data will be the same array passed to the callback.
+
+Callback is optional and receives two arguments: error and data
+
+```javascript
+gulp.src('stuff/*.js')
+ .pipe(gutil.buffer(function(err, files) {
+
+ }));
+```
+
+## new PluginError(pluginName, message[, options])
+
+- pluginName should be the module name of your plugin
+- message can be a string or an existing error
+- By default the stack will not be shown. Set `options.showStack` to true if you think the stack is important for your error.
+- If you pass an error in as the message the stack will be pulled from that, otherwise one will be created.
+- Note that if you pass in a custom stack string you need to include the message along with that.
+- Error properties will be included in `err.toString()`. Can be omitted by including `{showProperties: false}` in the options.
+
+These are all acceptable forms of instantiation:
+
+```javascript
+var err = new gutil.PluginError('test', {
+ message: 'something broke'
+});
+
+var err = new gutil.PluginError({
+ plugin: 'test',
+ message: 'something broke'
+});
+
+var err = new gutil.PluginError('test', 'something broke');
+
+var err = new gutil.PluginError('test', 'something broke', {showStack: true});
+
+var existingError = new Error('OMG');
+var err = new gutil.PluginError('test', existingError, {showStack: true});
+```
+
+[npm-url]: https://www.npmjs.com/package/gulp-util
+[npm-image]: https://badge.fury.io/js/gulp-util.svg
+[travis-url]: https://travis-ci.org/gulpjs/gulp-util
+[travis-image]: https://img.shields.io/travis/gulpjs/gulp-util.svg?branch=master
+[coveralls-url]: https://coveralls.io/r/gulpjs/gulp-util
+[coveralls-image]: https://img.shields.io/coveralls/gulpjs/gulp-util.svg
+[depstat-url]: https://david-dm.org/gulpjs/gulp-util
+[depstat-image]: https://david-dm.org/gulpjs/gulp-util.svg
diff --git a/node_modules/gulp-util/index.js b/node_modules/gulp-util/index.js
new file mode 100644
index 000000000..199713c94
--- /dev/null
+++ b/node_modules/gulp-util/index.js
@@ -0,0 +1,18 @@
+module.exports = {
+ File: require('vinyl'),
+ replaceExtension: require('replace-ext'),
+ colors: require('chalk'),
+ date: require('dateformat'),
+ log: require('./lib/log'),
+ template: require('./lib/template'),
+ env: require('./lib/env'),
+ beep: require('beeper'),
+ noop: require('./lib/noop'),
+ isStream: require('./lib/isStream'),
+ isBuffer: require('./lib/isBuffer'),
+ isNull: require('./lib/isNull'),
+ linefeed: '\n',
+ combine: require('./lib/combine'),
+ buffer: require('./lib/buffer'),
+ PluginError: require('./lib/PluginError')
+};
diff --git a/node_modules/gulp-util/lib/PluginError.js b/node_modules/gulp-util/lib/PluginError.js
new file mode 100644
index 000000000..d60159ab1
--- /dev/null
+++ b/node_modules/gulp-util/lib/PluginError.js
@@ -0,0 +1,130 @@
+var util = require('util');
+var arrayDiffer = require('array-differ');
+var arrayUniq = require('array-uniq');
+var chalk = require('chalk');
+var objectAssign = require('object-assign');
+
+var nonEnumberableProperties = ['name', 'message', 'stack'];
+var propertiesNotToDisplay = nonEnumberableProperties.concat(['plugin', 'showStack', 'showProperties', '__safety', '_stack']);
+
+// wow what a clusterfuck
+var parseOptions = function(plugin, message, opt) {
+ opt = opt || {};
+ if (typeof plugin === 'object') {
+ opt = plugin;
+ } else {
+ if (message instanceof Error) {
+ opt.error = message;
+ } else if (typeof message === 'object') {
+ opt = message;
+ } else {
+ opt.message = message;
+ }
+ opt.plugin = plugin;
+ }
+
+ return objectAssign({
+ showStack: false,
+ showProperties: true
+ }, opt);
+};
+
+function PluginError(plugin, message, opt) {
+ if (!(this instanceof PluginError)) throw new Error('Call PluginError using new');
+
+ Error.call(this);
+
+ var options = parseOptions(plugin, message, opt);
+ var self = this;
+
+ // if options has an error, grab details from it
+ if (options.error) {
+ // These properties are not enumerable, so we have to add them explicitly.
+ arrayUniq(Object.keys(options.error).concat(nonEnumberableProperties))
+ .forEach(function(prop) {
+ self[prop] = options.error[prop];
+ });
+ }
+
+ var properties = ['name', 'message', 'fileName', 'lineNumber', 'stack', 'showStack', 'showProperties', 'plugin'];
+
+ // options object can override
+ properties.forEach(function(prop) {
+ if (prop in options) this[prop] = options[prop];
+ }, this);
+
+ // defaults
+ if (!this.name) this.name = 'Error';
+
+ if (!this.stack) {
+ // Error.captureStackTrace appends a stack property which relies on the toString method of the object it is applied to.
+ // Since we are using our own toString method which controls when to display the stack trace if we don't go through this
+ // safety object, then we'll get stack overflow problems.
+ var safety = {
+ toString: function() {
+ return this._messageWithDetails() + '\nStack:';
+ }.bind(this)
+ };
+ Error.captureStackTrace(safety, arguments.callee || this.constructor);
+ this.__safety = safety;
+ }
+
+ if (!this.plugin) throw new Error('Missing plugin name');
+ if (!this.message) throw new Error('Missing error message');
+}
+
+util.inherits(PluginError, Error);
+
+PluginError.prototype._messageWithDetails = function() {
+ var messageWithDetails = 'Message:\n ' + this.message;
+ var details = this._messageDetails();
+
+ if (details !== '') {
+ messageWithDetails += '\n' + details;
+ }
+
+ return messageWithDetails;
+};
+
+PluginError.prototype._messageDetails = function() {
+ if (!this.showProperties) {
+ return '';
+ }
+
+ var properties = arrayDiffer(Object.keys(this), propertiesNotToDisplay);
+
+ if (properties.length === 0) {
+ return '';
+ }
+
+ var self = this;
+ properties = properties.map(function stringifyProperty(prop) {
+ return ' ' + prop + ': ' + self[prop];
+ });
+
+ return 'Details:\n' + properties.join('\n');
+};
+
+PluginError.prototype.toString = function () {
+ var sig = chalk.red(this.name) + ' in plugin \'' + chalk.cyan(this.plugin) + '\'';
+ var detailsWithStack = function(stack) {
+ return this._messageWithDetails() + '\nStack:\n' + stack;
+ }.bind(this);
+
+ var msg;
+ if (this.showStack) {
+ if (this.__safety) { // There is no wrapped error, use the stack captured in the PluginError ctor
+ msg = this.__safety.stack;
+ } else if (this._stack) {
+ msg = detailsWithStack(this._stack);
+ } else { // Stack from wrapped error
+ msg = detailsWithStack(this.stack);
+ }
+ } else {
+ msg = this._messageWithDetails();
+ }
+
+ return sig + '\n' + msg;
+};
+
+module.exports = PluginError;
diff --git a/node_modules/gulp-util/lib/buffer.js b/node_modules/gulp-util/lib/buffer.js
new file mode 100644
index 000000000..26c940db1
--- /dev/null
+++ b/node_modules/gulp-util/lib/buffer.js
@@ -0,0 +1,15 @@
+var through = require('through2');
+
+module.exports = function(fn) {
+ var buf = [];
+ var end = function(cb) {
+ this.push(buf);
+ cb();
+ if(fn) fn(null, buf);
+ };
+ var push = function(data, enc, cb) {
+ buf.push(data);
+ cb();
+ };
+ return through.obj(push, end);
+};
diff --git a/node_modules/gulp-util/lib/combine.js b/node_modules/gulp-util/lib/combine.js
new file mode 100644
index 000000000..f20712d20
--- /dev/null
+++ b/node_modules/gulp-util/lib/combine.js
@@ -0,0 +1,11 @@
+var pipeline = require('multipipe');
+
+module.exports = function(){
+ var args = arguments;
+ if (args.length === 1 && Array.isArray(args[0])) {
+ args = args[0];
+ }
+ return function(){
+ return pipeline.apply(pipeline, args);
+ };
+};
diff --git a/node_modules/gulp-util/lib/env.js b/node_modules/gulp-util/lib/env.js
new file mode 100644
index 000000000..ee17c0e30
--- /dev/null
+++ b/node_modules/gulp-util/lib/env.js
@@ -0,0 +1,4 @@
+var parseArgs = require('minimist');
+var argv = parseArgs(process.argv.slice(2));
+
+module.exports = argv;
diff --git a/node_modules/gulp-util/lib/isBuffer.js b/node_modules/gulp-util/lib/isBuffer.js
new file mode 100644
index 000000000..7c52f78c9
--- /dev/null
+++ b/node_modules/gulp-util/lib/isBuffer.js
@@ -0,0 +1,7 @@
+var buf = require('buffer');
+var Buffer = buf.Buffer;
+
+// could use Buffer.isBuffer but this is the same exact thing...
+module.exports = function(o) {
+ return typeof o === 'object' && o instanceof Buffer;
+};
diff --git a/node_modules/gulp-util/lib/isNull.js b/node_modules/gulp-util/lib/isNull.js
new file mode 100644
index 000000000..7f22c63ae
--- /dev/null
+++ b/node_modules/gulp-util/lib/isNull.js
@@ -0,0 +1,3 @@
+module.exports = function(v) {
+ return v === null;
+};
diff --git a/node_modules/gulp-util/lib/isStream.js b/node_modules/gulp-util/lib/isStream.js
new file mode 100644
index 000000000..6b54e123b
--- /dev/null
+++ b/node_modules/gulp-util/lib/isStream.js
@@ -0,0 +1,5 @@
+var Stream = require('stream').Stream;
+
+module.exports = function(o) {
+ return !!o && o instanceof Stream;
+};
diff --git a/node_modules/gulp-util/lib/log.js b/node_modules/gulp-util/lib/log.js
new file mode 100644
index 000000000..bb843beef
--- /dev/null
+++ b/node_modules/gulp-util/lib/log.js
@@ -0,0 +1,14 @@
+var hasGulplog = require('has-gulplog');
+
+module.exports = function(){
+ if(hasGulplog()){
+ // specifically deferring loading here to keep from registering it globally
+ var gulplog = require('gulplog');
+ gulplog.info.apply(gulplog, arguments);
+ } else {
+ // specifically defering loading because it might not be used
+ var fancylog = require('fancy-log');
+ fancylog.apply(null, arguments);
+ }
+ return this;
+};
diff --git a/node_modules/gulp-util/lib/noop.js b/node_modules/gulp-util/lib/noop.js
new file mode 100644
index 000000000..7862cb161
--- /dev/null
+++ b/node_modules/gulp-util/lib/noop.js
@@ -0,0 +1,5 @@
+var through = require('through2');
+
+module.exports = function () {
+ return through.obj();
+};
diff --git a/node_modules/gulp-util/lib/template.js b/node_modules/gulp-util/lib/template.js
new file mode 100644
index 000000000..eef3bb376
--- /dev/null
+++ b/node_modules/gulp-util/lib/template.js
@@ -0,0 +1,23 @@
+var template = require('lodash.template');
+var reEscape = require('lodash._reescape');
+var reEvaluate = require('lodash._reevaluate');
+var reInterpolate = require('lodash._reinterpolate');
+
+var forcedSettings = {
+ escape: reEscape,
+ evaluate: reEvaluate,
+ interpolate: reInterpolate
+};
+
+module.exports = function(tmpl, data) {
+ var fn = template(tmpl, forcedSettings);
+
+ var wrapped = function(o) {
+ if (typeof o === 'undefined' || typeof o.file === 'undefined') {
+ throw new Error('Failed to provide the current file as "file" to the template');
+ }
+ return fn(o);
+ };
+
+ return (data ? wrapped(data) : wrapped);
+};
diff --git a/node_modules/gulp-util/node_modules/object-assign/index.js b/node_modules/gulp-util/node_modules/object-assign/index.js
new file mode 100644
index 000000000..2164f93df
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/object-assign/index.js
@@ -0,0 +1,39 @@
+'use strict';
+var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+
+function ToObject(val) {
+ if (val == null) {
+ throw new TypeError('Object.assign cannot be called with null or undefined');
+ }
+
+ return Object(val);
+}
+
+function ownEnumerableKeys(obj) {
+ var keys = Object.getOwnPropertyNames(obj);
+
+ if (Object.getOwnPropertySymbols) {
+ keys = keys.concat(Object.getOwnPropertySymbols(obj));
+ }
+
+ return keys.filter(function (key) {
+ return propIsEnumerable.call(obj, key);
+ });
+}
+
+module.exports = Object.assign || function (target, source) {
+ var from;
+ var keys;
+ var to = ToObject(target);
+
+ for (var s = 1; s < arguments.length; s++) {
+ from = arguments[s];
+ keys = ownEnumerableKeys(Object(from));
+
+ for (var i = 0; i < keys.length; i++) {
+ to[keys[i]] = from[keys[i]];
+ }
+ }
+
+ return to;
+};
diff --git a/node_modules/gulp-util/node_modules/object-assign/license b/node_modules/gulp-util/node_modules/object-assign/license
new file mode 100644
index 000000000..654d0bfe9
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/object-assign/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/gulp-util/node_modules/object-assign/package.json b/node_modules/gulp-util/node_modules/object-assign/package.json
new file mode 100644
index 000000000..699553f9b
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/object-assign/package.json
@@ -0,0 +1,102 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "object-assign@^3.0.0",
+ "scope": null,
+ "escapedName": "object-assign",
+ "name": "object-assign",
+ "rawSpec": "^3.0.0",
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "/home/dold/repos/taler/wallet-webex/node_modules/gulp-util"
+ ]
+ ],
+ "_from": "object-assign@>=3.0.0 <4.0.0",
+ "_id": "object-assign@3.0.0",
+ "_inCache": true,
+ "_location": "/gulp-util/object-assign",
+ "_nodeVersion": "0.12.4",
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "object-assign@^3.0.0",
+ "scope": null,
+ "escapedName": "object-assign",
+ "name": "object-assign",
+ "rawSpec": "^3.0.0",
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/gulp-util"
+ ],
+ "_resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
+ "_shasum": "9bedd5ca0897949bca47e7ff408062d549f587f2",
+ "_shrinkwrap": null,
+ "_spec": "object-assign@^3.0.0",
+ "_where": "/home/dold/repos/taler/wallet-webex/node_modules/gulp-util",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "http://sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/object-assign/issues"
+ },
+ "dependencies": {},
+ "description": "ES6 Object.assign() ponyfill",
+ "devDependencies": {
+ "mocha": "*"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "9bedd5ca0897949bca47e7ff408062d549f587f2",
+ "tarball": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "02622dcb0d82bd81a071ed0b04fedf5e5eea7059",
+ "homepage": "https://github.com/sindresorhus/object-assign",
+ "keywords": [
+ "object",
+ "assign",
+ "extend",
+ "properties",
+ "es6",
+ "ecmascript",
+ "harmony",
+ "ponyfill",
+ "prollyfill",
+ "polyfill",
+ "shim",
+ "browser"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "object-assign",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/object-assign.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "version": "3.0.0"
+}
diff --git a/node_modules/gulp-util/node_modules/object-assign/readme.md b/node_modules/gulp-util/node_modules/object-assign/readme.md
new file mode 100644
index 000000000..aee51c12b
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/object-assign/readme.md
@@ -0,0 +1,51 @@
+# object-assign [![Build Status](https://travis-ci.org/sindresorhus/object-assign.svg?branch=master)](https://travis-ci.org/sindresorhus/object-assign)
+
+> ES6 [`Object.assign()`](http://www.2ality.com/2014/01/object-assign.html) ponyfill
+
+> Ponyfill: A polyfill that doesn't overwrite the native method
+
+
+## Install
+
+```sh
+$ npm install --save object-assign
+```
+
+
+## Usage
+
+```js
+var objectAssign = require('object-assign');
+
+objectAssign({foo: 0}, {bar: 1});
+//=> {foo: 0, bar: 1}
+
+// multiple sources
+objectAssign({foo: 0}, {bar: 1}, {baz: 2});
+//=> {foo: 0, bar: 1, baz: 2}
+
+// overwrites equal keys
+objectAssign({foo: 0}, {foo: 1}, {foo: 2});
+//=> {foo: 2}
+
+// ignores null and undefined sources
+objectAssign({foo: 0}, null, {bar: 1}, undefined);
+//=> {foo: 0, bar: 1}
+```
+
+
+## API
+
+### objectAssign(target, source, [source, ...])
+
+Assigns enumerable own properties of `source` objects to the `target` object and returns the `target` object. Additional `source` objects will overwrite previous ones.
+
+
+## Resources
+
+- [ES6 spec - Object.assign](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign)
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/node_modules/gulp-util/node_modules/vinyl/LICENSE b/node_modules/gulp-util/node_modules/vinyl/LICENSE
new file mode 100644
index 000000000..4f482f9ba
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/LICENSE
@@ -0,0 +1,20 @@
+Copyright (c) 2013 Fractal <contact@wearefractal.com>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/gulp-util/node_modules/vinyl/README.md b/node_modules/gulp-util/node_modules/vinyl/README.md
new file mode 100644
index 000000000..2d57d8566
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/README.md
@@ -0,0 +1,195 @@
+# vinyl [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Dependency Status](https://david-dm.org/wearefractal/vinyl.png?theme=shields.io)](https://david-dm.org/wearefractal/vinyl)
+## Information
+<table><br><tr><br><td>Package</td><td>vinyl</td><br></tr><br><tr><br><td>Description</td><br><td>A virtual file format</td><br></tr><br><tr><br><td>Node Version</td><br><td>>= 0.9</td><br></tr><br></table>
+
+## What is this?
+Read this for more info about how this plays into the grand scheme of things [https://medium.com/@eschoff/3828e8126466](https://medium.com/@eschoff/3828e8126466)
+
+## File
+
+```javascript
+var File = require('vinyl');
+
+var coffeeFile = new File({
+ cwd: "/",
+ base: "/test/",
+ path: "/test/file.coffee",
+ contents: new Buffer("test = 123")
+});
+```
+
+### isVinyl
+When checking if an object is a vinyl file, you should not use instanceof. Use the isVinyl function instead.
+
+```js
+var File = require('vinyl');
+
+var dummy = new File({stuff});
+var notAFile = {};
+
+File.isVinyl(dummy); // true
+File.isVinyl(notAFile); // false
+```
+
+### constructor(options)
+#### options.cwd
+Type: `String`<br><br>Default: `process.cwd()`
+
+#### options.base
+Used for relative pathing. Typically where a glob starts.
+
+Type: `String`<br><br>Default: `options.cwd`
+
+#### options.path
+Full path to the file.
+
+Type: `String`<br><br>Default: `undefined`
+
+#### options.history
+Path history. Has no effect if `options.path` is passed.
+
+Type: `Array`<br><br>Default: `options.path ? [options.path] : []`
+
+#### options.stat
+The result of an fs.stat call. See [fs.Stats](http://nodejs.org/api/fs.html#fs_class_fs_stats) for more information.
+
+Type: `fs.Stats`<br><br>Default: `null`
+
+#### options.contents
+File contents.
+
+Type: `Buffer, Stream, or null`<br><br>Default: `null`
+
+### isBuffer()
+Returns true if file.contents is a Buffer.
+
+### isStream()
+Returns true if file.contents is a Stream.
+
+### isNull()
+Returns true if file.contents is null.
+
+### clone([opt])
+Returns a new File object with all attributes cloned.<br>By default custom attributes are deep-cloned.
+
+If opt or opt.deep is false, custom attributes will not be deep-cloned.
+
+If opt.contents is false, it will copy file.contents Buffer's reference.
+
+### pipe(stream[, opt])
+If file.contents is a Buffer, it will write it to the stream.
+
+If file.contents is a Stream, it will pipe it to the stream.
+
+If file.contents is null, it will do nothing.
+
+If opt.end is false, the destination stream will not be ended (same as node core).
+
+Returns the stream.
+
+### inspect()
+Returns a pretty String interpretation of the File. Useful for console.log.
+
+### contents
+The [Stream](https://nodejs.org/api/stream.html#stream_stream) or [Buffer](https://nodejs.org/api/buffer.html#buffer_class_buffer) of the file as it was passed in via options, or as the result of modification.
+
+For example:
+
+```js
+if (file.isBuffer()) {
+ console.log(file.contents.toString()); // logs out the string of contents
+}
+```
+
+### path
+Absolute pathname string or `undefined`. Setting to a different value pushes the old value to `history`.
+
+### history
+Array of `path` values the file object has had, from `history[0]` (original) through `history[history.length - 1]` (current). `history` and its elements should normally be treated as read-only and only altered indirectly by setting `path`.
+
+### relative
+Returns path.relative for the file base and file path.
+
+Example:
+
+```javascript
+var file = new File({
+ cwd: "/",
+ base: "/test/",
+ path: "/test/file.coffee"
+});
+
+console.log(file.relative); // file.coffee
+```
+
+### dirname
+Gets and sets path.dirname for the file path.
+
+Example:
+
+```javascript
+var file = new File({
+ cwd: "/",
+ base: "/test/",
+ path: "/test/file.coffee"
+});
+
+console.log(file.dirname); // /test
+
+file.dirname = '/specs';
+
+console.log(file.dirname); // /specs
+console.log(file.path); // /specs/file.coffee
+`
+```
+
+### basename
+Gets and sets path.basename for the file path.
+
+Example:
+
+```javascript
+var file = new File({
+ cwd: "/",
+ base: "/test/",
+ path: "/test/file.coffee"
+});
+
+console.log(file.basename); // file.coffee
+
+file.basename = 'file.js';
+
+console.log(file.basename); // file.js
+console.log(file.path); // /test/file.js
+`
+```
+
+### extname
+Gets and sets path.extname for the file path.
+
+Example:
+
+```javascript
+var file = new File({
+ cwd: "/",
+ base: "/test/",
+ path: "/test/file.coffee"
+});
+
+console.log(file.extname); // .coffee
+
+file.extname = '.js';
+
+console.log(file.extname); // .js
+console.log(file.path); // /test/file.js
+`
+```
+
+[npm-url]: https://npmjs.org/package/vinyl
+[npm-image]: https://badge.fury.io/js/vinyl.png
+[travis-url]: https://travis-ci.org/wearefractal/vinyl
+[travis-image]: https://travis-ci.org/wearefractal/vinyl.png?branch=master
+[coveralls-url]: https://coveralls.io/r/wearefractal/vinyl
+[coveralls-image]: https://coveralls.io/repos/wearefractal/vinyl/badge.png
+[depstat-url]: https://david-dm.org/wearefractal/vinyl
+[depstat-image]: https://david-dm.org/wearefractal/vinyl.png
diff --git a/node_modules/gulp-util/node_modules/vinyl/index.js b/node_modules/gulp-util/node_modules/vinyl/index.js
new file mode 100644
index 000000000..c8f113ffe
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/index.js
@@ -0,0 +1,213 @@
+var path = require('path');
+var clone = require('clone');
+var cloneStats = require('clone-stats');
+var cloneBuffer = require('./lib/cloneBuffer');
+var isBuffer = require('./lib/isBuffer');
+var isStream = require('./lib/isStream');
+var isNull = require('./lib/isNull');
+var inspectStream = require('./lib/inspectStream');
+var Stream = require('stream');
+var replaceExt = require('replace-ext');
+
+function File(file) {
+ if (!file) file = {};
+
+ // record path change
+ var history = file.path ? [file.path] : file.history;
+ this.history = history || [];
+
+ this.cwd = file.cwd || process.cwd();
+ this.base = file.base || this.cwd;
+
+ // stat = files stats object
+ this.stat = file.stat || null;
+
+ // contents = stream, buffer, or null if not read
+ this.contents = file.contents || null;
+
+ this._isVinyl = true;
+}
+
+File.prototype.isBuffer = function() {
+ return isBuffer(this.contents);
+};
+
+File.prototype.isStream = function() {
+ return isStream(this.contents);
+};
+
+File.prototype.isNull = function() {
+ return isNull(this.contents);
+};
+
+// TODO: should this be moved to vinyl-fs?
+File.prototype.isDirectory = function() {
+ return this.isNull() && this.stat && this.stat.isDirectory();
+};
+
+File.prototype.clone = function(opt) {
+ if (typeof opt === 'boolean') {
+ opt = {
+ deep: opt,
+ contents: true
+ };
+ } else if (!opt) {
+ opt = {
+ deep: true,
+ contents: true
+ };
+ } else {
+ opt.deep = opt.deep === true;
+ opt.contents = opt.contents !== false;
+ }
+
+ // clone our file contents
+ var contents;
+ if (this.isStream()) {
+ contents = this.contents.pipe(new Stream.PassThrough());
+ this.contents = this.contents.pipe(new Stream.PassThrough());
+ } else if (this.isBuffer()) {
+ contents = opt.contents ? cloneBuffer(this.contents) : this.contents;
+ }
+
+ var file = new File({
+ cwd: this.cwd,
+ base: this.base,
+ stat: (this.stat ? cloneStats(this.stat) : null),
+ history: this.history.slice(),
+ contents: contents
+ });
+
+ // clone our custom properties
+ Object.keys(this).forEach(function(key) {
+ // ignore built-in fields
+ if (key === '_contents' || key === 'stat' ||
+ key === 'history' || key === 'path' ||
+ key === 'base' || key === 'cwd') {
+ return;
+ }
+ file[key] = opt.deep ? clone(this[key], true) : this[key];
+ }, this);
+ return file;
+};
+
+File.prototype.pipe = function(stream, opt) {
+ if (!opt) opt = {};
+ if (typeof opt.end === 'undefined') opt.end = true;
+
+ if (this.isStream()) {
+ return this.contents.pipe(stream, opt);
+ }
+ if (this.isBuffer()) {
+ if (opt.end) {
+ stream.end(this.contents);
+ } else {
+ stream.write(this.contents);
+ }
+ return stream;
+ }
+
+ // isNull
+ if (opt.end) stream.end();
+ return stream;
+};
+
+File.prototype.inspect = function() {
+ var inspect = [];
+
+ // use relative path if possible
+ var filePath = (this.base && this.path) ? this.relative : this.path;
+
+ if (filePath) {
+ inspect.push('"'+filePath+'"');
+ }
+
+ if (this.isBuffer()) {
+ inspect.push(this.contents.inspect());
+ }
+
+ if (this.isStream()) {
+ inspect.push(inspectStream(this.contents));
+ }
+
+ return '<File '+inspect.join(' ')+'>';
+};
+
+File.isVinyl = function(file) {
+ return file && file._isVinyl === true;
+};
+
+// virtual attributes
+// or stuff with extra logic
+Object.defineProperty(File.prototype, 'contents', {
+ get: function() {
+ return this._contents;
+ },
+ set: function(val) {
+ if (!isBuffer(val) && !isStream(val) && !isNull(val)) {
+ throw new Error('File.contents can only be a Buffer, a Stream, or null.');
+ }
+ this._contents = val;
+ }
+});
+
+// TODO: should this be moved to vinyl-fs?
+Object.defineProperty(File.prototype, 'relative', {
+ get: function() {
+ if (!this.base) throw new Error('No base specified! Can not get relative.');
+ if (!this.path) throw new Error('No path specified! Can not get relative.');
+ return path.relative(this.base, this.path);
+ },
+ set: function() {
+ throw new Error('File.relative is generated from the base and path attributes. Do not modify it.');
+ }
+});
+
+Object.defineProperty(File.prototype, 'dirname', {
+ get: function() {
+ if (!this.path) throw new Error('No path specified! Can not get dirname.');
+ return path.dirname(this.path);
+ },
+ set: function(dirname) {
+ if (!this.path) throw new Error('No path specified! Can not set dirname.');
+ this.path = path.join(dirname, path.basename(this.path));
+ }
+});
+
+Object.defineProperty(File.prototype, 'basename', {
+ get: function() {
+ if (!this.path) throw new Error('No path specified! Can not get basename.');
+ return path.basename(this.path);
+ },
+ set: function(basename) {
+ if (!this.path) throw new Error('No path specified! Can not set basename.');
+ this.path = path.join(path.dirname(this.path), basename);
+ }
+});
+
+Object.defineProperty(File.prototype, 'extname', {
+ get: function() {
+ if (!this.path) throw new Error('No path specified! Can not get extname.');
+ return path.extname(this.path);
+ },
+ set: function(extname) {
+ if (!this.path) throw new Error('No path specified! Can not set extname.');
+ this.path = replaceExt(this.path, extname);
+ }
+});
+
+Object.defineProperty(File.prototype, 'path', {
+ get: function() {
+ return this.history[this.history.length - 1];
+ },
+ set: function(path) {
+ if (typeof path !== 'string') throw new Error('path should be string');
+
+ // record history only when path changed
+ if (path && path !== this.path) {
+ this.history.push(path);
+ }
+ }
+});
+
+module.exports = File;
diff --git a/node_modules/gulp-util/node_modules/vinyl/lib/cloneBuffer.js b/node_modules/gulp-util/node_modules/vinyl/lib/cloneBuffer.js
new file mode 100644
index 000000000..89f09eda1
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/lib/cloneBuffer.js
@@ -0,0 +1,7 @@
+var Buffer = require('buffer').Buffer;
+
+module.exports = function(buf) {
+ var out = new Buffer(buf.length);
+ buf.copy(out);
+ return out;
+};
diff --git a/node_modules/gulp-util/node_modules/vinyl/lib/inspectStream.js b/node_modules/gulp-util/node_modules/vinyl/lib/inspectStream.js
new file mode 100644
index 000000000..d36df6ff6
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/lib/inspectStream.js
@@ -0,0 +1,11 @@
+var isStream = require('./isStream');
+
+module.exports = function(stream) {
+ if (!isStream(stream)) return;
+
+ var streamType = stream.constructor.name;
+ // avoid StreamStream
+ if (streamType === 'Stream') streamType = '';
+
+ return '<'+streamType+'Stream>';
+};
diff --git a/node_modules/gulp-util/node_modules/vinyl/lib/isBuffer.js b/node_modules/gulp-util/node_modules/vinyl/lib/isBuffer.js
new file mode 100644
index 000000000..8a767d174
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/lib/isBuffer.js
@@ -0,0 +1 @@
+module.exports = require('buffer').Buffer.isBuffer;
diff --git a/node_modules/gulp-util/node_modules/vinyl/lib/isNull.js b/node_modules/gulp-util/node_modules/vinyl/lib/isNull.js
new file mode 100644
index 000000000..7f22c63ae
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/lib/isNull.js
@@ -0,0 +1,3 @@
+module.exports = function(v) {
+ return v === null;
+};
diff --git a/node_modules/gulp-util/node_modules/vinyl/lib/isStream.js b/node_modules/gulp-util/node_modules/vinyl/lib/isStream.js
new file mode 100644
index 000000000..9ce0929b0
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/lib/isStream.js
@@ -0,0 +1,5 @@
+var Stream = require('stream').Stream;
+
+module.exports = function(o) {
+ return !!o && o instanceof Stream;
+}; \ No newline at end of file
diff --git a/node_modules/gulp-util/node_modules/vinyl/package.json b/node_modules/gulp-util/node_modules/vinyl/package.json
new file mode 100644
index 000000000..fcc73dd84
--- /dev/null
+++ b/node_modules/gulp-util/node_modules/vinyl/package.json
@@ -0,0 +1,107 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "vinyl@^0.5.0",
+ "scope": null,
+ "escapedName": "vinyl",
+ "name": "vinyl",
+ "rawSpec": "^0.5.0",
+ "spec": ">=0.5.0 <0.6.0",
+ "type": "range"
+ },
+ "/home/dold/repos/taler/wallet-webex/node_modules/gulp-util"
+ ]
+ ],
+ "_from": "vinyl@>=0.5.0 <0.6.0",
+ "_id": "vinyl@0.5.3",
+ "_inCache": true,
+ "_location": "/gulp-util/vinyl",
+ "_nodeVersion": "2.5.0",
+ "_npmUser": {
+ "name": "fractal",
+ "email": "contact@wearefractal.com"
+ },
+ "_npmVersion": "2.13.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "vinyl@^0.5.0",
+ "scope": null,
+ "escapedName": "vinyl",
+ "name": "vinyl",
+ "rawSpec": "^0.5.0",
+ "spec": ">=0.5.0 <0.6.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/gulp-util"
+ ],
+ "_resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
+ "_shasum": "b0455b38fc5e0cf30d4325132e461970c2091cde",
+ "_shrinkwrap": null,
+ "_spec": "vinyl@^0.5.0",
+ "_where": "/home/dold/repos/taler/wallet-webex/node_modules/gulp-util",
+ "author": {
+ "name": "Fractal",
+ "email": "contact@wearefractal.com",
+ "url": "http://wearefractal.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/wearefractal/vinyl/issues"
+ },
+ "dependencies": {
+ "clone": "^1.0.0",
+ "clone-stats": "^0.0.1",
+ "replace-ext": "0.0.1"
+ },
+ "description": "A virtual file format",
+ "devDependencies": {
+ "buffer-equal": "0.0.1",
+ "event-stream": "^3.1.0",
+ "istanbul": "^0.3.0",
+ "istanbul-coveralls": "^1.0.1",
+ "jshint": "^2.4.1",
+ "lodash.templatesettings": "^3.1.0",
+ "mocha": "^2.0.0",
+ "rimraf": "^2.2.5",
+ "should": "^7.0.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "b0455b38fc5e0cf30d4325132e461970c2091cde",
+ "tarball": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz"
+ },
+ "engines": {
+ "node": ">= 0.9"
+ },
+ "files": [
+ "index.js",
+ "lib"
+ ],
+ "gitHead": "6f19648bd67040bfd0dc755ad031e1e5e0b58429",
+ "homepage": "http://github.com/wearefractal/vinyl",
+ "license": "MIT",
+ "main": "./index.js",
+ "maintainers": [
+ {
+ "name": "fractal",
+ "email": "contact@wearefractal.com"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "vinyl",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/wearefractal/vinyl.git"
+ },
+ "scripts": {
+ "coveralls": "istanbul cover _mocha && istanbul-coveralls",
+ "test": "mocha && jshint lib"
+ },
+ "version": "0.5.3"
+}
diff --git a/node_modules/gulp-util/package.json b/node_modules/gulp-util/package.json
new file mode 100644
index 000000000..8c838e0f6
--- /dev/null
+++ b/node_modules/gulp-util/package.json
@@ -0,0 +1,132 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "gulp-util@^3.0.0",
+ "scope": null,
+ "escapedName": "gulp-util",
+ "name": "gulp-util",
+ "rawSpec": "^3.0.0",
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "/home/dold/repos/taler/wallet-webex/node_modules/gulp"
+ ]
+ ],
+ "_from": "gulp-util@>=3.0.0 <4.0.0",
+ "_id": "gulp-util@3.0.7",
+ "_inCache": true,
+ "_location": "/gulp-util",
+ "_nodeVersion": "0.10.36",
+ "_npmUser": {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {
+ "clone": "1.0.2",
+ "clone-stats": "0.0.1",
+ "replace-ext": "0.0.1"
+ },
+ "_requested": {
+ "raw": "gulp-util@^3.0.0",
+ "scope": null,
+ "escapedName": "gulp-util",
+ "name": "gulp-util",
+ "rawSpec": "^3.0.0",
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/gulp",
+ "/gulp-concat",
+ "/gulp-debug",
+ "/gulp-json-transform",
+ "/gulp-tar",
+ "/gulp-typescript",
+ "/gulp-zip"
+ ],
+ "_resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz",
+ "_shasum": "78925c4b8f8b49005ac01a011c557e6218941cbb",
+ "_shrinkwrap": null,
+ "_spec": "gulp-util@^3.0.0",
+ "_where": "/home/dold/repos/taler/wallet-webex/node_modules/gulp",
+ "author": {
+ "name": "Fractal",
+ "email": "contact@wearefractal.com",
+ "url": "http://wearefractal.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/gulpjs/gulp-util/issues"
+ },
+ "dependencies": {
+ "array-differ": "^1.0.0",
+ "array-uniq": "^1.0.2",
+ "beeper": "^1.0.0",
+ "chalk": "^1.0.0",
+ "dateformat": "^1.0.11",
+ "fancy-log": "^1.1.0",
+ "gulplog": "^1.0.0",
+ "has-gulplog": "^0.1.0",
+ "lodash._reescape": "^3.0.0",
+ "lodash._reevaluate": "^3.0.0",
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.template": "^3.0.0",
+ "minimist": "^1.1.0",
+ "multipipe": "^0.1.2",
+ "object-assign": "^3.0.0",
+ "replace-ext": "0.0.1",
+ "through2": "^2.0.0",
+ "vinyl": "^0.5.0"
+ },
+ "description": "Utility functions for gulp plugins",
+ "devDependencies": {
+ "buffer-equal": "^0.0.1",
+ "coveralls": "^2.11.2",
+ "event-stream": "^3.1.7",
+ "istanbul": "^0.3.5",
+ "istanbul-coveralls": "^1.0.1",
+ "jshint": "^2.5.11",
+ "lodash.templatesettings": "^3.0.0",
+ "mocha": "^2.0.1",
+ "rimraf": "^2.2.8",
+ "should": "^7.0.1"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "78925c4b8f8b49005ac01a011c557e6218941cbb",
+ "tarball": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz"
+ },
+ "engines": {
+ "node": ">=0.10"
+ },
+ "files": [
+ "index.js",
+ "lib"
+ ],
+ "gitHead": "b74a5ff121471ed00b84fb1e73a0e75488d33ccd",
+ "homepage": "https://github.com/gulpjs/gulp-util#readme",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "fractal",
+ "email": "contact@wearefractal.com"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "gulp-util",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/gulpjs/gulp-util.git"
+ },
+ "scripts": {
+ "coveralls": "istanbul cover _mocha --report lcovonly && istanbul-coveralls",
+ "test": "jshint *.js lib/*.js test/*.js && mocha"
+ },
+ "version": "3.0.7"
+}