From 830da22a7eb95d53df4914e7bb84c5da1ea2f315 Mon Sep 17 00:00:00 2001 From: "h.zheng" Date: Sat, 12 Jan 2019 22:40:35 +0800 Subject: [PATCH 1/3] support to set customized source map target fila neme, by a getFileName option. --- src/index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 4376682..86138b5 100644 --- a/src/index.js +++ b/src/index.js @@ -73,7 +73,11 @@ class OptimizeCssAssetsWebpackPlugin extends LastCallWebpackPlugin { .cssProcessor.process(css.source, processOptions, this.options.cssProcessorPluginOptions) .then(r => { if (processOptions.map && r.map && r.map.toString) { - assets.setAsset(`${assetInfo.path}.map${assetInfo.query}`, r.map.toString()); + var filename = `${assetInfo.path}.map${assetInfo.query}` + if (processOptions.getFileName) { + filename = processOptions.getFileName(assetInfo) + } + assets.setAsset(filename, r.map.toString()); } return r.css; }); From f6b01334e3af3b8d0e9f68e36c7381b82ae4f278 Mon Sep 17 00:00:00 2001 From: "h.zheng" Date: Sat, 12 Jan 2019 23:32:34 +0800 Subject: [PATCH 2/3] add an `append` option, to appending a `sourceMappingURL` referer, when it is not set to `false` --- src/index.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/index.js b/src/index.js index 86138b5..8f5e9e4 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,4 @@ -const url = require('url'); +const path = require('path') const LastCallWebpackPlugin = require('last-call-webpack-plugin'); @@ -35,10 +35,16 @@ class OptimizeCssAssetsWebpackPlugin extends LastCallWebpackPlugin { } processCss(assetName, asset, assets) { - const parse = url.parse(assetName); + let filename = assetName; + let query = ''; + const idx = filename.indexOf('?'); + if (idx >= 0) { + query = filename.substr(idx); + filename = filename.substr(0, idx); + } const assetInfo = { - path: parse.pathname, - query: parse.query ? `?${parse.query}` : '', + path: filename, + query: query, }; const css = asset.sourceAndMap ? asset.sourceAndMap() : { source: asset.source() }; @@ -73,11 +79,16 @@ class OptimizeCssAssetsWebpackPlugin extends LastCallWebpackPlugin { .cssProcessor.process(css.source, processOptions, this.options.cssProcessorPluginOptions) .then(r => { if (processOptions.map && r.map && r.map.toString) { - var filename = `${assetInfo.path}.map${assetInfo.query}` + let filename = `${assetInfo.path}.map${assetInfo.query}` if (processOptions.getFileName) { filename = processOptions.getFileName(assetInfo) } assets.setAsset(filename, r.map.toString()); + + if (processOptions.append !== false) { // true or undefined + let reletivePath = path.relative(path.dirname(assetName), filename).replace(/\\/g, '/') + r.css += `\n/*# sourceMappingURL=${reletivePath}*/` + } } return r.css; }); From 0f61498891c423582bc3bd30e81c699b58b353fa Mon Sep 17 00:00:00 2001 From: hz Date: Sat, 29 Jun 2019 18:24:13 +0800 Subject: [PATCH 3/3] Update package.json --- package.json | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 3271ccd..846957d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "optimize-css-assets-webpack-plugin", - "version": "5.0.1", - "description": "A Webpack plugin to optimize \\ minimize CSS assets.", + "version": "5.0.2", + "description": "A Webpack plugin to optimize \\ minimize CSS assets, with sorce map file name support", "keywords": [ "CSS", "duplicate", @@ -11,14 +11,9 @@ "remove", "webpack" ], - "homepage": "http://github.com/NMFR/optimize-css-assets-webpack-plugin", "license": "MIT", "author": "Nuno Rodrigues", "main": "src/index.js", - "repository": { - "type": "git", - "url": "http://github.com/NMFR/optimize-css-assets-webpack-plugin.git" - }, "scripts": { "test": "jest", "test:watch": "jest --watch"