Add production dependencies
This commit is contained in:
parent
5a0114f3e2
commit
579ccdc29f
12113 changed files with 978046 additions and 3 deletions
109
node_modules/gulp-git/lib/catFile.js
generated
vendored
Normal file
109
node_modules/gulp-git/lib/catFile.js
generated
vendored
Normal file
|
@ -0,0 +1,109 @@
|
|||
'use strict';
|
||||
/**
|
||||
* catFile
|
||||
* @module gulp-git/lib/catFile
|
||||
*/
|
||||
|
||||
var through = require('through2');
|
||||
var PluginError = require('plugin-error');
|
||||
var spawn = require('child_process').spawn;
|
||||
var stripBom = require('strip-bom-stream');
|
||||
|
||||
/**
|
||||
* get a buffer.
|
||||
* @callback requestCallback
|
||||
* @param {buffer} buf
|
||||
*/
|
||||
|
||||
/**
|
||||
* Convert stream to buffer
|
||||
*
|
||||
* @param {Stream} stream stream that what to read
|
||||
* @param {readStreamCallback} callback function that receive buffer
|
||||
* @returns {void}
|
||||
*/
|
||||
function readStream(stream, callback) {
|
||||
var buf;
|
||||
stream.on('data', function(data) {
|
||||
if (buf) {
|
||||
buf = Buffer.concat([buf, data]);
|
||||
} else {
|
||||
buf = data;
|
||||
}
|
||||
});
|
||||
stream.once('finish', function() {
|
||||
if (buf) {
|
||||
callback(buf);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @typedef {object} catFileOptions
|
||||
* @property {boolean} stripBOM {@link https://github.com/gulpjs/vinyl-fs#optionsstripbom}
|
||||
* @property {boolean} buffer {@link https://github.com/gulpjs/vinyl-fs#optionsbuffer}
|
||||
*/
|
||||
|
||||
/**
|
||||
* read vinyl file contents
|
||||
* @param {catFileOptions} opt [catFileOptions]{@link module:gulp-git/lib/catFile~catFileOptions}
|
||||
* @returns {stream} stream of vinyl `File` objects.
|
||||
*/
|
||||
module.exports = function (opt) {
|
||||
if (!opt) opt = {};
|
||||
if (undefined === opt.stripBOM || null === opt.stripBOM) opt.stripBOM = true;
|
||||
if (undefined === opt.buffer || null === opt.buffer) opt.buffer = true;
|
||||
|
||||
/**
|
||||
* transform function of stream {@link https://nodejs.org/docs/latest/api/stream.html#stream_transform_transform_chunk_encoding_callback}
|
||||
*
|
||||
* @param {vinyl} file The file to be transformed.
|
||||
* @param {any} enc encoding type.
|
||||
* @param {function} cb A callback function (optionally with an error argument and data) to be called after the supplied `file` has been processed.
|
||||
* @returns {void}
|
||||
*/
|
||||
var write = function(file, enc, cb) {
|
||||
|
||||
var hash = file.git && file.git.hash;
|
||||
|
||||
/**
|
||||
* set file contents and send file to stream
|
||||
*
|
||||
* @param {Buffer} contents file contents
|
||||
* @returns {void}
|
||||
*/
|
||||
var sendFile = function(contents) {
|
||||
if (contents) {
|
||||
file.contents = contents;
|
||||
}
|
||||
return cb(null, file);
|
||||
};
|
||||
|
||||
if (!hash || /^0+$/.test(hash)) {
|
||||
return sendFile();
|
||||
}
|
||||
|
||||
var catFile = spawn('git', ['cat-file', 'blob', hash], {
|
||||
cwd: file.cwd
|
||||
});
|
||||
|
||||
var contents = catFile.stdout;
|
||||
var that = this;
|
||||
|
||||
readStream(catFile.stderr, function(error) {
|
||||
that.emit('error', new PluginError('gulp-git', 'Command failed: ' + catFile.spawnargs.join(' ').trim() + '\n' + error.toString()));
|
||||
});
|
||||
|
||||
if (opt.stripBOM) {
|
||||
contents = contents.pipe(stripBom());
|
||||
}
|
||||
|
||||
if (opt.buffer) {
|
||||
readStream(contents, sendFile);
|
||||
} else {
|
||||
sendFile(contents);
|
||||
}
|
||||
};
|
||||
var stream = through.obj(write);
|
||||
return stream;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue