Skip to content

Commit ad3729b

Browse files
fix: module identifier, don't merge modules with different media/suppors/layer (#1021)
1 parent e0ca181 commit ad3729b

File tree

16 files changed

+142
-1
lines changed

16 files changed

+142
-1
lines changed

src/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ class MiniCssExtractPlugin {
165165
}
166166

167167
identifier() {
168-
return `css|${this._identifier}|${this._identifierIndex}`;
168+
return `css|${this._identifier}|${this._identifierIndex}|${this.layer}|${this.supports}|${this.media}}}`;
169169
}
170170

171171
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
body {
2+
background: black;
3+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
body {
2+
background: black;
3+
}
4+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@supports (display: flex) {
2+
body {
3+
background: black;
4+
}
5+
6+
}
7+
8+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@import url("dark.css") supports(display: flex);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import Self from "../../../src";
2+
3+
module.exports = {
4+
entry: {
5+
dark: "./dark.css",
6+
index: "./index.css",
7+
},
8+
module: {
9+
rules: [
10+
{
11+
test: /\.css$/,
12+
use: [
13+
{
14+
loader: Self.loader,
15+
},
16+
{
17+
loader: "css-loader",
18+
options: {
19+
modules: true,
20+
},
21+
},
22+
],
23+
},
24+
],
25+
},
26+
plugins: [
27+
new Self({
28+
filename: "[name].css",
29+
}),
30+
],
31+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
body {
2+
background: black;
3+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
body {
2+
background: black;
3+
}
4+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@layer framework.component {
2+
body {
3+
background: black;
4+
}
5+
6+
}
7+
8+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@import url("dark.css") layer(framework.component);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import Self from "../../../src";
2+
3+
module.exports = {
4+
entry: {
5+
dark: "./dark.css",
6+
index: "./index.css",
7+
},
8+
module: {
9+
rules: [
10+
{
11+
test: /\.css$/,
12+
use: [
13+
{
14+
loader: Self.loader,
15+
},
16+
{
17+
loader: "css-loader",
18+
options: {
19+
modules: true,
20+
},
21+
},
22+
],
23+
},
24+
],
25+
},
26+
plugins: [
27+
new Self({
28+
filename: "[name].css",
29+
}),
30+
],
31+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
body {
2+
background: black;
3+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
body {
2+
background: black;
3+
}
4+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
@media (prefers-color-scheme: dark) {
2+
body {
3+
background: black;
4+
}
5+
6+
}
7+
8+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@import "./dark.css" (prefers-color-scheme: dark);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import Self from "../../../src";
2+
3+
module.exports = {
4+
entry: {
5+
dark: "./dark.css",
6+
index: "./index.css",
7+
},
8+
module: {
9+
rules: [
10+
{
11+
test: /\.css$/,
12+
use: [
13+
{
14+
loader: Self.loader,
15+
},
16+
{
17+
loader: "css-loader",
18+
options: {
19+
modules: true,
20+
},
21+
},
22+
],
23+
},
24+
],
25+
},
26+
plugins: [
27+
new Self({
28+
filename: "[name].css",
29+
}),
30+
],
31+
};

0 commit comments

Comments
 (0)