Skip to content

Commit f6b0133

Browse files
author
h.zheng
committed
add an append option, to appending a sourceMappingURL referer, when it is not set to false
1 parent 830da22 commit f6b0133

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/index.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const url = require('url');
1+
const path = require('path')
22

33
const LastCallWebpackPlugin = require('last-call-webpack-plugin');
44

@@ -35,10 +35,16 @@ class OptimizeCssAssetsWebpackPlugin extends LastCallWebpackPlugin {
3535
}
3636

3737
processCss(assetName, asset, assets) {
38-
const parse = url.parse(assetName);
38+
let filename = assetName;
39+
let query = '';
40+
const idx = filename.indexOf('?');
41+
if (idx >= 0) {
42+
query = filename.substr(idx);
43+
filename = filename.substr(0, idx);
44+
}
3945
const assetInfo = {
40-
path: parse.pathname,
41-
query: parse.query ? `?${parse.query}` : '',
46+
path: filename,
47+
query: query,
4248
};
4349

4450
const css = asset.sourceAndMap ? asset.sourceAndMap() : { source: asset.source() };
@@ -73,11 +79,16 @@ class OptimizeCssAssetsWebpackPlugin extends LastCallWebpackPlugin {
7379
.cssProcessor.process(css.source, processOptions, this.options.cssProcessorPluginOptions)
7480
.then(r => {
7581
if (processOptions.map && r.map && r.map.toString) {
76-
var filename = `${assetInfo.path}.map${assetInfo.query}`
82+
let filename = `${assetInfo.path}.map${assetInfo.query}`
7783
if (processOptions.getFileName) {
7884
filename = processOptions.getFileName(assetInfo)
7985
}
8086
assets.setAsset(filename, r.map.toString());
87+
88+
if (processOptions.append !== false) { // true or undefined
89+
let reletivePath = path.relative(path.dirname(assetName), filename).replace(/\\/g, '/')
90+
r.css += `\n/*# sourceMappingURL=${reletivePath}*/`
91+
}
8192
}
8293
return r.css;
8394
});

0 commit comments

Comments
 (0)