From df1ec8d1f0393ef3bb82f46fe884b35c253ba137 Mon Sep 17 00:00:00 2001 From: evilebottnawi Date: Fri, 6 Nov 2020 14:51:57 +0300 Subject: [PATCH 1/2] fix: source map url for devtool --- src/index.js | 4 +-- .../expected/main.css | 4 +++ .../index.js | 0 .../style.css | 0 .../webpack.config.js | 0 .../expected/main.css | 0 .../expected/main.css.map | 1 + .../devtool-source-map-from-loaders/index.js | 1 + .../devtool-source-map-from-loaders/style.css | 3 +++ .../webpack.config.js | 27 +++++++++++++++++++ .../expected/main.css.map | 1 - .../expected/main.css | 4 +++ .../index.js | 1 + .../style.css | 3 +++ .../webpack.config.js | 27 +++++++++++++++++++ 15 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 test/cases/devtool-no-source-map-from-loaders/expected/main.css rename test/cases/{devtool-source-map-no-source-maps-from-css-loader => devtool-no-source-map-from-loaders}/index.js (100%) rename test/cases/{devtool-source-map-no-source-maps-from-css-loader => devtool-no-source-map-from-loaders}/style.css (100%) rename test/cases/{devtool-source-map-no-source-maps-from-css-loader => devtool-no-source-map-from-loaders}/webpack.config.js (100%) rename test/cases/{devtool-source-map-no-source-maps-from-css-loader => devtool-source-map-from-loaders}/expected/main.css (100%) create mode 100644 test/cases/devtool-source-map-from-loaders/expected/main.css.map create mode 100644 test/cases/devtool-source-map-from-loaders/index.js create mode 100644 test/cases/devtool-source-map-from-loaders/style.css create mode 100644 test/cases/devtool-source-map-from-loaders/webpack.config.js delete mode 100644 test/cases/devtool-source-map-no-source-maps-from-css-loader/expected/main.css.map create mode 100644 test/cases/devtool-source-map-no-source-maps-from-loaders/expected/main.css create mode 100644 test/cases/devtool-source-map-no-source-maps-from-loaders/index.js create mode 100644 test/cases/devtool-source-map-no-source-maps-from-loaders/style.css create mode 100644 test/cases/devtool-source-map-no-source-maps-from-loaders/webpack.config.js diff --git a/src/index.js b/src/index.js index 6039de07..cda0bf07 100644 --- a/src/index.js +++ b/src/index.js @@ -11,7 +11,7 @@ import schema from './plugin-options.json'; import { MODULE_TYPE, compareModulesByIdentifier } from './utils'; // webpack 5 exposes the sources property to ensure the right version of webpack-sources is used -const { ConcatSource, SourceMapSource, OriginalSource } = +const { ConcatSource, SourceMapSource, RawSource } = // eslint-disable-next-line global-require webpack.sources || require('webpack-sources'); @@ -688,7 +688,7 @@ class MiniCssExtractPlugin { ); } else { source.add( - new OriginalSource(content, m.readableIdentifier(requestShortener)) + new RawSource(content, m.readableIdentifier(requestShortener)) ); } source.add('\n'); diff --git a/test/cases/devtool-no-source-map-from-loaders/expected/main.css b/test/cases/devtool-no-source-map-from-loaders/expected/main.css new file mode 100644 index 00000000..cebc5c1c --- /dev/null +++ b/test/cases/devtool-no-source-map-from-loaders/expected/main.css @@ -0,0 +1,4 @@ +body { + background: red; +} + diff --git a/test/cases/devtool-source-map-no-source-maps-from-css-loader/index.js b/test/cases/devtool-no-source-map-from-loaders/index.js similarity index 100% rename from test/cases/devtool-source-map-no-source-maps-from-css-loader/index.js rename to test/cases/devtool-no-source-map-from-loaders/index.js diff --git a/test/cases/devtool-source-map-no-source-maps-from-css-loader/style.css b/test/cases/devtool-no-source-map-from-loaders/style.css similarity index 100% rename from test/cases/devtool-source-map-no-source-maps-from-css-loader/style.css rename to test/cases/devtool-no-source-map-from-loaders/style.css diff --git a/test/cases/devtool-source-map-no-source-maps-from-css-loader/webpack.config.js b/test/cases/devtool-no-source-map-from-loaders/webpack.config.js similarity index 100% rename from test/cases/devtool-source-map-no-source-maps-from-css-loader/webpack.config.js rename to test/cases/devtool-no-source-map-from-loaders/webpack.config.js diff --git a/test/cases/devtool-source-map-no-source-maps-from-css-loader/expected/main.css b/test/cases/devtool-source-map-from-loaders/expected/main.css similarity index 100% rename from test/cases/devtool-source-map-no-source-maps-from-css-loader/expected/main.css rename to test/cases/devtool-source-map-from-loaders/expected/main.css diff --git a/test/cases/devtool-source-map-from-loaders/expected/main.css.map b/test/cases/devtool-source-map-from-loaders/expected/main.css.map new file mode 100644 index 00000000..bb767168 --- /dev/null +++ b/test/cases/devtool-source-map-from-loaders/expected/main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./style.css"],"names":[],"mappings":"AAAA;EACE,eAAe;AACjB","file":"main.css","sourcesContent":["body {\n background: red;\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/test/cases/devtool-source-map-from-loaders/index.js b/test/cases/devtool-source-map-from-loaders/index.js new file mode 100644 index 00000000..aa3357bf --- /dev/null +++ b/test/cases/devtool-source-map-from-loaders/index.js @@ -0,0 +1 @@ +import './style.css'; diff --git a/test/cases/devtool-source-map-from-loaders/style.css b/test/cases/devtool-source-map-from-loaders/style.css new file mode 100644 index 00000000..67ce83e4 --- /dev/null +++ b/test/cases/devtool-source-map-from-loaders/style.css @@ -0,0 +1,3 @@ +body { + background: red; +} diff --git a/test/cases/devtool-source-map-from-loaders/webpack.config.js b/test/cases/devtool-source-map-from-loaders/webpack.config.js new file mode 100644 index 00000000..c9443105 --- /dev/null +++ b/test/cases/devtool-source-map-from-loaders/webpack.config.js @@ -0,0 +1,27 @@ +import Self from '../../../src'; + +module.exports = { + entry: './index.js', + devtool: 'source-map', + module: { + rules: [ + { + test: /\.css$/, + use: [ + Self.loader, + { + loader: 'css-loader', + options: { + sourceMap: true, + }, + }, + ], + }, + ], + }, + plugins: [ + new Self({ + filename: '[name].css', + }), + ], +}; diff --git a/test/cases/devtool-source-map-no-source-maps-from-css-loader/expected/main.css.map b/test/cases/devtool-source-map-no-source-maps-from-css-loader/expected/main.css.map deleted file mode 100644 index 5acba1b7..00000000 --- a/test/cases/devtool-source-map-no-source-maps-from-css-loader/expected/main.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./style.css"],"names":[],"mappings":"AAAA;AACA;AACA","file":"main.css","sourcesContent":["body {\n background: red;\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/main.css b/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/main.css new file mode 100644 index 00000000..cebc5c1c --- /dev/null +++ b/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/main.css @@ -0,0 +1,4 @@ +body { + background: red; +} + diff --git a/test/cases/devtool-source-map-no-source-maps-from-loaders/index.js b/test/cases/devtool-source-map-no-source-maps-from-loaders/index.js new file mode 100644 index 00000000..aa3357bf --- /dev/null +++ b/test/cases/devtool-source-map-no-source-maps-from-loaders/index.js @@ -0,0 +1 @@ +import './style.css'; diff --git a/test/cases/devtool-source-map-no-source-maps-from-loaders/style.css b/test/cases/devtool-source-map-no-source-maps-from-loaders/style.css new file mode 100644 index 00000000..67ce83e4 --- /dev/null +++ b/test/cases/devtool-source-map-no-source-maps-from-loaders/style.css @@ -0,0 +1,3 @@ +body { + background: red; +} diff --git a/test/cases/devtool-source-map-no-source-maps-from-loaders/webpack.config.js b/test/cases/devtool-source-map-no-source-maps-from-loaders/webpack.config.js new file mode 100644 index 00000000..4fe65f63 --- /dev/null +++ b/test/cases/devtool-source-map-no-source-maps-from-loaders/webpack.config.js @@ -0,0 +1,27 @@ +import Self from '../../../src'; + +module.exports = { + entry: './index.js', + devtool: 'source-map', + module: { + rules: [ + { + test: /\.css$/, + use: [ + Self.loader, + { + loader: 'css-loader', + options: { + sourceMap: false, + }, + }, + ], + }, + ], + }, + plugins: [ + new Self({ + filename: '[name].css', + }), + ], +}; From f82db5cba1a7442a79de4ff615213f7d123e9b10 Mon Sep 17 00:00:00 2001 From: evilebottnawi Date: Fri, 6 Nov 2020 15:06:59 +0300 Subject: [PATCH 2/2] test: fix --- .../index.js | 1 - .../style.css | 3 --- .../webpack.config.js | 27 ------------------- .../expected/{ => webpack-4}/main.css | 0 .../expected/{ => webpack-4}/main.css.map | 0 .../expected/webpack-5/main.css | 6 +++++ .../expected/webpack-5/main.css.map | 1 + .../expected/main.css | 4 --- .../expected/webpack-4/main.css | 6 +++++ .../expected/webpack-4/main.css.map | 1 + .../expected/webpack-5}/main.css | 0 11 files changed, 14 insertions(+), 35 deletions(-) delete mode 100644 test/cases/devtool-no-source-map-from-loaders/index.js delete mode 100644 test/cases/devtool-no-source-map-from-loaders/style.css delete mode 100644 test/cases/devtool-no-source-map-from-loaders/webpack.config.js rename test/cases/devtool-source-map-from-loaders/expected/{ => webpack-4}/main.css (100%) rename test/cases/devtool-source-map-from-loaders/expected/{ => webpack-4}/main.css.map (100%) create mode 100644 test/cases/devtool-source-map-from-loaders/expected/webpack-5/main.css create mode 100644 test/cases/devtool-source-map-from-loaders/expected/webpack-5/main.css.map delete mode 100644 test/cases/devtool-source-map-no-source-maps-from-loaders/expected/main.css create mode 100644 test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-4/main.css create mode 100644 test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-4/main.css.map rename test/cases/{devtool-no-source-map-from-loaders/expected => devtool-source-map-no-source-maps-from-loaders/expected/webpack-5}/main.css (100%) diff --git a/test/cases/devtool-no-source-map-from-loaders/index.js b/test/cases/devtool-no-source-map-from-loaders/index.js deleted file mode 100644 index aa3357bf..00000000 --- a/test/cases/devtool-no-source-map-from-loaders/index.js +++ /dev/null @@ -1 +0,0 @@ -import './style.css'; diff --git a/test/cases/devtool-no-source-map-from-loaders/style.css b/test/cases/devtool-no-source-map-from-loaders/style.css deleted file mode 100644 index 67ce83e4..00000000 --- a/test/cases/devtool-no-source-map-from-loaders/style.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - background: red; -} diff --git a/test/cases/devtool-no-source-map-from-loaders/webpack.config.js b/test/cases/devtool-no-source-map-from-loaders/webpack.config.js deleted file mode 100644 index 4fe65f63..00000000 --- a/test/cases/devtool-no-source-map-from-loaders/webpack.config.js +++ /dev/null @@ -1,27 +0,0 @@ -import Self from '../../../src'; - -module.exports = { - entry: './index.js', - devtool: 'source-map', - module: { - rules: [ - { - test: /\.css$/, - use: [ - Self.loader, - { - loader: 'css-loader', - options: { - sourceMap: false, - }, - }, - ], - }, - ], - }, - plugins: [ - new Self({ - filename: '[name].css', - }), - ], -}; diff --git a/test/cases/devtool-source-map-from-loaders/expected/main.css b/test/cases/devtool-source-map-from-loaders/expected/webpack-4/main.css similarity index 100% rename from test/cases/devtool-source-map-from-loaders/expected/main.css rename to test/cases/devtool-source-map-from-loaders/expected/webpack-4/main.css diff --git a/test/cases/devtool-source-map-from-loaders/expected/main.css.map b/test/cases/devtool-source-map-from-loaders/expected/webpack-4/main.css.map similarity index 100% rename from test/cases/devtool-source-map-from-loaders/expected/main.css.map rename to test/cases/devtool-source-map-from-loaders/expected/webpack-4/main.css.map diff --git a/test/cases/devtool-source-map-from-loaders/expected/webpack-5/main.css b/test/cases/devtool-source-map-from-loaders/expected/webpack-5/main.css new file mode 100644 index 00000000..8f8cf968 --- /dev/null +++ b/test/cases/devtool-source-map-from-loaders/expected/webpack-5/main.css @@ -0,0 +1,6 @@ +body { + background: red; +} + + +/*# sourceMappingURL=main.css.map*/ \ No newline at end of file diff --git a/test/cases/devtool-source-map-from-loaders/expected/webpack-5/main.css.map b/test/cases/devtool-source-map-from-loaders/expected/webpack-5/main.css.map new file mode 100644 index 00000000..bb767168 --- /dev/null +++ b/test/cases/devtool-source-map-from-loaders/expected/webpack-5/main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./style.css"],"names":[],"mappings":"AAAA;EACE,eAAe;AACjB","file":"main.css","sourcesContent":["body {\n background: red;\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/main.css b/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/main.css deleted file mode 100644 index cebc5c1c..00000000 --- a/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/main.css +++ /dev/null @@ -1,4 +0,0 @@ -body { - background: red; -} - diff --git a/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-4/main.css b/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-4/main.css new file mode 100644 index 00000000..8f8cf968 --- /dev/null +++ b/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-4/main.css @@ -0,0 +1,6 @@ +body { + background: red; +} + + +/*# sourceMappingURL=main.css.map*/ \ No newline at end of file diff --git a/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-4/main.css.map b/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-4/main.css.map new file mode 100644 index 00000000..b350621d --- /dev/null +++ b/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-4/main.css.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"main.css","sourceRoot":""} \ No newline at end of file diff --git a/test/cases/devtool-no-source-map-from-loaders/expected/main.css b/test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-5/main.css similarity index 100% rename from test/cases/devtool-no-source-map-from-loaders/expected/main.css rename to test/cases/devtool-source-map-no-source-maps-from-loaders/expected/webpack-5/main.css