Skip to content

Commit 2fa6389

Browse files
refactor: runtime (webpack-contrib#949)
1 parent 823fd60 commit 2fa6389

File tree

9 files changed

+244
-244
lines changed

9 files changed

+244
-244
lines changed
File renamed without changes.

src/utils.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,8 @@ function getExports(messages, exportLocalsStyle, importItemReplacer) {
207207
function getImports(messages, importUrlPrefix, loaderContext, callback) {
208208
const imports = [];
209209

210-
// Helper for ensuring valid CSS strings from requires
211-
let hasUrlEscapeHelper = false;
210+
// Helper for getting url
211+
let hasUrlHelper = false;
212212

213213
messages.forEach((message) => {
214214
if (message.type === 'import') {
@@ -234,15 +234,15 @@ function getImports(messages, importUrlPrefix, loaderContext, callback) {
234234
}
235235

236236
if (message.type === 'url') {
237-
if (!hasUrlEscapeHelper) {
237+
if (!hasUrlHelper) {
238238
imports.push(
239-
`var urlEscape = require(${stringifyRequest(
239+
`var getUrl = require(${stringifyRequest(
240240
loaderContext,
241-
require.resolve('./runtime/url-escape.js')
241+
require.resolve('./runtime/get-url.js')
242242
)});`
243243
);
244244

245-
hasUrlEscapeHelper = true;
245+
hasUrlHelper = true;
246246
}
247247

248248
const { url, placeholder, needQuotes } = message.item;
@@ -254,7 +254,7 @@ function getImports(messages, importUrlPrefix, loaderContext, callback) {
254254
: '';
255255

256256
imports.push(
257-
`var ${placeholder} = urlEscape(require(${stringifyRequest(
257+
`var ${placeholder} = getUrl(require(${stringifyRequest(
258258
loaderContext,
259259
urlToRequest(normalizedUrl)
260260
)})${hash ? ` + ${hash}` : ''}${needQuotes ? ', true' : ''});`

test/__snapshots__/import-option.test.js.snap

+14-14
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,8 @@ exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.cs
204204
exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\");
205205
exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\");
206206
exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\");
207-
var urlEscape = require(\\"../../../src/runtime/url-escape.js\\");
208-
var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\"));
207+
var getUrl = require(\\"../../../src/runtime/get-url.js\\");
208+
var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\"));
209209
210210
// Module
211211
exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test.css) screen and print;\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
@@ -353,8 +353,8 @@ Array [
353353
exports[`import option false: module 1`] = `
354354
"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false);
355355
// Imports
356-
var urlEscape = require(\\"../../../src/runtime/url-escape.js\\");
357-
var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\"));
356+
var getUrl = require(\\"../../../src/runtime/get-url.js\\");
357+
var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\"));
358358
359359
// Module
360360
exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test.css) screen and print;\\\\n@import url(test-media.css) screen and print;\\\\n@import url(test-other.css) (min-width: 100px);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css#hash);\\\\n@import url(http://example.com/style.css?#hash);\\\\n@import url(http://example.com/style.css?foo=bar#hash);\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(\\\\\\"//example.com/style.css\\\\\\");\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n@import url('query.css?foo=1&bar=1');\\\\n@import url('other-query.css?foo=1&bar=1#hash');\\\\n@import url('other-query.css?foo=1&bar=1#hash') screen and print;\\\\n@import url('https://fonts.googleapis.com/css?family=Roboto');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto');\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n@import url('./relative.css');\\\\n@import url('../import/top-relative.css');\\\\n@import url(~package/tilde.css);\\\\n@import url(~aliasesImport/alias.css);\\\\n@import url('./url.css');\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
@@ -577,8 +577,8 @@ exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.cs
577577
exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\");
578578
exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\");
579579
exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\");
580-
var urlEscape = require(\\"../../../src/runtime/url-escape.js\\");
581-
var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\"));
580+
var getUrl = require(\\"../../../src/runtime/get-url.js\\");
581+
var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\"));
582582
583583
// Module
584584
exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
@@ -857,8 +857,8 @@ exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.cs
857857
exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\");
858858
exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\");
859859
exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\");
860-
var urlEscape = require(\\"../../../src/runtime/url-escape.js\\");
861-
var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\"));
860+
var getUrl = require(\\"../../../src/runtime/get-url.js\\");
861+
var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\"));
862862
863863
// Module
864864
exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
@@ -1137,8 +1137,8 @@ exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.cs
11371137
exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\");
11381138
exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\");
11391139
exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\");
1140-
var urlEscape = require(\\"../../../src/runtime/url-escape.js\\");
1141-
var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\"));
1140+
var getUrl = require(\\"../../../src/runtime/get-url.js\\");
1141+
var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\"));
11421142
11431143
// Module
11441144
exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.hnxX78DgkaA2kCp_BPbLd {\\\\n a: b c d;\\\\n}\\\\n\\\\n._1Lug_45kZL-M7XuNeM4SCw {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n._1E9CLkKp-0idM8IkvZwXn9 {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
@@ -1422,8 +1422,8 @@ exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.cs
14221422
exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\");
14231423
exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\");
14241424
exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\");
1425-
var urlEscape = require(\\"../../../src/runtime/url-escape.js\\");
1426-
var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\"));
1425+
var getUrl = require(\\"../../../src/runtime/get-url.js\\");
1426+
var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\"));
14271427
14281428
// Module
14291429
exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.hnxX78DgkaA2kCp_BPbLd {\\\\n a: b c d;\\\\n}\\\\n\\\\n._1Lug_45kZL-M7XuNeM4SCw {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n._1E9CLkKp-0idM8IkvZwXn9 {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
@@ -1707,8 +1707,8 @@ exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.cs
17071707
exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\");
17081708
exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\");
17091709
exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\");
1710-
var urlEscape = require(\\"../../../src/runtime/url-escape.js\\");
1711-
var ___CSS_LOADER_URL___0___ = urlEscape(require(\\"./img.png\\"));
1710+
var getUrl = require(\\"../../../src/runtime/get-url.js\\");
1711+
var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\"));
17121712
17131713
// Module
17141714
exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]);

0 commit comments

Comments
 (0)