21 lines
568 B
JavaScript
21 lines
568 B
JavaScript
var path = require('path');
|
|
var through2 = require('through2');
|
|
var flattenPath = require('./lib/flatten-path');
|
|
var PluginError = require('plugin-error');
|
|
|
|
module.exports = function(opts) {
|
|
opts = opts || {};
|
|
opts.newPath = opts.newPath || '';
|
|
|
|
return through2.obj(function(file, enc, next) {
|
|
if (!file.isDirectory()) {
|
|
try {
|
|
file.path = path.join(file.base, opts.newPath, flattenPath(file, opts));
|
|
this.push(file);
|
|
} catch (e) {
|
|
this.emit('error', new PluginError('gulp-flatten', e));
|
|
}
|
|
}
|
|
next();
|
|
});
|
|
};
|