You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
602 B
31 lines
602 B
2 years ago
|
'use strict';
|
||
|
|
||
|
var through = require('through2');
|
||
|
var normalize = require('normalize-path');
|
||
|
|
||
|
function mapSources(mapFn) {
|
||
|
|
||
|
function transform(file, _, cb) {
|
||
|
if (!file.sourceMap || !file.sourceMap.sources) {
|
||
|
return cb(null, file);
|
||
|
}
|
||
|
|
||
|
function mapper(sourcePath) {
|
||
|
var result = sourcePath;
|
||
|
if (typeof mapFn === 'function') {
|
||
|
result = mapFn(sourcePath, file);
|
||
|
}
|
||
|
|
||
|
return normalize(result);
|
||
|
}
|
||
|
|
||
|
file.sourceMap.sources = file.sourceMap.sources.map(mapper);
|
||
|
|
||
|
cb(null, file);
|
||
|
}
|
||
|
|
||
|
return through.obj(transform);
|
||
|
}
|
||
|
|
||
|
module.exports = mapSources;
|