Skip to content

Commit 15a41c8

Browse files
frenzzyNMFR
authored andcommitted
Source maps support (NMFR#61)
Fixes NMFR#53
1 parent d084a55 commit 15a41c8

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

src/index.js

+17-14
Original file line numberDiff line numberDiff line change
@@ -30,33 +30,36 @@ class OptimizeCssAssetsWebpackPlugin extends LastCallWebpackPlugin {
3030
}
3131

3232
processCss(assetName, asset, assets) {
33-
const css = asset.source();
33+
const css = asset.sourceAndMap ? asset.sourceAndMap() : { source: asset.source() };
3434
const processOptions = Object.assign(
3535
{ from: assetName, to: assetName },
36-
this.options.cssProcessorOptions || {}
36+
this.options.cssProcessorOptions
3737
);
3838

3939
if (processOptions.map && !processOptions.map.prev) {
4040
try {
41-
const mapJson = assets.getAsset(assetName + '.map');
42-
if (mapJson) {
43-
const map = JSON.parse(mapJson);
44-
if (
45-
map &&
46-
(
47-
(map.sources && map.sources.length > 0) ||
48-
(map.mappings && map.mappings.length > 0)
49-
)
50-
) {
51-
processOptions.map = Object.assign({ prev: mapJson }, processOptions.map);
41+
let map = css.map;
42+
if (!map) {
43+
const mapJson = assets.getAsset(assetName + '.map');
44+
if (mapJson) {
45+
map = JSON.parse(mapJson);
5246
}
5347
}
48+
if (
49+
map &&
50+
(
51+
(map.sources && map.sources.length > 0) ||
52+
(map.mappings && map.mappings.length > 0)
53+
)
54+
) {
55+
processOptions.map = Object.assign({ prev: map }, processOptions.map);
56+
}
5457
} catch (err) {
5558
console.warn('OptimizeCssAssetsPlugin.processCss() Error getting previous source map', err);
5659
}
5760
}
5861
return this.options
59-
.cssProcessor.process(css, processOptions)
62+
.cssProcessor.process(css.source, processOptions)
6063
.then(r => {
6164
if (processOptions.map && r.map && r.map.toString) {
6265
assets.setAsset(assetName + '.map', r.map.toString());

0 commit comments

Comments
 (0)