ubdate
This commit is contained in:
38
node_modules/vinyl-fs/lib/src/index.js
generated
vendored
Normal file
38
node_modules/vinyl-fs/lib/src/index.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
'use strict';
|
||||
|
||||
var gs = require('glob-stream');
|
||||
var pumpify = require('pumpify');
|
||||
var toThrough = require('to-through');
|
||||
var isValidGlob = require('is-valid-glob');
|
||||
var createResolver = require('resolve-options');
|
||||
|
||||
var config = require('./options');
|
||||
var prepare = require('./prepare');
|
||||
var wrapVinyl = require('./wrap-vinyl');
|
||||
var sourcemap = require('./sourcemap');
|
||||
var readContents = require('./read-contents');
|
||||
var resolveSymlinks = require('./resolve-symlinks');
|
||||
|
||||
function src(glob, opt) {
|
||||
var optResolver = createResolver(config, opt);
|
||||
|
||||
if (!isValidGlob(glob)) {
|
||||
throw new Error('Invalid glob argument: ' + glob);
|
||||
}
|
||||
|
||||
var streams = [
|
||||
gs(glob, opt),
|
||||
wrapVinyl(optResolver),
|
||||
resolveSymlinks(optResolver),
|
||||
prepare(optResolver),
|
||||
readContents(optResolver),
|
||||
sourcemap(optResolver),
|
||||
];
|
||||
|
||||
var outputStream = pumpify.obj(streams);
|
||||
|
||||
return toThrough(outputStream);
|
||||
}
|
||||
|
||||
|
||||
module.exports = src;
|
||||
29
node_modules/vinyl-fs/lib/src/options.js
generated
vendored
Normal file
29
node_modules/vinyl-fs/lib/src/options.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
'use strict';
|
||||
|
||||
var config = {
|
||||
buffer: {
|
||||
type: 'boolean',
|
||||
default: true,
|
||||
},
|
||||
read: {
|
||||
type: 'boolean',
|
||||
default: true,
|
||||
},
|
||||
since: {
|
||||
type: 'date',
|
||||
},
|
||||
removeBOM: {
|
||||
type: 'boolean',
|
||||
default: true,
|
||||
},
|
||||
sourcemaps: {
|
||||
type: 'boolean',
|
||||
default: false,
|
||||
},
|
||||
resolveSymlinks: {
|
||||
type: 'boolean',
|
||||
default: true,
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = config;
|
||||
22
node_modules/vinyl-fs/lib/src/prepare.js
generated
vendored
Normal file
22
node_modules/vinyl-fs/lib/src/prepare.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
|
||||
var through = require('through2');
|
||||
|
||||
function prepareRead(optResolver) {
|
||||
|
||||
function normalize(file, enc, callback) {
|
||||
|
||||
var since = optResolver.resolve('since', file);
|
||||
|
||||
// Skip this file if since option is set and current file is too old
|
||||
if (file.stat && file.stat.mtime <= since) {
|
||||
return callback();
|
||||
}
|
||||
|
||||
return callback(null, file);
|
||||
}
|
||||
|
||||
return through.obj(normalize);
|
||||
}
|
||||
|
||||
module.exports = prepareRead;
|
||||
52
node_modules/vinyl-fs/lib/src/read-contents/index.js
generated
vendored
Normal file
52
node_modules/vinyl-fs/lib/src/read-contents/index.js
generated
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
'use strict';
|
||||
|
||||
var through = require('through2');
|
||||
|
||||
var readDir = require('./read-dir');
|
||||
var readStream = require('./read-stream');
|
||||
var readBuffer = require('./read-buffer');
|
||||
var readSymbolicLink = require('./read-symbolic-link');
|
||||
|
||||
function readContents(optResolver) {
|
||||
|
||||
function readFile(file, enc, callback) {
|
||||
|
||||
// Skip reading contents if read option says so
|
||||
var read = optResolver.resolve('read', file);
|
||||
if (!read) {
|
||||
return callback(null, file);
|
||||
}
|
||||
|
||||
// Don't fail to read a directory
|
||||
if (file.isDirectory()) {
|
||||
return readDir(file, optResolver, onRead);
|
||||
}
|
||||
|
||||
// Process symbolic links included with `resolveSymlinks` option
|
||||
if (file.stat && file.stat.isSymbolicLink()) {
|
||||
return readSymbolicLink(file, optResolver, onRead);
|
||||
}
|
||||
|
||||
// Read and pass full contents
|
||||
var buffer = optResolver.resolve('buffer', file);
|
||||
if (buffer) {
|
||||
return readBuffer(file, optResolver, onRead);
|
||||
}
|
||||
|
||||
// Don't buffer anything - just pass streams
|
||||
return readStream(file, optResolver, onRead);
|
||||
|
||||
// This is invoked by the various readXxx modules when they've finished
|
||||
// reading the contents.
|
||||
function onRead(readErr) {
|
||||
if (readErr) {
|
||||
return callback(readErr);
|
||||
}
|
||||
return callback(null, file);
|
||||
}
|
||||
}
|
||||
|
||||
return through.obj(readFile);
|
||||
}
|
||||
|
||||
module.exports = readContents;
|
||||
25
node_modules/vinyl-fs/lib/src/read-contents/read-buffer.js
generated
vendored
Normal file
25
node_modules/vinyl-fs/lib/src/read-contents/read-buffer.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('graceful-fs');
|
||||
var removeBomBuffer = require('remove-bom-buffer');
|
||||
|
||||
function bufferFile(file, optResolver, onRead) {
|
||||
fs.readFile(file.path, onReadFile);
|
||||
|
||||
function onReadFile(readErr, data) {
|
||||
if (readErr) {
|
||||
return onRead(readErr);
|
||||
}
|
||||
|
||||
var removeBOM = optResolver.resolve('removeBOM', file);
|
||||
if (removeBOM) {
|
||||
file.contents = removeBomBuffer(data);
|
||||
} else {
|
||||
file.contents = data;
|
||||
}
|
||||
|
||||
onRead();
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = bufferFile;
|
||||
8
node_modules/vinyl-fs/lib/src/read-contents/read-dir.js
generated
vendored
Normal file
8
node_modules/vinyl-fs/lib/src/read-contents/read-dir.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
function readDir(file, optResolver, onRead) {
|
||||
// Do nothing for now
|
||||
onRead();
|
||||
}
|
||||
|
||||
module.exports = readDir;
|
||||
31
node_modules/vinyl-fs/lib/src/read-contents/read-stream.js
generated
vendored
Normal file
31
node_modules/vinyl-fs/lib/src/read-contents/read-stream.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('graceful-fs');
|
||||
var removeBomStream = require('remove-bom-stream');
|
||||
var lazystream = require('lazystream');
|
||||
var createResolver = require('resolve-options');
|
||||
|
||||
function streamFile(file, optResolver, onRead) {
|
||||
if (typeof optResolver === 'function') {
|
||||
onRead = optResolver;
|
||||
optResolver = createResolver();
|
||||
}
|
||||
|
||||
var filePath = file.path;
|
||||
|
||||
var removeBOM = optResolver.resolve('removeBOM', file);
|
||||
|
||||
file.contents = new lazystream.Readable(function() {
|
||||
var contents = fs.createReadStream(filePath);
|
||||
|
||||
if (removeBOM) {
|
||||
return contents.pipe(removeBomStream());
|
||||
}
|
||||
|
||||
return contents;
|
||||
});
|
||||
|
||||
onRead();
|
||||
}
|
||||
|
||||
module.exports = streamFile;
|
||||
20
node_modules/vinyl-fs/lib/src/read-contents/read-symbolic-link.js
generated
vendored
Normal file
20
node_modules/vinyl-fs/lib/src/read-contents/read-symbolic-link.js
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('graceful-fs');
|
||||
|
||||
function readLink(file, optResolver, onRead) {
|
||||
fs.readlink(file.path, onReadlink);
|
||||
|
||||
function onReadlink(readErr, target) {
|
||||
if (readErr) {
|
||||
return onRead(readErr);
|
||||
}
|
||||
|
||||
// Store the link target path
|
||||
file.symlink = target;
|
||||
|
||||
onRead();
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = readLink;
|
||||
36
node_modules/vinyl-fs/lib/src/resolve-symlinks.js
generated
vendored
Normal file
36
node_modules/vinyl-fs/lib/src/resolve-symlinks.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
'use strict';
|
||||
|
||||
var through = require('through2');
|
||||
var fo = require('../file-operations');
|
||||
|
||||
function resolveSymlinks(optResolver) {
|
||||
|
||||
// A stat property is exposed on file objects as a (wanted) side effect
|
||||
function resolveFile(file, enc, callback) {
|
||||
|
||||
fo.reflectLinkStat(file.path, file, onReflect);
|
||||
|
||||
function onReflect(statErr) {
|
||||
if (statErr) {
|
||||
return callback(statErr);
|
||||
}
|
||||
|
||||
if (!file.stat.isSymbolicLink()) {
|
||||
return callback(null, file);
|
||||
}
|
||||
|
||||
var resolveSymlinks = optResolver.resolve('resolveSymlinks', file);
|
||||
|
||||
if (!resolveSymlinks) {
|
||||
return callback(null, file);
|
||||
}
|
||||
|
||||
// Get target's stats
|
||||
fo.reflectStat(file.path, file, onReflect);
|
||||
}
|
||||
}
|
||||
|
||||
return through.obj(resolveFile);
|
||||
}
|
||||
|
||||
module.exports = resolveSymlinks;
|
||||
29
node_modules/vinyl-fs/lib/src/sourcemap.js
generated
vendored
Normal file
29
node_modules/vinyl-fs/lib/src/sourcemap.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
'use strict';
|
||||
|
||||
var through = require('through2');
|
||||
var sourcemap = require('vinyl-sourcemap');
|
||||
|
||||
function sourcemapStream(optResolver) {
|
||||
|
||||
function addSourcemap(file, enc, callback) {
|
||||
var srcMap = optResolver.resolve('sourcemaps', file);
|
||||
|
||||
if (!srcMap) {
|
||||
return callback(null, file);
|
||||
}
|
||||
|
||||
sourcemap.add(file, onAdd);
|
||||
|
||||
function onAdd(sourcemapErr, updatedFile) {
|
||||
if (sourcemapErr) {
|
||||
return callback(sourcemapErr);
|
||||
}
|
||||
|
||||
callback(null, updatedFile);
|
||||
}
|
||||
}
|
||||
|
||||
return through.obj(addSourcemap);
|
||||
}
|
||||
|
||||
module.exports = sourcemapStream;
|
||||
18
node_modules/vinyl-fs/lib/src/wrap-vinyl.js
generated
vendored
Normal file
18
node_modules/vinyl-fs/lib/src/wrap-vinyl.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
'use strict';
|
||||
|
||||
var File = require('vinyl');
|
||||
var through = require('through2');
|
||||
|
||||
function wrapVinyl() {
|
||||
|
||||
function wrapFile(globFile, enc, callback) {
|
||||
|
||||
var file = new File(globFile);
|
||||
|
||||
callback(null, file);
|
||||
}
|
||||
|
||||
return through.obj(wrapFile);
|
||||
}
|
||||
|
||||
module.exports = wrapVinyl;
|
||||
Reference in New Issue
Block a user