Skip to content

Commit 3ecfc26

Browse files
refactor: code
1 parent a45a74f commit 3ecfc26

File tree

5 files changed

+156
-54
lines changed

5 files changed

+156
-54
lines changed

src/plugins/postcss-import-parser.js

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
resolveRequests,
66
isUrlRequestable,
77
requestify,
8-
isWebpackIgnoreComment,
8+
webpackIgnoreCommentRegexp,
99
} from "../utils";
1010

1111
function visitor(result, parsedResults, node, key) {
@@ -14,8 +14,25 @@ function visitor(result, parsedResults, node, key) {
1414
return;
1515
}
1616

17-
if (isWebpackIgnoreComment(node)) {
18-
return;
17+
if (node.raws.afterName && node.raws.afterName.trim().length > 0) {
18+
const lastCommentIndex = node.raws.afterName.lastIndexOf("/*");
19+
const matched = node.raws.afterName
20+
.slice(lastCommentIndex)
21+
.match(webpackIgnoreCommentRegexp);
22+
23+
if (matched && matched[2] === "true") {
24+
return;
25+
}
26+
}
27+
28+
const prevNode = node.prev();
29+
30+
if (prevNode && prevNode.type === "comment") {
31+
const matched = prevNode.text.match(webpackIgnoreCommentRegexp);
32+
33+
if (matched && matched[2] === "true") {
34+
return;
35+
}
1936
}
2037

2138
// Nodes do not exists - `@import url('http://') :root {}`

src/plugins/postcss-url-parser.js

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
requestify,
66
resolveRequests,
77
isUrlRequestable,
8-
isWebpackIgnoreComment,
98
webpackIgnoreCommentRegexp,
109
} from "../utils";
1110

@@ -37,36 +36,56 @@ function visitor(result, parsedResults, node, key) {
3736
return;
3837
}
3938

40-
if (isWebpackIgnoreComment(node)) {
41-
return;
39+
const value =
40+
typeof node.raws.value === "undefined" ? node[key] : node.raws.value.raw;
41+
const parsed = valueParser(value);
42+
43+
let needIgnore;
44+
45+
if (typeof node.raws.between !== "undefined") {
46+
const lastCommentIndex = node.raws.between.lastIndexOf("/*");
47+
48+
const matched = node.raws.between
49+
.slice(lastCommentIndex)
50+
.match(webpackIgnoreCommentRegexp);
51+
52+
if (matched) {
53+
needIgnore = matched[2] === "true";
54+
}
4255
}
4356

44-
const parsed = valueParser(
45-
typeof node.raws.value === "undefined" ? node[key] : node.raws.value.raw
46-
);
57+
let isIgnoreOnDeclaration = false;
4758

48-
let webpackIgnore =
49-
typeof node.raws.between !== "undefined" &&
50-
webpackIgnoreCommentRegexp.test(node.raws.between);
59+
const prevNode = node.prev();
5160

52-
if (webpackIgnore && isImageSetFunc.test(parsed.nodes[0].value)) {
53-
return;
61+
if (prevNode && prevNode.type === "comment") {
62+
const matched = prevNode.text.match(webpackIgnoreCommentRegexp);
63+
64+
if (matched) {
65+
isIgnoreOnDeclaration = matched[2] === "true";
66+
}
5467
}
5568

5669
parsed.walk((valueNode) => {
5770
if (valueNode.type === "comment") {
58-
if (webpackIgnoreCommentRegexp.test(valueNode.value)) {
59-
webpackIgnore = true;
60-
}
71+
const matched = valueNode.value.match(webpackIgnoreCommentRegexp);
72+
73+
needIgnore = matched && matched[2] === "true";
74+
6175
return;
6276
}
6377

6478
if (valueNode.type !== "function") {
6579
return;
6680
}
6781

68-
if (webpackIgnore) {
69-
webpackIgnore = false;
82+
if (isIgnoreOnDeclaration && needIgnore !== false) {
83+
return;
84+
}
85+
86+
if (needIgnore) {
87+
// eslint-disable-next-line no-undefined
88+
needIgnore = undefined;
7089
return;
7190
}
7291

@@ -90,6 +109,7 @@ function visitor(result, parsedResults, node, key) {
90109
// eslint-disable-next-line consistent-return
91110
return false;
92111
} else if (isImageSetFunc.test(valueNode.value)) {
112+
// TODO bug
93113
let imageSetWebpackIgnore = false;
94114

95115
for (const nNode of valueNode.nodes) {

src/utils.js

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const unescapeRegExp = new RegExp(
1919
"ig"
2020
);
2121
const matchNativeWin32Path = /^[A-Z]:[/\\]|^\\\\/i;
22-
const webpackIgnoreCommentRegexp = /webpackIgnore:(\s+)?true/i;
22+
const webpackIgnoreCommentRegexp = /webpackIgnore:(\s+)?(true|false)/;
2323

2424
function unescape(str) {
2525
return str.replace(unescapeRegExp, (_, escaped, escapedWhitespace) => {
@@ -703,27 +703,6 @@ function sort(a, b) {
703703
return a.index - b.index;
704704
}
705705

706-
function isWebpackIgnoreComment(node) {
707-
if (
708-
node.raws.afterName &&
709-
webpackIgnoreCommentRegexp.test(`${node.raws.afterName}`)
710-
) {
711-
return true;
712-
}
713-
714-
const prevNode = node.prev();
715-
716-
if (
717-
prevNode &&
718-
prevNode.type === "comment" &&
719-
webpackIgnoreCommentRegexp.test(prevNode.text)
720-
) {
721-
return true;
722-
}
723-
724-
return false;
725-
}
726-
727706
export {
728707
normalizeOptions,
729708
shouldUseModulesPlugins,
@@ -743,6 +722,5 @@ export {
743722
resolveRequests,
744723
isUrlRequestable,
745724
sort,
746-
isWebpackIgnoreComment,
747725
webpackIgnoreCommentRegexp,
748726
};

test/__snapshots__/loader.test.js.snap

Lines changed: 90 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -728,6 +728,7 @@ exports[`loader should work with webpackIgnore comment: errors 1`] = `Array []`;
728728
exports[`loader should work with webpackIgnore comment: module 1`] = `
729729
"// Imports
730730
import ___CSS_LOADER_API_IMPORT___ from \\"../../src/runtime/api.js\\";
731+
import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../src/index.js??[ident]!./simple.css\\";
731732
import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../src/runtime/getUrl.js\\";
732733
import ___CSS_LOADER_URL_IMPORT_0___ from \\"./url/img.png\\";
733734
import ___CSS_LOADER_URL_IMPORT_1___ from \\"./fonts/Roboto-Regular.woff2\\";
@@ -736,6 +737,10 @@ import ___CSS_LOADER_URL_IMPORT_3___ from \\"./fonts/Roboto-Regular.ttf\\";
736737
import ___CSS_LOADER_URL_IMPORT_4___ from \\"./fonts/Roboto-Regular.svg\\";
737738
import ___CSS_LOADER_URL_IMPORT_5___ from \\"./fonts/Roboto-Regular.eot\\";
738739
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});
740+
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
741+
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
742+
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
743+
___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
739744
var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
740745
var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
741746
var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);
@@ -745,33 +750,100 @@ var ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_
745750
var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___, { hash: \\"#iefix\\" });
746751
var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { needQuotes: true });
747752
// Module
748-
___CSS_LOADER_EXPORT___.push([module.id, \\"/*webpackIgnore: true*/\\\\n@import url(./basic.css);\\\\n\\\\n@import /* webpackIgnore: true */ url(./imported.css);\\\\n\\\\n/** webpackIgnore: true **/\\\\n@import url(./simple.css);\\\\n\\\\n.class {\\\\n color: red;\\\\n background: /** webpackIgnore: true */ url(\\\\\\"./url/img.png\\\\\\"), url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n color: red;\\\\n /** webpackIgnore: true */\\\\n background: url(\\\\\\"./url/img.png\\\\\\"), url(\\\\\\"./url/img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background:\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n /** webpackIgnore: true **/ url(\\\\\\"./url/img.png\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n /** webpackIgnore: true **/ url(\\\\\\"./url/img.png\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n /** webpackIgnore: true **/\\\\n url(\\\\\\"./url/img.png\\\\\\");\\\\n}\\\\n\\\\n@font-face {\\\\n font-family: \\\\\\"Roboto\\\\\\";\\\\n src: /** webpackIgnore: true **/ url(\\\\\\"./fonts/Roboto-Regular.eot\\\\\\");\\\\n src:\\\\n /** webpackIgnore: true **/\\\\n url(\\\\\\"./fonts/Roboto-Regular.eot#iefix\\\\\\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") format(\\\\\\"truetype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") format(\\\\\\"svg\\\\\\");\\\\n font-weight: 400;\\\\n font-style: normal;\\\\n}\\\\n\\\\n@font-face {\\\\n font-family: \\\\\\"Roboto\\\\\\";\\\\n src: /** webpackIgnore: true **/ url(\\\\\\"./fonts/Roboto-Regular.eot\\\\\\");\\\\n /** webpackIgnore: true **/\\\\n src:\\\\n url(\\\\\\"./fonts/Roboto-Regular.eot#iefix\\\\\\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\\\\\"./fonts/Roboto-Regular.woff2\\\\\\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\\\\\"./fonts/Roboto-Regular.woff\\\\\\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\\\\\"./fonts/Roboto-Regular.ttf\\\\\\") format(\\\\\\"truetype\\\\\\"),\\\\n url(\\\\\\"./fonts/Roboto-Regular.svg#Roboto-Regular\\\\\\") format(\\\\\\"svg\\\\\\");\\\\n font-weight: 400;\\\\n font-style: normal;\\\\n}\\\\n\\\\n@font-face {\\\\n font-family: \\\\\\"Roboto\\\\\\";\\\\n src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\");\\\\n src:\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n /** webpackIgnore: true **/\\\\n url(\\\\\\"./fonts/Roboto-Regular.woff2\\\\\\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") format(\\\\\\"woff\\\\\\"),\\\\n /** webpackIgnore: true **/\\\\n url(\\\\\\"./fonts/Roboto-Regular.ttf\\\\\\") format(\\\\\\"truetype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") format(\\\\\\"svg\\\\\\");\\\\n font-weight: 400;\\\\n font-style: normal;\\\\n}\\\\n\\\\n.class {\\\\n /*webpackIgnore: true*/\\\\n background-image: image-set(\\\\n url(./url/img.png) 2x,\\\\n url(./url/img.png) 3x,\\\\n url(./url/img.png) 4x\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background-image: /*webpackIgnore: true*/ image-set(\\\\n url(./url/img.png) 2x,\\\\n url(./url/img.png) 3x,\\\\n url(./url/img.png) 4x\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background-image: image-set(\\\\n /*webpackIgnore: true*/\\\\n url(./url/img.png) 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 3x,\\\\n /*webpackIgnore: true*/\\\\n url(./url/img.png) 5x\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background-image: image-set(\\\\n /*webpackIgnore: true*/\\\\n './url/img.png' 2x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\" 3x,\\\\n /*webpackIgnore: true*/\\\\n './url/img.png' 5x\\\\n );\\\\n}\\\\n\\", \\"\\"]);
753+
___CSS_LOADER_EXPORT___.push([module.id, \\"/* webpackIgnore: true */\\\\n@import url(./basic.css);\\\\n@import /* webpackIgnore: true */ url(./imported.css);\\\\n@import /* webpackIgnore: false */ /* webpackIgnore: true */ url(./simple.css);\\\\n@import /* webpackIgnore: false */ /* webpackIgnore: true */ /* webpackIgnore: true */ url(./simple.css);\\\\n@import /* webpackIgnore: false */ /* webpackIgnore: false */ /* webpackIgnore: true */ url(./simple.css);\\\\n\\\\n/** Resolved **/\\\\n/** Resolved **/\\\\n\\\\n.class {\\\\n color: red;\\\\n background: /** webpackIgnore: true */ url(\\\\\\"./url/img.png\\\\\\"), url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"), /** webpackIgnore: true */ url(\\\\\\"./url/img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n color: red;\\\\n /** webpackIgnore: true */\\\\n background: url(\\\\\\"./url/img.png\\\\\\"), url(\\\\\\"./url/img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n color: red;\\\\n /** webpackIgnore: true */\\\\n background: url(\\\\\\"./url/img.png\\\\\\"), /** webpackIgnore: false */ url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n color: red;\\\\n /** webpackIgnore: true */\\\\n background: url(\\\\\\"./url/img.png\\\\\\"), /** webpackIgnore: false */ url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"), /** webpackIgnore: true */ url(\\\\\\"./url/img.png\\\\\\"), /** webpackIgnore: false */ url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n color: red;\\\\n /** webpackIgnore: true */\\\\n background: /** webpackIgnore: false */ url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"), /** webpackIgnore: true */ url(\\\\\\"./url/img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n color: red;\\\\n background: /** webpackIgnore: true */ /** webpackIgnore: false */ url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"), url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"), /** webpackIgnore: true */ /** webpackIgnore: false */ url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background:\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n /** webpackIgnore: true **/ url(\\\\\\"./url/img.png\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n /** webpackIgnore: true **/ url(\\\\\\"./url/img.png\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"),\\\\n /** webpackIgnore: true **/\\\\n url(\\\\\\"./url/img.png\\\\\\");\\\\n}\\\\n\\\\n@font-face {\\\\n font-family: \\\\\\"Roboto\\\\\\";\\\\n src: /** webpackIgnore: true **/ url(\\\\\\"./fonts/Roboto-Regular.eot\\\\\\");\\\\n src:\\\\n /** webpackIgnore: true **/\\\\n url(\\\\\\"./fonts/Roboto-Regular.eot#iefix\\\\\\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") format(\\\\\\"truetype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") format(\\\\\\"svg\\\\\\");\\\\n font-weight: 400;\\\\n font-style: normal;\\\\n}\\\\n\\\\n@font-face {\\\\n font-family: \\\\\\"Roboto\\\\\\";\\\\n src: /** webpackIgnore: true **/ url(\\\\\\"./fonts/Roboto-Regular.eot\\\\\\");\\\\n /** webpackIgnore: true **/\\\\n src:\\\\n url(\\\\\\"./fonts/Roboto-Regular.eot#iefix\\\\\\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\\\\\"./fonts/Roboto-Regular.woff2\\\\\\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\\\\\"./fonts/Roboto-Regular.woff\\\\\\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\\\\\"./fonts/Roboto-Regular.ttf\\\\\\") format(\\\\\\"truetype\\\\\\"),\\\\n url(\\\\\\"./fonts/Roboto-Regular.svg#Roboto-Regular\\\\\\") format(\\\\\\"svg\\\\\\");\\\\n font-weight: 400;\\\\n font-style: normal;\\\\n}\\\\n\\\\n@font-face {\\\\n font-family: \\\\\\"Roboto\\\\\\";\\\\n src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\");\\\\n src:\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n /** webpackIgnore: true **/\\\\n url(\\\\\\"./fonts/Roboto-Regular.woff2\\\\\\") format(\\\\\\"woff\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") format(\\\\\\"woff\\\\\\"),\\\\n /** webpackIgnore: true **/\\\\n url(\\\\\\"./fonts/Roboto-Regular.ttf\\\\\\") format(\\\\\\"truetype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") format(\\\\\\"svg\\\\\\");\\\\n font-weight: 400;\\\\n font-style: normal;\\\\n}\\\\n\\\\n.class {\\\\n /*webpackIgnore: true*/\\\\n background-image: image-set(\\\\n url(./url/img.png) 2x,\\\\n url(./url/img.png) 3x,\\\\n url(./url/img.png) 4x\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background-image: /*webpackIgnore: true*/ image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 3x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 4x\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background-image: /*webpackIgnore: true*/ image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 3x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 4x\\\\n ), url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: image-set(\\\\n /*webpackIgnore: true*/\\\\n url(./url/img.png) 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 3x,\\\\n /*webpackIgnore: true*/\\\\n url(./url/img.png) 5x\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background-image: image-set(\\\\n /*webpackIgnore: true*/\\\\n './url/img.png' 2x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\" 3x,\\\\n /*webpackIgnore: true*/\\\\n './url/img.png' 5x\\\\n );\\\\n}\\\\n\\", \\"\\"]);
749754
// Exports
750755
export default ___CSS_LOADER_EXPORT___;
751756
"
752757
`;
753758
754759
exports[`loader should work with webpackIgnore comment: result 1`] = `
755760
Array [
761+
Array [
762+
"../../src/index.js?[ident]!./simple.css",
763+
".some-class {
764+
color: red;
765+
}
766+
",
767+
"",
768+
],
769+
Array [
770+
"../../src/index.js?[ident]!./simple.css",
771+
".some-class {
772+
color: red;
773+
}
774+
",
775+
"",
776+
],
777+
Array [
778+
"../../src/index.js?[ident]!./simple.css",
779+
".some-class {
780+
color: red;
781+
}
782+
",
783+
"",
784+
],
785+
Array [
786+
"../../src/index.js?[ident]!./simple.css",
787+
".some-class {
788+
color: red;
789+
}
790+
",
791+
"",
792+
],
756793
Array [
757794
"./webpackIgnore.css",
758-
"/*webpackIgnore: true*/
795+
"/* webpackIgnore: true */
759796
@import url(./basic.css);
797+
@import /* webpackIgnore: true */ url(./imported.css);
798+
@import /* webpackIgnore: false */ /* webpackIgnore: true */ url(./simple.css);
799+
@import /* webpackIgnore: false */ /* webpackIgnore: true */ /* webpackIgnore: true */ url(./simple.css);
800+
@import /* webpackIgnore: false */ /* webpackIgnore: false */ /* webpackIgnore: true */ url(./simple.css);
760801
761-
@import /* webpackIgnore: true */ url(./imported.css);
762-
763-
/** webpackIgnore: true **/
764-
@import url(./simple.css);
802+
/** Resolved **/
803+
/** Resolved **/
765804
766805
.class {
767806
color: red;
768807
background: /** webpackIgnore: true */ url(\\"./url/img.png\\"), url(/webpack/public/path/img.png);
769808
}
770809
810+
.class {
811+
color: red;
812+
background: url(/webpack/public/path/img.png), /** webpackIgnore: true */ url(\\"./url/img.png\\");
813+
}
814+
815+
.class {
816+
color: red;
817+
/** webpackIgnore: true */
818+
background: url(\\"./url/img.png\\"), url(\\"./url/img.png\\");
819+
}
820+
821+
.class {
822+
color: red;
823+
/** webpackIgnore: true */
824+
background: url(\\"./url/img.png\\"), /** webpackIgnore: false */ url(/webpack/public/path/img.png);
825+
}
826+
827+
.class {
828+
color: red;
829+
/** webpackIgnore: true */
830+
background: url(\\"./url/img.png\\"), /** webpackIgnore: false */ url(/webpack/public/path/img.png), /** webpackIgnore: true */ url(\\"./url/img.png\\"), /** webpackIgnore: false */ url(/webpack/public/path/img.png);
831+
}
832+
771833
.class {
772834
color: red;
773835
/** webpackIgnore: true */
774-
background: url(\\"./url/img.png\\"), url(\\"./url/img.png\\");
836+
background: /** webpackIgnore: false */ url(/webpack/public/path/img.png), /** webpackIgnore: true */ url(\\"./url/img.png\\");
837+
}
838+
839+
.class {
840+
color: red;
841+
background: /** webpackIgnore: true */ /** webpackIgnore: false */ url(/webpack/public/path/img.png), url(/webpack/public/path/img.png);
842+
}
843+
844+
.class {
845+
color: red;
846+
background: url(/webpack/public/path/img.png), /** webpackIgnore: true */ /** webpackIgnore: false */ url(/webpack/public/path/img.png);
775847
}
776848
777849
.class {
@@ -842,12 +914,20 @@ Array [
842914
843915
.class {
844916
background-image: /*webpackIgnore: true*/ image-set(
845-
url(./url/img.png) 2x,
846-
url(./url/img.png) 3x,
847-
url(./url/img.png) 4x
917+
url(/webpack/public/path/img.png) 2x,
918+
url(/webpack/public/path/img.png) 3x,
919+
url(/webpack/public/path/img.png) 4x
848920
);
849921
}
850922
923+
.class {
924+
background-image: /*webpackIgnore: true*/ image-set(
925+
url(/webpack/public/path/img.png) 2x,
926+
url(/webpack/public/path/img.png) 3x,
927+
url(/webpack/public/path/img.png) 4x
928+
), url(/webpack/public/path/img.png);
929+
}
930+
851931
.class {
852932
background-image: image-set(
853933
/*webpackIgnore: true*/

0 commit comments

Comments
 (0)