first commit
This commit is contained in:
65
build/node_modules/gulp-rename/index.js
generated
vendored
Normal file
65
build/node_modules/gulp-rename/index.js
generated
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
'use strict';
|
||||
|
||||
var Stream = require('stream');
|
||||
var Path = require('path');
|
||||
|
||||
function gulpRename(obj) {
|
||||
|
||||
var stream = new Stream.Transform({objectMode: true});
|
||||
|
||||
function parsePath(path) {
|
||||
var extname = Path.extname(path);
|
||||
return {
|
||||
dirname: Path.dirname(path),
|
||||
basename: Path.basename(path, extname),
|
||||
extname: extname
|
||||
};
|
||||
}
|
||||
|
||||
stream._transform = function(file, unused, callback) {
|
||||
|
||||
var parsedPath = parsePath(file.relative);
|
||||
var path;
|
||||
|
||||
var type = typeof obj;
|
||||
|
||||
if (type === 'string' && obj !== '') {
|
||||
|
||||
path = obj;
|
||||
|
||||
} else if (type === 'function') {
|
||||
|
||||
obj(parsedPath);
|
||||
path = Path.join(parsedPath.dirname, parsedPath.basename + parsedPath.extname);
|
||||
|
||||
} else if (type === 'object' && obj !== undefined && obj !== null) {
|
||||
|
||||
var dirname = 'dirname' in obj ? obj.dirname : parsedPath.dirname,
|
||||
prefix = obj.prefix || '',
|
||||
suffix = obj.suffix || '',
|
||||
basename = 'basename' in obj ? obj.basename : parsedPath.basename,
|
||||
extname = 'extname' in obj ? obj.extname : parsedPath.extname;
|
||||
|
||||
path = Path.join(dirname, prefix + basename + suffix + extname);
|
||||
|
||||
} else {
|
||||
|
||||
callback(new Error('Unsupported renaming parameter type supplied'), undefined);
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
file.path = Path.join(file.base, path);
|
||||
|
||||
// Rename sourcemap if present
|
||||
if (file.sourceMap) {
|
||||
file.sourceMap.file = file.relative;
|
||||
}
|
||||
|
||||
callback(null, file);
|
||||
};
|
||||
|
||||
return stream;
|
||||
}
|
||||
|
||||
module.exports = gulpRename;
|
||||
Reference in New Issue
Block a user