Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 1384 #1385

Merged
merged 3 commits into from
Oct 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
17 changes: 4 additions & 13 deletions src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -317,25 +317,14 @@ function defaultGetLocalIdent(
localName,
options
) {
let relativeMatchResource = "";

const { context, hashSalt } = options;
const { resourcePath } = loaderContext;

// eslint-disable-next-line no-underscore-dangle
if (loaderContext._module && loaderContext._module.matchResource) {
relativeMatchResource = `${normalizePath(
// eslint-disable-next-line no-underscore-dangle
path.relative(context, loaderContext._module.matchResource)
)}\x00`;
}

const relativeResourcePath = normalizePath(
path.relative(context, resourcePath)
);

// eslint-disable-next-line no-param-reassign
options.content = `${relativeMatchResource}${relativeResourcePath}\x00${localName}`;
options.content = `${relativeResourcePath}\x00${localName}`;

let { hashFunction, hashDigest, hashDigestLength } = options;
const matches = localIdentName.match(
Expand All @@ -360,6 +349,7 @@ function defaultGetLocalIdent(
}

let localIdentHash = "";

for (let tier = 0; localIdentHash.length < hashDigestLength; tier++) {
// eslint-disable-next-line no-underscore-dangle
const hash = loaderContext._compiler.webpack.util.createHash(hashFunction);
Expand All @@ -369,9 +359,10 @@ function defaultGetLocalIdent(
}

const tierSalt = Buffer.allocUnsafe(4);

tierSalt.writeUInt32LE(tier);
hash.update(tierSalt);

hash.update(tierSalt);
hash.update(options.content);

localIdentHash = (localIdentHash + hash.digest(hashDigest))
Expand Down
30 changes: 15 additions & 15 deletions test/__snapshots__/loader.test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -849,66 +849,66 @@ exports[`loader should work with inline module syntax: result 1`] = `
Array [
Array [
"other.modules.css!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./index-loader-syntax.modules.css",
".cvQZFnfbeskbGiTlpe_P {
".L34UCpsDMDUf5cci5FTp {
color: red;
}

.IB7LbbTxdNwrVPxtK0wC {
.cR0dzE36E911coHAsfAF {
color: white;
}",
"",
],
Array [
"button.modules.css!=!./index-loader-syntax-sass.css",
".rZ5eCb_mQRy7Svv7Z30B {
".Bm6FV6LbXUxAkIaBjl7y {
width: 5px;
}",
"",
],
Array [
"other.modules.scss!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./index-loader-syntax-sass.modules.css",
".jLbxv4bqH2U20AlFuk92 > .ob3rZ9N1zVzUcOOazzYy {
".JkECLtXaeLgZptjLMVOV > .cg9Qb_Gz48g_sQh4Pjap {
color: red;
}",
"",
],
Array [
"other.modules.css!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader/index.js!./index-loader-syntax.modules.css",
".cvQZFnfbeskbGiTlpe_P {
".L34UCpsDMDUf5cci5FTp {
color: red;
}

.IB7LbbTxdNwrVPxtK0wC {
.cR0dzE36E911coHAsfAF {
color: white;
}

.x0ncp2H8kJ59binDkEa9 {
.BBGEY4nuDapXZ5Z5Llcd {
from: custom;
}",
"",
],
Array [
"other.modules.css!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader/index.js!./index-loader-syntax.modules.css",
".cvQZFnfbeskbGiTlpe_P {
".L34UCpsDMDUf5cci5FTp {
color: red;
}

.IB7LbbTxdNwrVPxtK0wC {
.cR0dzE36E911coHAsfAF {
color: white;
}

.x0ncp2H8kJ59binDkEa9 {
.BBGEY4nuDapXZ5Z5Llcd {
from: custom;
}",
"",
],
Array [
"other.modules.scss!=!../../src/index.js??ruleSet[1].rules[0].rules[0]!../../node_modules/sass-loader/dist/cjs.js!./my-inline-loader/index.js!./index-loader-syntax-sass.modules.css",
".jLbxv4bqH2U20AlFuk92 > .ob3rZ9N1zVzUcOOazzYy {
".JkECLtXaeLgZptjLMVOV > .cg9Qb_Gz48g_sQh4Pjap {
color: red;
}

.yx69bmS9wijyDV84NXI9 {
.WJ9UGZwK6YvLQsxARKO1 {
from: custom;
}",
"",
Expand All @@ -922,21 +922,21 @@ Array [
],
Array [
"button.modules.css!=!./index-loader-syntax-sass.css",
".rZ5eCb_mQRy7Svv7Z30B {
".Bm6FV6LbXUxAkIaBjl7y {
width: 5px;
}",
"",
],
Array [
"button.module.scss!=!./base64-loader/index.js?LmZvbyB7IGNvbG9yOiByZWQ7IH0=!./simple.js?foo=bar",
".y2EgZjTXV61h0Dgjp49t {
".nQ7qpE_fxjuYDsViKqtM {
color: red;
}",
"",
],
Array [
"other.module.scss!=!./base64-loader/index.js?LmZvbyB7IGNvbG9yOiByZWQ7IH0=!./simple.js?foo=baz",
".PTgI00lRDqe1Y8cb5zcw {
".nQ7qpE_fxjuYDsViKqtM {
color: red;
}",
"",
Expand Down
185 changes: 178 additions & 7 deletions test/__snapshots__/modules-option.test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -1979,6 +1979,177 @@ Array [

exports[`"modules" option should work and correctly replace escaped symbols: warnings 1`] = `Array []`;

exports[`"modules" option should work and generate the same classes for client and server: client errors 1`] = `Array []`;

exports[`"modules" option should work and generate the same classes for client and server: client module 1`] = `
"// extracted by mini-css-extract-plugin
export default {\\"123\\":\\"oqRGsO4UR7_DWiqWXJMz\\",\\"test\\":\\"KuIShlgsYfxvLoLHT1mu\\",\\"_test\\":\\"Lb3fhDAuJv4v7BXOPttP\\",\\"className\\":\\"LdhpkZRWyKT7zDwJ0lt8\\",\\"someId\\":\\"b0rhwJStMR3eH63oapwW\\",\\"subClass\\":\\"Mw9j4nIdjx1xCGDt7d6a\\",\\"-a0-34a___f\\":\\"DdFWMPoluIgmQirKzoS6\\",\\"m_x_@\\":\\"OdAmghrme3xnUYOdzoDw\\",\\"B&W?\\":\\"h4SEF34CLwChRsak1742\\",\\":\`(\\":\\"fKJQkLarfQOel4wwbIrn\\",\\"1a2b3c\\":\\"YR1u_buYf6paLzzUM6Vc\\",\\"#fake-id\\":\\"AqiAGSfnwaXj3eqg0Om8\\",\\"-a-b-c-\\":\\"CwXv27VMwyQqKBvNNaFr\\",\\"©\\":\\"jBj0sZiWBysiwRyGu_go\\",\\"♥\\":\\"vJl9A9Ds21oujVsd5UD2\\",\\"“‘’”\\":\\"GM0Y0nFCPtkVMz6Esfno\\",\\"☺☃\\":\\"NKrBw7EAqPT7Cgn7JzrA\\",\\"⌘⌥\\":\\"edHWpSne18gmGmfN6SV6\\",\\"𝄞♪♩♫♬\\":\\"QyMp9YMEoYUmEHEdpRal\\",\\"💩\\":\\"B82YxwgREHbKn8IpgaWw\\",\\"?\\":\\"ndmpvNNltJXbDVvqKuxt\\",\\"@\\":\\"v3gq0wPogd6ZPfq_pfyZ\\",\\".\\":\\"zd5uIZq6KrAWTwBjwZdC\\",\\":)\\":\\"ZiZnRjRT03NgoqVQwkGO\\",\\"<p>\\":\\"TdAx2ZSkw7Hbktc7KR72\\",\\"<><<<>><>\\":\\"ozNsTIG0LL2gSQdL5dzv\\",\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\":\\"ByKoYcSrMT2cN3V2iAgZ\\",\\"#\\":\\"HkwIsjW5i7WNAxVRd5cg\\",\\"##\\":\\"IJc6Xl4ZKVZvSoeIuI2Q\\",\\"#.#.#\\":\\"BnPpnJmPeNr51pj2ZTlf\\",\\"_\\":\\"bCwkZEDuxDAOhKnMdLVF\\",\\"{}\\":\\"IZkBfE9iUPen76w2bB_q\\",\\"foo.bar\\":\\"uajo7mHzD_tTqOXqaqdg\\",\\":hover\\":\\"HVudUNXnLNQoCLpVn82S\\",\\":hover:focus:active\\":\\"ZlaaXvHLUsJOCFzItB_1\\",\\"[attr=value]\\":\\"PWvC4jVM5SwUmKmw2tfW\\",\\"f/o/o\\":\\"A5l5sDODF4CQBW_PtlQD\\",\\"f\\\\\\\\o\\\\\\\\o\\":\\"DFfh4KyqOODVQsTPb3wt\\",\\"f*o*o\\":\\"gv1E2n_bVvy0iT8TaHIv\\",\\"f!o!o\\":\\"_aIyR9ETAs8ipXmRrrDO\\",\\"f'o'o\\":\\"HSXNnSjt1QaHBHUb_UIs\\",\\"f~o~o\\":\\"MrVzSIcSXyoDsr5G0K5_\\",\\"f+o+o\\":\\"EvMHRmCudyKg3GpLjAfj\\",\\"foo/bar\\":\\"hei2uQgDeX2YNkppCHp9\\",\\"foo\\\\\\\\bar\\":\\"IgSzmmsCqiJBl4SibwgR\\",\\"foo/bar/baz\\":\\"p6KJMhNWwmCU2bXHJB93\\",\\"foo\\\\\\\\bar\\\\\\\\baz\\":\\"HZerWgmU0ffpPzySVi_g\\"};"
`;

exports[`"modules" option should work and generate the same classes for client and server: client result 1`] = `
Object {
"#": "HkwIsjW5i7WNAxVRd5cg",
"##": "IJc6Xl4ZKVZvSoeIuI2Q",
"#.#.#": "BnPpnJmPeNr51pj2ZTlf",
"#fake-id": "AqiAGSfnwaXj3eqg0Om8",
"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "ByKoYcSrMT2cN3V2iAgZ",
"-a-b-c-": "CwXv27VMwyQqKBvNNaFr",
"-a0-34a___f": "DdFWMPoluIgmQirKzoS6",
".": "zd5uIZq6KrAWTwBjwZdC",
"123": "oqRGsO4UR7_DWiqWXJMz",
"1a2b3c": "YR1u_buYf6paLzzUM6Vc",
":)": "ZiZnRjRT03NgoqVQwkGO",
":\`(": "fKJQkLarfQOel4wwbIrn",
":hover": "HVudUNXnLNQoCLpVn82S",
":hover:focus:active": "ZlaaXvHLUsJOCFzItB_1",
"<><<<>><>": "ozNsTIG0LL2gSQdL5dzv",
"<p>": "TdAx2ZSkw7Hbktc7KR72",
"?": "ndmpvNNltJXbDVvqKuxt",
"@": "v3gq0wPogd6ZPfq_pfyZ",
"B&W?": "h4SEF34CLwChRsak1742",
"[attr=value]": "PWvC4jVM5SwUmKmw2tfW",
"_": "bCwkZEDuxDAOhKnMdLVF",
"_test": "Lb3fhDAuJv4v7BXOPttP",
"className": "LdhpkZRWyKT7zDwJ0lt8",
"f!o!o": "_aIyR9ETAs8ipXmRrrDO",
"f'o'o": "HSXNnSjt1QaHBHUb_UIs",
"f*o*o": "gv1E2n_bVvy0iT8TaHIv",
"f+o+o": "EvMHRmCudyKg3GpLjAfj",
"f/o/o": "A5l5sDODF4CQBW_PtlQD",
"f\\\\o\\\\o": "DFfh4KyqOODVQsTPb3wt",
"foo.bar": "uajo7mHzD_tTqOXqaqdg",
"foo/bar": "hei2uQgDeX2YNkppCHp9",
"foo/bar/baz": "p6KJMhNWwmCU2bXHJB93",
"foo\\\\bar": "IgSzmmsCqiJBl4SibwgR",
"foo\\\\bar\\\\baz": "HZerWgmU0ffpPzySVi_g",
"f~o~o": "MrVzSIcSXyoDsr5G0K5_",
"m_x_@": "OdAmghrme3xnUYOdzoDw",
"someId": "b0rhwJStMR3eH63oapwW",
"subClass": "Mw9j4nIdjx1xCGDt7d6a",
"test": "KuIShlgsYfxvLoLHT1mu",
"{}": "IZkBfE9iUPen76w2bB_q",
"©": "jBj0sZiWBysiwRyGu_go",
"“‘’”": "GM0Y0nFCPtkVMz6Esfno",
"⌘⌥": "edHWpSne18gmGmfN6SV6",
"☺☃": "NKrBw7EAqPT7Cgn7JzrA",
"♥": "vJl9A9Ds21oujVsd5UD2",
"𝄞♪♩♫♬": "QyMp9YMEoYUmEHEdpRal",
"💩": "B82YxwgREHbKn8IpgaWw",
}
`;

exports[`"modules" option should work and generate the same classes for client and server: client warnings 1`] = `Array []`;

exports[`"modules" option should work and generate the same classes for client and server: server errors 1`] = `Array []`;

exports[`"modules" option should work and generate the same classes for client and server: server module 1`] = `
"// Exports
export default {
\\"123\\": \\"oqRGsO4UR7_DWiqWXJMz\\",
\\"test\\": \\"KuIShlgsYfxvLoLHT1mu\\",
\\"_test\\": \\"Lb3fhDAuJv4v7BXOPttP\\",
\\"className\\": \\"LdhpkZRWyKT7zDwJ0lt8\\",
\\"someId\\": \\"b0rhwJStMR3eH63oapwW\\",
\\"subClass\\": \\"Mw9j4nIdjx1xCGDt7d6a\\",
\\"-a0-34a___f\\": \\"DdFWMPoluIgmQirKzoS6\\",
\\"m_x_@\\": \\"OdAmghrme3xnUYOdzoDw\\",
\\"B&W?\\": \\"h4SEF34CLwChRsak1742\\",
\\":\`(\\": \\"fKJQkLarfQOel4wwbIrn\\",
\\"1a2b3c\\": \\"YR1u_buYf6paLzzUM6Vc\\",
\\"#fake-id\\": \\"AqiAGSfnwaXj3eqg0Om8\\",
\\"-a-b-c-\\": \\"CwXv27VMwyQqKBvNNaFr\\",
\\"©\\": \\"jBj0sZiWBysiwRyGu_go\\",
\\"♥\\": \\"vJl9A9Ds21oujVsd5UD2\\",
\\"“‘’”\\": \\"GM0Y0nFCPtkVMz6Esfno\\",
\\"☺☃\\": \\"NKrBw7EAqPT7Cgn7JzrA\\",
\\"⌘⌥\\": \\"edHWpSne18gmGmfN6SV6\\",
\\"𝄞♪♩♫♬\\": \\"QyMp9YMEoYUmEHEdpRal\\",
\\"💩\\": \\"B82YxwgREHbKn8IpgaWw\\",
\\"?\\": \\"ndmpvNNltJXbDVvqKuxt\\",
\\"@\\": \\"v3gq0wPogd6ZPfq_pfyZ\\",
\\".\\": \\"zd5uIZq6KrAWTwBjwZdC\\",
\\":)\\": \\"ZiZnRjRT03NgoqVQwkGO\\",
\\"<p>\\": \\"TdAx2ZSkw7Hbktc7KR72\\",
\\"<><<<>><>\\": \\"ozNsTIG0LL2gSQdL5dzv\\",
\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"ByKoYcSrMT2cN3V2iAgZ\\",
\\"#\\": \\"HkwIsjW5i7WNAxVRd5cg\\",
\\"##\\": \\"IJc6Xl4ZKVZvSoeIuI2Q\\",
\\"#.#.#\\": \\"BnPpnJmPeNr51pj2ZTlf\\",
\\"_\\": \\"bCwkZEDuxDAOhKnMdLVF\\",
\\"{}\\": \\"IZkBfE9iUPen76w2bB_q\\",
\\"foo.bar\\": \\"uajo7mHzD_tTqOXqaqdg\\",
\\":hover\\": \\"HVudUNXnLNQoCLpVn82S\\",
\\":hover:focus:active\\": \\"ZlaaXvHLUsJOCFzItB_1\\",
\\"[attr=value]\\": \\"PWvC4jVM5SwUmKmw2tfW\\",
\\"f/o/o\\": \\"A5l5sDODF4CQBW_PtlQD\\",
\\"f\\\\\\\\o\\\\\\\\o\\": \\"DFfh4KyqOODVQsTPb3wt\\",
\\"f*o*o\\": \\"gv1E2n_bVvy0iT8TaHIv\\",
\\"f!o!o\\": \\"_aIyR9ETAs8ipXmRrrDO\\",
\\"f'o'o\\": \\"HSXNnSjt1QaHBHUb_UIs\\",
\\"f~o~o\\": \\"MrVzSIcSXyoDsr5G0K5_\\",
\\"f+o+o\\": \\"EvMHRmCudyKg3GpLjAfj\\",
\\"foo/bar\\": \\"hei2uQgDeX2YNkppCHp9\\",
\\"foo\\\\\\\\bar\\": \\"IgSzmmsCqiJBl4SibwgR\\",
\\"foo/bar/baz\\": \\"p6KJMhNWwmCU2bXHJB93\\",
\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"HZerWgmU0ffpPzySVi_g\\"
};
"
`;

exports[`"modules" option should work and generate the same classes for client and server: server result 1`] = `
Object {
"#": "HkwIsjW5i7WNAxVRd5cg",
"##": "IJc6Xl4ZKVZvSoeIuI2Q",
"#.#.#": "BnPpnJmPeNr51pj2ZTlf",
"#fake-id": "AqiAGSfnwaXj3eqg0Om8",
"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.": "ByKoYcSrMT2cN3V2iAgZ",
"-a-b-c-": "CwXv27VMwyQqKBvNNaFr",
"-a0-34a___f": "DdFWMPoluIgmQirKzoS6",
".": "zd5uIZq6KrAWTwBjwZdC",
"123": "oqRGsO4UR7_DWiqWXJMz",
"1a2b3c": "YR1u_buYf6paLzzUM6Vc",
":)": "ZiZnRjRT03NgoqVQwkGO",
":\`(": "fKJQkLarfQOel4wwbIrn",
":hover": "HVudUNXnLNQoCLpVn82S",
":hover:focus:active": "ZlaaXvHLUsJOCFzItB_1",
"<><<<>><>": "ozNsTIG0LL2gSQdL5dzv",
"<p>": "TdAx2ZSkw7Hbktc7KR72",
"?": "ndmpvNNltJXbDVvqKuxt",
"@": "v3gq0wPogd6ZPfq_pfyZ",
"B&W?": "h4SEF34CLwChRsak1742",
"[attr=value]": "PWvC4jVM5SwUmKmw2tfW",
"_": "bCwkZEDuxDAOhKnMdLVF",
"_test": "Lb3fhDAuJv4v7BXOPttP",
"className": "LdhpkZRWyKT7zDwJ0lt8",
"f!o!o": "_aIyR9ETAs8ipXmRrrDO",
"f'o'o": "HSXNnSjt1QaHBHUb_UIs",
"f*o*o": "gv1E2n_bVvy0iT8TaHIv",
"f+o+o": "EvMHRmCudyKg3GpLjAfj",
"f/o/o": "A5l5sDODF4CQBW_PtlQD",
"f\\\\o\\\\o": "DFfh4KyqOODVQsTPb3wt",
"foo.bar": "uajo7mHzD_tTqOXqaqdg",
"foo/bar": "hei2uQgDeX2YNkppCHp9",
"foo/bar/baz": "p6KJMhNWwmCU2bXHJB93",
"foo\\\\bar": "IgSzmmsCqiJBl4SibwgR",
"foo\\\\bar\\\\baz": "HZerWgmU0ffpPzySVi_g",
"f~o~o": "MrVzSIcSXyoDsr5G0K5_",
"m_x_@": "OdAmghrme3xnUYOdzoDw",
"someId": "b0rhwJStMR3eH63oapwW",
"subClass": "Mw9j4nIdjx1xCGDt7d6a",
"test": "KuIShlgsYfxvLoLHT1mu",
"{}": "IZkBfE9iUPen76w2bB_q",
"©": "jBj0sZiWBysiwRyGu_go",
"“‘’”": "GM0Y0nFCPtkVMz6Esfno",
"⌘⌥": "edHWpSne18gmGmfN6SV6",
"☺☃": "NKrBw7EAqPT7Cgn7JzrA",
"♥": "vJl9A9Ds21oujVsd5UD2",
"𝄞♪♩♫♬": "QyMp9YMEoYUmEHEdpRal",
"💩": "B82YxwgREHbKn8IpgaWw",
}
`;

exports[`"modules" option should work and generate the same classes for client and server: server warnings 1`] = `Array []`;

exports[`"modules" option should work and has "undefined" context if no context was given: errors 1`] = `Array []`;

exports[`"modules" option should work and has "undefined" context if no context was given: module 1`] = `
Expand Down Expand Up @@ -5079,11 +5250,11 @@ import ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \\"../../src/runtime/noSour
import ___CSS_LOADER_API_IMPORT___ from \\"../../src/runtime/api.js\\";
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);
// Module
___CSS_LOADER_EXPORT___.push([module.id, \\".j8UqMCngCVlrlUe9X5iP {\\\\n color: red;\\\\n}\\\\n\\\\n.rSiZpoeHP51qJfp_DRMi { from: custom; }\\", \\"\\"]);
___CSS_LOADER_EXPORT___.push([module.id, \\".dvYI1gdIOPlJqjwAWOo8 {\\\\n color: red;\\\\n}\\\\n\\\\n.s4qiGaiPSoYikcMyZg9a { from: custom; }\\", \\"\\"]);
// Exports
___CSS_LOADER_EXPORT___.locals = {
\\"some-class\\": \\"j8UqMCngCVlrlUe9X5iP\\",
\\"class\\": \\"rSiZpoeHP51qJfp_DRMi\\"
\\"some-class\\": \\"dvYI1gdIOPlJqjwAWOo8\\",
\\"class\\": \\"s4qiGaiPSoYikcMyZg9a\\"
};
export default ___CSS_LOADER_EXPORT___;
"
Expand Down Expand Up @@ -5118,11 +5289,11 @@ Array [
],
Array [
"other.modules.css!=!./my-inline-loader/index.js!./simple.css",
".j8UqMCngCVlrlUe9X5iP {
".dvYI1gdIOPlJqjwAWOo8 {
color: red;
}

.rSiZpoeHP51qJfp_DRMi { from: custom; }",
.s4qiGaiPSoYikcMyZg9a { from: custom; }",
"",
],
Array [
Expand Down Expand Up @@ -15379,7 +15550,7 @@ exports[`"modules" option should work with the 'auto' and exctract CSS using min
"/*!*****************************************************************!*\\\\
!*** css ../../src/index.js!./modules/mode/relative.module.css ***!
\\\\*****************************************************************/
.LnZI_FRppe2YbryCEqXn {
.cK4wjjU46XTRUXJefTb2 {
color: red;
}

Expand All @@ -15390,7 +15561,7 @@ exports[`"modules" option should work with the 'auto' and exctract CSS using min

exports[`"modules" option should work with the 'auto' and exctract CSS using mini-css-extract-plugin: module 1`] = `
"// extracted by mini-css-extract-plugin
export default {\\"relative\\":\\"LnZI_FRppe2YbryCEqXn\\"};"
export default {\\"relative\\":\\"cK4wjjU46XTRUXJefTb2\\"};"
`;

exports[`"modules" option should work with the 'auto' and exctract CSS using mini-css-extract-plugin: warnings 1`] = `Array []`;
Expand Down