From bc19ddd8779dafbc2a420870a3cb841041ce9c7c Mon Sep 17 00:00:00 2001 From: Alexey Lavinsky Date: Thu, 16 Jul 2020 16:12:57 +0300 Subject: [PATCH] feat: improve `url()` resolving algorithm --- .gitignore | 1 + README.md | 35 ++- package.json | 2 +- src/index.js | 13 +- src/plugins/postcss-url-parser.js | 294 ++++++++++++++------- src/utils.js | 1 - test/__snapshots__/url-option.test.js.snap | 264 ++++++++++-------- test/fixtures/url/url-absolute.js | 5 + test/fixtures/url/url-unresolved.css | 3 + test/fixtures/url/url-unresolved.js | 5 + test/fixtures/url/url.css | 4 +- test/helpers/getCompiler.js | 1 + test/url-option.test.js | 34 +++ 13 files changed, 456 insertions(+), 206 deletions(-) create mode 100644 test/fixtures/url/url-absolute.js create mode 100644 test/fixtures/url/url-unresolved.css create mode 100644 test/fixtures/url/url-unresolved.js diff --git a/.gitignore b/.gitignore index 5ce93a3f..5721cf22 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ Thumbs.db *.sublime-project *.sublime-workspace /test/fixtures/import/import-absolute.css +/test/fixtures/url/url-absolute.css diff --git a/README.md b/README.md index 6566cc04..94b64786 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ Type: `Boolean|Function` Default: `true` Enables/Disables `url`/`image-set` functions handling. -Control `url()` resolving. Absolute URLs and root-relative URLs are not resolving. +Control `url()` resolving. Absolute URLs are not resolving. Examples resolutions: @@ -1174,6 +1174,39 @@ module.exports = { }; ``` +### Resolve unresolved URLs using an alias + +**index.css** + +```css +.class { + background: url(/assets/unresolved/img.png); +} +``` + +**webpack.config.js** + +```js +module.exports = { + module: { + rules: [ + { + test: /\.css$/i, + use: ['style-loader', 'css-loader'], + }, + ], + }, + resolve: { + alias: { + '/assets/unresolved/img.png': path.resolve( + __dirname, + 'assets/real-path-to-img/img.png' + ), + }, + }, +}; +``` + ## Contributing Please take a moment to read our contributing guidelines if you haven't yet done so. diff --git a/package.json b/package.json index ff81bc0c..1b6b4d61 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "dist" ], "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^4.27.0 || ^5.0.0" }, "dependencies": { "camelcase": "^6.0.0", diff --git a/src/index.js b/src/index.js index 494789f3..17507249 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,7 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ -import { getOptions, isUrlRequest, stringifyRequest } from 'loader-utils'; +import { getOptions, stringifyRequest } from 'loader-utils'; import postcss from 'postcss'; import postcssPkg from 'postcss/package.json'; import validateOptions from 'schema-utils'; @@ -22,6 +22,7 @@ import { getModulesPlugins, normalizeSourceMap, shouldUseModulesPlugins, + isUrlRequestable, } from './utils'; export default function loader(content, map, meta) { @@ -95,11 +96,19 @@ export default function loader(content, map, meta) { } if (options.url !== false && exportType === 'full') { + const urlResolver = this.getResolve({ + mainFields: ['asset'], + conditionNames: ['asset'], + }); + plugins.push( urlParser({ + context: this.context, + rootContext: this.rootContext, filter: getFilter(options.url, this.resourcePath, (value) => - isUrlRequest(value) + isUrlRequestable(value) ), + resolver: urlResolver, urlHandler: (url) => stringifyRequest(this, url), }) ); diff --git a/src/plugins/postcss-url-parser.js b/src/plugins/postcss-url-parser.js index 39ec0903..8687366b 100644 --- a/src/plugins/postcss-url-parser.js +++ b/src/plugins/postcss-url-parser.js @@ -1,7 +1,9 @@ +import { promisify } from 'util'; + import postcss from 'postcss'; import valueParser from 'postcss-value-parser'; -import { normalizeUrl } from '../utils'; +import { normalizeUrl, resolveRequests } from '../utils'; const pluginName = 'postcss-url-parser'; @@ -9,86 +11,176 @@ const isUrlFunc = /url/i; const isImageSetFunc = /^(?:-webkit-)?image-set$/i; const needParseDecl = /(?:url|(?:-webkit-)?image-set)\(/i; +const walkCssAsync = promisify(walkCss); + function getNodeFromUrlFunc(node) { return node.nodes && node.nodes[0]; } -function walkUrls(parsed, callback) { - parsed.walk((node) => { - if (node.type !== 'function') { - return; - } +function ruleValidate(rule, decl, result, options) { + // https://www.w3.org/TR/css-syntax-3/#typedef-url-token + if (rule.url.replace(/^[\s]+|[\s]+$/g, '').length === 0) { + result.warn( + `Unable to find uri in '${decl ? decl.toString() : decl.value}'`, + { node: decl } + ); - if (isUrlFunc.test(node.value)) { - const { nodes } = node; - const isStringValue = nodes.length !== 0 && nodes[0].type === 'string'; - const url = isStringValue ? nodes[0].value : valueParser.stringify(nodes); + return false; + } - callback(getNodeFromUrlFunc(node), url, false, isStringValue); + if (options.filter && !options.filter(rule.url)) { + return false; + } - // Do not traverse inside `url` - // eslint-disable-next-line consistent-return - return false; - } + return true; +} - if (isImageSetFunc.test(node.value)) { - for (const nNode of node.nodes) { - const { type, value } = nNode; +function walkCss(css, result, options, callback) { + const accumulator = []; - if (type === 'function' && isUrlFunc.test(value)) { - const { nodes } = nNode; + css.walkDecls((decl) => { + if (!needParseDecl.test(decl.value)) { + return; + } - const isStringValue = - nodes.length !== 0 && nodes[0].type === 'string'; - const url = isStringValue - ? nodes[0].value - : valueParser.stringify(nodes); + const parsed = valueParser(decl.value); - callback(getNodeFromUrlFunc(nNode), url, false, isStringValue); - } + parsed.walk((node) => { + if (node.type !== 'function') { + return; + } - if (type === 'string') { - callback(nNode, value, true, true); + if (isUrlFunc.test(node.value)) { + const { nodes } = node; + const isStringValue = nodes.length !== 0 && nodes[0].type === 'string'; + const url = isStringValue + ? nodes[0].value + : valueParser.stringify(nodes); + + const rule = { + node: getNodeFromUrlFunc(node), + url, + needQuotes: false, + isStringValue, + }; + + if (ruleValidate(rule, decl, result, options)) { + accumulator.push({ + decl, + rule, + parsed, + }); } + + // Do not traverse inside `url` + // eslint-disable-next-line consistent-return + return false; } - // Do not traverse inside `image-set` - // eslint-disable-next-line consistent-return - return false; - } + if (isImageSetFunc.test(node.value)) { + for (const nNode of node.nodes) { + const { type, value } = nNode; + + if (type === 'function' && isUrlFunc.test(value)) { + const { nodes } = nNode; + const isStringValue = + nodes.length !== 0 && nodes[0].type === 'string'; + const url = isStringValue + ? nodes[0].value + : valueParser.stringify(nodes); + + const rule = { + node: getNodeFromUrlFunc(nNode), + url, + needQuotes: false, + isStringValue, + }; + + if (ruleValidate(rule, decl, result, options)) { + accumulator.push({ + decl, + rule, + parsed, + }); + } + } + + if (type === 'string') { + const rule = { + node: nNode, + url: value, + needQuotes: true, + isStringValue: true, + }; + + if (ruleValidate(rule, decl, result, options)) { + accumulator.push({ + decl, + rule, + parsed, + }); + } + } + } + + // Do not traverse inside `image-set` + // eslint-disable-next-line consistent-return + return false; + } + }); }); + + callback(null, accumulator); } export default postcss.plugin(pluginName, (options) => (css, result) => { - const importsMap = new Map(); - const replacementsMap = new Map(); + return new Promise(async (resolve, reject) => { + const importsMap = new Map(); + const replacementsMap = new Map(); + const urlToHelper = require.resolve('../runtime/getUrl.js'); - let hasHelper = false; + let parsedResults; - let index = 0; + try { + parsedResults = await walkCssAsync(css, result, options); + } catch (error) { + reject(error); + } + + if (parsedResults.length === 0) { + resolve(); - css.walkDecls((decl) => { - if (!needParseDecl.test(decl.value)) { return; } - const parsed = valueParser(decl.value); + const tasks = []; - walkUrls(parsed, (node, url, needQuotes, isStringValue) => { - // https://www.w3.org/TR/css-syntax-3/#typedef-url-token - if (url.replace(/^[\s]+|[\s]+$/g, '').length === 0) { - result.warn( - `Unable to find uri in '${decl ? decl.toString() : decl.value}'`, - { node: decl } - ); + let index = 0; + let hasHelper = false; - return; - } + for (const parsedResult of parsedResults) { + index += 1; - if (options.filter && !options.filter(url)) { - return; + if (!hasHelper) { + result.messages.push({ + pluginName, + type: 'import', + value: { + // 'CSS_LOADER_GET_URL_IMPORT' + order: 2, + importName: '___CSS_LOADER_GET_URL_IMPORT___', + url: options.urlHandler + ? options.urlHandler(urlToHelper) + : urlToHelper, + index, + }, + }); + + hasHelper = true; } + const { decl, rule } = parsedResult; + const { node, url, needQuotes, isStringValue } = rule; const splittedUrl = url.split(/(\?)?#/); const [urlWithoutHash, singleQuery, hashValue] = splittedUrl; const hash = @@ -96,53 +188,69 @@ export default postcss.plugin(pluginName, (options) => (css, result) => { ? `${singleQuery ? '?' : ''}${hashValue ? `#${hashValue}` : ''}` : ''; - const normalizedUrl = normalizeUrl(urlWithoutHash, isStringValue); + let normalizedUrl = normalizeUrl( + urlWithoutHash, + isStringValue, + options.rootContext + ); + + let prefixSuffix = ''; + + const queryParts = normalizedUrl.split('!'); + + if (queryParts.length > 1) { + normalizedUrl = queryParts.pop(); + prefixSuffix = queryParts.join('!'); + } const importKey = normalizedUrl; - let importName = importsMap.get(importKey); - index += 1; + let importName = importsMap.get(importKey); if (!importName) { importName = `___CSS_LOADER_URL_IMPORT_${importsMap.size}___`; importsMap.set(importKey, importName); - if (!hasHelper) { - const urlToHelper = require.resolve('../runtime/getUrl.js'); - - result.messages.push({ - pluginName, - type: 'import', - value: { - // 'CSS_LOADER_GET_URL_IMPORT' - order: 2, - importName: '___CSS_LOADER_GET_URL_IMPORT___', - url: options.urlHandler - ? options.urlHandler(urlToHelper) - : urlToHelper, - index, - }, - }); - - hasHelper = true; - } - - result.messages.push({ - pluginName, - type: 'import', - value: { - // 'CSS_LOADER_URL_IMPORT' - order: 3, - importName, - url: options.urlHandler - ? options.urlHandler(normalizedUrl) - : normalizedUrl, - index, - }, - }); + tasks.push( + Promise.resolve(index).then(async (currentIndex) => { + const { resolver, context } = options; + + let resolvedUrl; + + try { + resolvedUrl = await resolveRequests(resolver, context, [ + ...new Set([normalizedUrl, url]), + ]); + } catch (error) { + throw error; + } + + if (prefixSuffix) { + resolvedUrl = `${prefixSuffix}!${resolvedUrl}`; + } + + result.messages.push({ + pluginName, + type: 'import', + value: { + // 'CSS_LOADER_URL_IMPORT' + order: 3, + importName, + url: options.urlHandler + ? options.urlHandler(resolvedUrl) + : resolvedUrl, + index: currentIndex, + }, + }); + }) + ); } - const replacementKey = JSON.stringify({ importKey, hash, needQuotes }); + const replacementKey = JSON.stringify({ + importKey, + hash, + needQuotes, + }); let replacementName = replacementsMap.get(replacementKey); if (!replacementName) { @@ -168,9 +276,13 @@ export default postcss.plugin(pluginName, (options) => (css, result) => { node.type = 'word'; // eslint-disable-next-line no-param-reassign node.value = replacementName; - }); + // eslint-disable-next-line no-param-reassign + decl.value = parsedResult.parsed.toString(); + } - // eslint-disable-next-line no-param-reassign - decl.value = parsed.toString(); + Promise.all(tasks).then( + () => resolve(), + (error) => reject(error) + ); }); }); diff --git a/src/utils.js b/src/utils.js index 78ee2591..ad41777d 100644 --- a/src/utils.js +++ b/src/utils.js @@ -314,7 +314,6 @@ function getModuleCode( const { css, map } = result; const sourceMapValue = sourceMap && map ? `,${map}` : ''; - let code = JSON.stringify(css); let beforeCode = ''; diff --git a/test/__snapshots__/url-option.test.js.snap b/test/__snapshots__/url-option.test.js.snap index b6d442a6..d7379209 100644 --- a/test/__snapshots__/url-option.test.js.snap +++ b/test/__snapshots__/url-option.test.js.snap @@ -1,5 +1,43 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`"url" option should emit warning when unresolved import: errors 1`] = ` +Array [ + "ModuleBuildError: Module build failed (from \`replaced original path\`): +Error: Can't resolve 'unresolved.png' in '/test/fixtures/url'", +] +`; + +exports[`"url" option should emit warning when unresolved import: warnings 1`] = `Array []`; + +exports[`"url" option should resolve absolute path: errors 1`] = `Array []`; + +exports[`"url" option should resolve absolute path: module 1`] = ` +"// Imports +var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\"); +___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n.background {background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"); }\\", \\"\\"]); +// Exports +module.exports = ___CSS_LOADER_EXPORT___; +" +`; + +exports[`"url" option should resolve absolute path: result 1`] = ` +Array [ + Array [ + "./url/url-absolute.css", + " +.background {background: url(/webpack/public/path/img.png); }", + "", + ], +] +`; + +exports[`"url" option should resolve absolute path: warnings 1`] = `Array []`; + exports[`"url" option should work when not specified: errors 1`] = `Array []`; exports[`"url" option should work when not specified: module 1`] = ` @@ -8,32 +46,34 @@ var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\"); var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\"); var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\"); -var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"package/img.png\\"); +var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./node_modules/package/img.png\\"); var ___CSS_LOADER_URL_IMPORT_2___ = require(\\"./other-img.png\\"); var ___CSS_LOADER_URL_IMPORT_3___ = require(\\"./img img.png\\"); -var ___CSS_LOADER_URL_IMPORT_4___ = require(\\"./font.woff\\"); -var ___CSS_LOADER_URL_IMPORT_5___ = require(\\"./font.woff2\\"); -var ___CSS_LOADER_URL_IMPORT_6___ = require(\\"./font.eot\\"); -var ___CSS_LOADER_URL_IMPORT_7___ = require(\\"package/font.ttf\\"); -var ___CSS_LOADER_URL_IMPORT_8___ = require(\\"./font with spaces.eot\\"); -var ___CSS_LOADER_URL_IMPORT_9___ = require(\\"./font.svg\\"); -var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"./font.woff2?foo=bar\\"); -var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./img1x.png\\"); -var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img2x.png\\"); -var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img.png?foo\\"); -var ___CSS_LOADER_URL_IMPORT_14___ = require(\\"./img.png?foo=bar\\"); -var ___CSS_LOADER_URL_IMPORT_15___ = require(\\"./img.png?\\"); -var ___CSS_LOADER_URL_IMPORT_16___ = require(\\"./img-simple.png\\"); -var ___CSS_LOADER_URL_IMPORT_17___ = require(\\"../url/img-simple.png\\"); -var ___CSS_LOADER_URL_IMPORT_18___ = require(\\"aliasesImg/img.png\\"); -var ___CSS_LOADER_URL_IMPORT_19___ = require(\\"./nested/img.png\\"); -var ___CSS_LOADER_URL_IMPORT_20___ = require(\\"./img3x.png\\"); -var ___CSS_LOADER_URL_IMPORT_21___ = require(\\"./img1x.png?foo=bar\\"); -var ___CSS_LOADER_URL_IMPORT_22___ = require(\\"./img'img.png\\"); -var ___CSS_LOADER_URL_IMPORT_23___ = require(\\"./img'''img.png\\"); -var ___CSS_LOADER_URL_IMPORT_24___ = require(\\"./img(img.png\\"); -var ___CSS_LOADER_URL_IMPORT_25___ = require(\\"./img)img.png\\"); -var ___CSS_LOADER_URL_IMPORT_26___ = require(\\"./img'() img.png\\"); +var ___CSS_LOADER_URL_IMPORT_4___ = require(\\"./img.png\\"); +var ___CSS_LOADER_URL_IMPORT_5___ = require(\\"./font.woff\\"); +var ___CSS_LOADER_URL_IMPORT_6___ = require(\\"./font.woff2\\"); +var ___CSS_LOADER_URL_IMPORT_7___ = require(\\"./font.eot\\"); +var ___CSS_LOADER_URL_IMPORT_8___ = require(\\"./node_modules/package/font.ttf\\"); +var ___CSS_LOADER_URL_IMPORT_9___ = require(\\"./font with spaces.eot\\"); +var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"./font.svg\\"); +var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./font.woff2?foo=bar\\"); +var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img1x.png\\"); +var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img2x.png\\"); +var ___CSS_LOADER_URL_IMPORT_14___ = require(\\"./img.png?foo\\"); +var ___CSS_LOADER_URL_IMPORT_15___ = require(\\"./img.png?foo=bar\\"); +var ___CSS_LOADER_URL_IMPORT_16___ = require(\\"./img.png?\\"); +var ___CSS_LOADER_URL_IMPORT_17___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_IMPORT_18___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_IMPORT_19___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_IMPORT_20___ = require(\\"./img.png\\"); +var ___CSS_LOADER_URL_IMPORT_21___ = require(\\"./nested/img.png\\"); +var ___CSS_LOADER_URL_IMPORT_22___ = require(\\"./img3x.png\\"); +var ___CSS_LOADER_URL_IMPORT_23___ = require(\\"./img1x.png?foo=bar\\"); +var ___CSS_LOADER_URL_IMPORT_24___ = require(\\"./img'img.png\\"); +var ___CSS_LOADER_URL_IMPORT_25___ = require(\\"./img'''img.png\\"); +var ___CSS_LOADER_URL_IMPORT_26___ = require(\\"./img(img.png\\"); +var ___CSS_LOADER_URL_IMPORT_27___ = require(\\"./img)img.png\\"); +var ___CSS_LOADER_URL_IMPORT_28___ = require(\\"./img'() img.png\\"); ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false); ___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); @@ -46,35 +86,37 @@ var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_ var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___); var ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___); var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___); -var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \\"#svgFontName\\" }); -var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___); -var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___, { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___, { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); +var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___); +var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { hash: \\"#svgFontName\\" }); +var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); +var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"?#iefix\\" }); +var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \\"?#iefix\\" }); var ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___); var ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___); var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___); -var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___); +var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___); +var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \\"#hash\\" }); var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___); var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___); var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___); var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___); -var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___); -var ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___); -var ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___); +var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___); +var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___); +var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { hash: \\"#hash\\", needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { hash: \\"?#iefix\\", needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___); var ___CSS_LOADER_URL_REPLACEMENT_34___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___); var ___CSS_LOADER_URL_REPLACEMENT_35___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___); var ___CSS_LOADER_URL_REPLACEMENT_36___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___); +var ___CSS_LOADER_URL_REPLACEMENT_37___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___); +var ___CSS_LOADER_URL_REPLACEMENT_38___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___); // Module -___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n }\\\\n}\\\\n\\\\na {\\\\n content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: ___CSS_LOADER_URL___;\\\\n background: ___CSS_LOADER_URL___INDEX___;\\\\n background: ___CSS_LOADER_URL___99999___;\\\\n background: ___CSS_LOADER_IMPORT___;\\\\n background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n /* Broken */\\\\n background-image: -webkit-image-set();\\\\n background-image: -webkit-image-set('');\\\\n background-image: image-set();\\\\n background-image: image-set('');\\\\n background-image: image-set(\\\\\\"\\\\\\");\\\\n background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n background-image: image-set(url());\\\\n background-image: image-set(\\\\n url()\\\\n );\\\\n background-image: image-set(URL());\\\\n background-image: image-set(url(''));\\\\n background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n background-image: image-set(url('') 1x);\\\\n background-image: image-set(1x);\\\\n background-image: image-set(\\\\n 1x\\\\n );\\\\n background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n /* Strings */\\\\n background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n /* Not allowed on windows */\\\\n /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n\\\\n background-image: image-set(\\\\n \\\\n \\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\") 3x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\") 4x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\") 5x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 6x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\") 7x\\\\n );\\\\n}\\\\n\\\\n.class-class-class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n}\\\\n\\\\n.other-test-case {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.www {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n}\\\\n\\", \\"\\"]); +___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n }\\\\n}\\\\n\\\\na {\\\\n content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: ___CSS_LOADER_URL___;\\\\n background: ___CSS_LOADER_URL___INDEX___;\\\\n background: ___CSS_LOADER_URL___99999___;\\\\n background: ___CSS_LOADER_IMPORT___;\\\\n background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\n.root-relative {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\");\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n /* Broken */\\\\n background-image: -webkit-image-set();\\\\n background-image: -webkit-image-set('');\\\\n background-image: image-set();\\\\n background-image: image-set('');\\\\n background-image: image-set(\\\\\\"\\\\\\");\\\\n background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n background-image: image-set(url());\\\\n background-image: image-set(\\\\n url()\\\\n );\\\\n background-image: image-set(URL());\\\\n background-image: image-set(url(''));\\\\n background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n background-image: image-set(url('') 1x);\\\\n background-image: image-set(1x);\\\\n background-image: image-set(\\\\n 1x\\\\n );\\\\n background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n /* Strings */\\\\n background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n /* Not allowed on windows */\\\\n /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n\\\\n background-image: image-set(\\\\n \\\\n \\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\") 3x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\") 4x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\") 5x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 6x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\") 7x\\\\n );\\\\n}\\\\n\\\\n.class-class-class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n}\\\\n\\\\n.other-test-case {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.www {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n}\\\\n\\", \\"\\"]); // Exports module.exports = ___CSS_LOADER_EXPORT___; " @@ -139,7 +181,7 @@ Array [ } .class { - background: green url(/img.png) xyz; + background: green url(/webpack/public/path/img.png) xyz; } .class { @@ -274,8 +316,8 @@ b { background: url(/webpack/public/path/img-simple.png); } -.not-resolved { - background: url('/img-simple.png'); +.root-relative { + background: url(/webpack/public/path/img-simple.png); } .above-below { @@ -514,17 +556,18 @@ var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\ var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./font.woff\\"); var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./font.woff2\\"); var ___CSS_LOADER_URL_IMPORT_2___ = require(\\"./font.eot\\"); -var ___CSS_LOADER_URL_IMPORT_3___ = require(\\"package/font.ttf\\"); +var ___CSS_LOADER_URL_IMPORT_3___ = require(\\"./node_modules/package/font.ttf\\"); var ___CSS_LOADER_URL_IMPORT_4___ = require(\\"./font with spaces.eot\\"); var ___CSS_LOADER_URL_IMPORT_5___ = require(\\"./font.svg\\"); var ___CSS_LOADER_URL_IMPORT_6___ = require(\\"./font.woff2?foo=bar\\"); var ___CSS_LOADER_URL_IMPORT_7___ = require(\\"./img1x.png\\"); var ___CSS_LOADER_URL_IMPORT_8___ = require(\\"./img2x.png\\"); var ___CSS_LOADER_URL_IMPORT_9___ = require(\\"./img-simple.png\\"); -var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"../url/img-simple.png\\"); -var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./img3x.png\\"); -var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img1x.png?foo=bar\\"); -var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img.png\\"); +var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img3x.png\\"); +var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img1x.png?foo=bar\\"); +var ___CSS_LOADER_URL_IMPORT_14___ = require(\\"./img.png\\"); ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false); ___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); @@ -540,16 +583,17 @@ var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_ var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___); var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___); var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___); -var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); +var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___, { needQuotes: true }); var ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); -var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___); +var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"#hash\\", needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"?#iefix\\", needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___); +var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___); // Module -___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n background: url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(./img.png);\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\\\\\"./img.png\\\\\\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( './img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\\\\\"./img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( ./img.png ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(~package/img.png) url(./other-img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\\\\\"./img img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( './img img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\\\\\"./img.png\\\\\\");\\\\n }\\\\n}\\\\n\\\\na {\\\\n content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n background: green url('./img.png') xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url('./img.png') url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n background: ___CSS_LOADER_URL___;\\\\n background: ___CSS_LOADER_URL___INDEX___;\\\\n background: ___CSS_LOADER_URL___99999___;\\\\n background: ___CSS_LOADER_IMPORT___;\\\\n background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url('~package/img.png');\\\\n}\\\\n\\\\n.aliases {\\\\n background: url('~aliasesImg/img.png') ;\\\\n}\\\\n\\\\na {\\\\n background: url(./nested/img.png);\\\\n}\\\\n\\\\na {\\\\n background: url(nested/img.png);\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n /* Broken */\\\\n background-image: -webkit-image-set();\\\\n background-image: -webkit-image-set('');\\\\n background-image: image-set();\\\\n background-image: image-set('');\\\\n background-image: image-set(\\\\\\"\\\\\\");\\\\n background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n background-image: image-set(url());\\\\n background-image: image-set(\\\\n url()\\\\n );\\\\n background-image: image-set(URL());\\\\n background-image: image-set(url(''));\\\\n background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n background-image: image-set(url('') 1x);\\\\n background-image: image-set(1x);\\\\n background-image: image-set(\\\\n 1x\\\\n );\\\\n background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n /* Strings */\\\\n background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x);\\\\n background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\\\\\"./img img.png\\\\\\") 1x, url(\\\\\\"./img img.png\\\\\\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n /* Not allowed on windows */\\\\n /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n background: url(./img\\\\\\\\'img.png);\\\\n background: url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png);\\\\n background: url(./img\\\\\\\\(img.png);\\\\n background: url(./img\\\\\\\\)img.png);\\\\n background: url(./img\\\\\\\\ img.png);\\\\n background: url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png);\\\\n\\\\n background-image: image-set(\\\\n /* Not allowed on windows */\\\\n /* url(./img\\\\\\\\\\\\\\"img.png) 1x, */\\\\n url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png) 2x,\\\\n url(./img\\\\\\\\'img.png) 3x,\\\\n url(./img\\\\\\\\(img.png) 4x,\\\\n url(./img\\\\\\\\)img.png) 5x,\\\\n url(./img\\\\\\\\ img.png) 6x,\\\\n url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png) 7x\\\\n );\\\\n}\\\\n\\\\n.class-class-class {\\\\n background: url(\\\\\\"./img'''img.png\\\\\\");\\\\n background: url(\\\\\\"./img'() img.png\\\\\\");\\\\n background: url(\\\\\\"./img'img.png\\\\\\");\\\\n background: url(\\\\\\"./img(img.png\\\\\\");\\\\n background: url(\\\\\\"./img)img.png\\\\\\");\\\\n background: url('./img img.png');\\\\n background: url(\\\\\\"./img img.png\\\\\\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n background: url('./img\\\\\\\\\\\\n(img.png');\\\\n background: url('./img\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n(img.png');\\\\n}\\\\n\\\\n.other-test-case {\\\\n background: url(\\\\\\"./img%27%27%27img.png\\\\\\");\\\\n background: url(\\\\\\"./img%27%28%29%20img.png\\\\\\");\\\\n background: url(\\\\\\"./img%27img.png\\\\\\");\\\\n background: url(\\\\\\"./img%28img.png\\\\\\");\\\\n background: url(\\\\\\"./img%29img.png\\\\\\");\\\\n background: url(\\\\\\"./img%20img.png\\\\\\");\\\\n background: url(./img%27%27%27img.png);\\\\n background: url(./img%27%28%29%20img.png);\\\\n background: url(./img%27img.png);\\\\n background: url(./img%28img.png);\\\\n background: url(./img%29img.png);\\\\n background: url(./img%20img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n background: url('img.png');\\\\n}\\\\n\\\\n.www {\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\(img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\)img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\ img.png\\\\\\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n background: url(\\\\\\"./img\\\\\\\\27img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\28%29 img.png\\\\\\");\\\\n background: url(./img\\\\\\\\'\\\\\\\\28%29\\\\\\\\ img.png);\\\\n}\\\\n\\", \\"\\"]); +___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n background: url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(./img.png);\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\\\\\"./img.png\\\\\\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( './img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\\\\\"./img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( ./img.png ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(~package/img.png) url(./other-img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\\\\\"./img img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( './img img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\\\\\"./img.png\\\\\\");\\\\n }\\\\n}\\\\n\\\\na {\\\\n content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n background: green url('./img.png') xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url('./img.png') url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n background: ___CSS_LOADER_URL___;\\\\n background: ___CSS_LOADER_URL___INDEX___;\\\\n background: ___CSS_LOADER_URL___99999___;\\\\n background: ___CSS_LOADER_IMPORT___;\\\\n background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\");\\\\n}\\\\n\\\\n.root-relative {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\");\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url('~package/img.png');\\\\n}\\\\n\\\\n.aliases {\\\\n background: url('~aliasesImg/img.png') ;\\\\n}\\\\n\\\\na {\\\\n background: url(./nested/img.png);\\\\n}\\\\n\\\\na {\\\\n background: url(nested/img.png);\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n /* Broken */\\\\n background-image: -webkit-image-set();\\\\n background-image: -webkit-image-set('');\\\\n background-image: image-set();\\\\n background-image: image-set('');\\\\n background-image: image-set(\\\\\\"\\\\\\");\\\\n background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n background-image: image-set(url());\\\\n background-image: image-set(\\\\n url()\\\\n );\\\\n background-image: image-set(URL());\\\\n background-image: image-set(url(''));\\\\n background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n background-image: image-set(url('') 1x);\\\\n background-image: image-set(1x);\\\\n background-image: image-set(\\\\n 1x\\\\n );\\\\n background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n /* Strings */\\\\n background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 2x);\\\\n background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\\\\\"./img img.png\\\\\\") 1x, url(\\\\\\"./img img.png\\\\\\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n /* Not allowed on windows */\\\\n /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n background: url(./img\\\\\\\\'img.png);\\\\n background: url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png);\\\\n background: url(./img\\\\\\\\(img.png);\\\\n background: url(./img\\\\\\\\)img.png);\\\\n background: url(./img\\\\\\\\ img.png);\\\\n background: url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png);\\\\n\\\\n background-image: image-set(\\\\n /* Not allowed on windows */\\\\n /* url(./img\\\\\\\\\\\\\\"img.png) 1x, */\\\\n url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png) 2x,\\\\n url(./img\\\\\\\\'img.png) 3x,\\\\n url(./img\\\\\\\\(img.png) 4x,\\\\n url(./img\\\\\\\\)img.png) 5x,\\\\n url(./img\\\\\\\\ img.png) 6x,\\\\n url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png) 7x\\\\n );\\\\n}\\\\n\\\\n.class-class-class {\\\\n background: url(\\\\\\"./img'''img.png\\\\\\");\\\\n background: url(\\\\\\"./img'() img.png\\\\\\");\\\\n background: url(\\\\\\"./img'img.png\\\\\\");\\\\n background: url(\\\\\\"./img(img.png\\\\\\");\\\\n background: url(\\\\\\"./img)img.png\\\\\\");\\\\n background: url('./img img.png');\\\\n background: url(\\\\\\"./img img.png\\\\\\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n background: url('./img\\\\\\\\\\\\n(img.png');\\\\n background: url('./img\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n(img.png');\\\\n}\\\\n\\\\n.other-test-case {\\\\n background: url(\\\\\\"./img%27%27%27img.png\\\\\\");\\\\n background: url(\\\\\\"./img%27%28%29%20img.png\\\\\\");\\\\n background: url(\\\\\\"./img%27img.png\\\\\\");\\\\n background: url(\\\\\\"./img%28img.png\\\\\\");\\\\n background: url(\\\\\\"./img%29img.png\\\\\\");\\\\n background: url(\\\\\\"./img%20img.png\\\\\\");\\\\n background: url(./img%27%27%27img.png);\\\\n background: url(./img%27%28%29%20img.png);\\\\n background: url(./img%27img.png);\\\\n background: url(./img%28img.png);\\\\n background: url(./img%29img.png);\\\\n background: url(./img%20img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n background: url('img.png');\\\\n}\\\\n\\\\n.www {\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\(img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\)img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\ img.png\\\\\\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n background: url(\\\\\\"./img\\\\\\\\27img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\28%29 img.png\\\\\\");\\\\n background: url(./img\\\\\\\\'\\\\\\\\28%29\\\\\\\\ img.png);\\\\n}\\\\n\\", \\"\\"]); // Exports module.exports = ___CSS_LOADER_EXPORT___; " @@ -749,8 +793,8 @@ b { background: url(/webpack/public/path/img-simple.png); } -.not-resolved { - background: url('/img-simple.png'); +.root-relative { + background: url(/webpack/public/path/img-simple.png); } .above-below { @@ -993,7 +1037,7 @@ var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ide ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false); ___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); // Module -___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n background: url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(./img.png);\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\\\\\"./img.png\\\\\\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( './img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\\\\\"./img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( ./img.png ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(~package/img.png) url(./other-img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\\\\\"./img img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( './img img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(./font.woff) format('woff'),\\\\n url('./font.woff2') format('woff2'),\\\\n url(\\\\\\"./font.eot\\\\\\") format('eot'),\\\\n url(~package/font.ttf) format('truetype'),\\\\n url(\\\\\\"./font with spaces.eot\\\\\\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url('./font.svg#svgFontName') format('svg'),\\\\n url('./font.woff2?foo=bar') format('woff2'),\\\\n url(\\\\\\"./font.eot?#iefix\\\\\\") format('embedded-opentype'),\\\\n url(\\\\\\"./font with spaces.eot?#iefix\\\\\\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\\\\\"./img.png\\\\\\");\\\\n }\\\\n}\\\\n\\\\na {\\\\n content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n background: green url('./img.png') xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url('./img1x.png') 1x, url('./img2x.png') 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url('./img1x.png') 1x, url('./img2x.png') 2x)\\\\n}\\\\n\\\\n.class {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url('./img.png') url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n background: ___CSS_LOADER_URL___;\\\\n background: ___CSS_LOADER_URL___INDEX___;\\\\n background: ___CSS_LOADER_URL___99999___;\\\\n background: ___CSS_LOADER_IMPORT___;\\\\n background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n background: url('img-simple.png');\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url('../url/img-simple.png');\\\\n}\\\\n\\\\n.tilde {\\\\n background: url('~package/img.png');\\\\n}\\\\n\\\\n.aliases {\\\\n background: url('~aliasesImg/img.png') ;\\\\n}\\\\n\\\\na {\\\\n background: url(./nested/img.png);\\\\n}\\\\n\\\\na {\\\\n background: url(nested/img.png);\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n /* Broken */\\\\n background-image: -webkit-image-set();\\\\n background-image: -webkit-image-set('');\\\\n background-image: image-set();\\\\n background-image: image-set('');\\\\n background-image: image-set(\\\\\\"\\\\\\");\\\\n background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n background-image: image-set(url());\\\\n background-image: image-set(\\\\n url()\\\\n );\\\\n background-image: image-set(URL());\\\\n background-image: image-set(url(''));\\\\n background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n background-image: image-set(url('') 1x);\\\\n background-image: image-set(1x);\\\\n background-image: image-set(\\\\n 1x\\\\n );\\\\n background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n /* Strings */\\\\n background-image: -webkit-image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x);\\\\n background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x),\\\\n image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n background-image: image-set(\\\\n \\\\\\"./img1x.png\\\\\\" 1x,\\\\n \\\\\\"./img2x.png\\\\\\" 2x,\\\\n \\\\\\"./img3x.png\\\\\\" 600dpi\\\\n );\\\\n background-image: image-set(\\\\\\"./img1x.png?foo=bar\\\\\\" 1x);\\\\n background-image: image-set(\\\\\\"./img1x.png#hash\\\\\\" 1x);\\\\n background-image: image-set(\\\\\\"./img1x.png?#iefix\\\\\\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, url(\\\\\\"./img2x.png\\\\\\") 2x);\\\\n background-image: -webkit-image-set(url(\\\\\\"./img1x.png\\\\\\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\\\\\"./img1x.png\\\\\\") 1x\\\\n );\\\\n background-image: image-set(url(./img1x.png) 1x);\\\\n background-image: image-set(\\\\n url(./img1x.png) 1x\\\\n );\\\\n background-image: image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, url(\\\\\\"./img2x.png\\\\\\") 2x);\\\\n background-image: image-set(\\\\n url(./img1x.png) 1x,\\\\n url(./img2x.png) 2x,\\\\n url(./img3x.png) 600dpi\\\\n );\\\\n background-image: image-set(url(\\\\\\"./img img.png\\\\\\") 1x, url(\\\\\\"./img img.png\\\\\\") 2x);\\\\n\\\\n background-image: image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n /* Not allowed on windows */\\\\n /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n background: url(./img\\\\\\\\'img.png);\\\\n background: url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png);\\\\n background: url(./img\\\\\\\\(img.png);\\\\n background: url(./img\\\\\\\\)img.png);\\\\n background: url(./img\\\\\\\\ img.png);\\\\n background: url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png);\\\\n\\\\n background-image: image-set(\\\\n /* Not allowed on windows */\\\\n /* url(./img\\\\\\\\\\\\\\"img.png) 1x, */\\\\n url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png) 2x,\\\\n url(./img\\\\\\\\'img.png) 3x,\\\\n url(./img\\\\\\\\(img.png) 4x,\\\\n url(./img\\\\\\\\)img.png) 5x,\\\\n url(./img\\\\\\\\ img.png) 6x,\\\\n url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png) 7x\\\\n );\\\\n}\\\\n\\\\n.class-class-class {\\\\n background: url(\\\\\\"./img'''img.png\\\\\\");\\\\n background: url(\\\\\\"./img'() img.png\\\\\\");\\\\n background: url(\\\\\\"./img'img.png\\\\\\");\\\\n background: url(\\\\\\"./img(img.png\\\\\\");\\\\n background: url(\\\\\\"./img)img.png\\\\\\");\\\\n background: url('./img img.png');\\\\n background: url(\\\\\\"./img img.png\\\\\\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n background: url('./img\\\\\\\\\\\\n(img.png');\\\\n background: url('./img\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n(img.png');\\\\n}\\\\n\\\\n.other-test-case {\\\\n background: url(\\\\\\"./img%27%27%27img.png\\\\\\");\\\\n background: url(\\\\\\"./img%27%28%29%20img.png\\\\\\");\\\\n background: url(\\\\\\"./img%27img.png\\\\\\");\\\\n background: url(\\\\\\"./img%28img.png\\\\\\");\\\\n background: url(\\\\\\"./img%29img.png\\\\\\");\\\\n background: url(\\\\\\"./img%20img.png\\\\\\");\\\\n background: url(./img%27%27%27img.png);\\\\n background: url(./img%27%28%29%20img.png);\\\\n background: url(./img%27img.png);\\\\n background: url(./img%28img.png);\\\\n background: url(./img%29img.png);\\\\n background: url(./img%20img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n background: url('img.png');\\\\n}\\\\n\\\\n.www {\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\(img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\)img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\ img.png\\\\\\");\\\\n background: url(\\\\\\"./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png\\\\\\");\\\\n background: url(./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png);\\\\n background: url(\\\\\\"./img\\\\\\\\27img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\28%29 img.png\\\\\\");\\\\n background: url(./img\\\\\\\\'\\\\\\\\28%29\\\\\\\\ img.png);\\\\n}\\\\n\\", \\"\\"]); +___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n background: url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(./img.png);\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\\\\\"./img.png\\\\\\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( './img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\\\\\"./img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( ./img.png ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(~package/img.png) url(./other-img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\\\\\"./img img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( './img img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(./font.woff) format('woff'),\\\\n url('./font.woff2') format('woff2'),\\\\n url(\\\\\\"./font.eot\\\\\\") format('eot'),\\\\n url(~package/font.ttf) format('truetype'),\\\\n url(\\\\\\"./font with spaces.eot\\\\\\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url('./font.svg#svgFontName') format('svg'),\\\\n url('./font.woff2?foo=bar') format('woff2'),\\\\n url(\\\\\\"./font.eot?#iefix\\\\\\") format('embedded-opentype'),\\\\n url(\\\\\\"./font with spaces.eot?#iefix\\\\\\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\\\\\"./img.png\\\\\\");\\\\n }\\\\n}\\\\n\\\\na {\\\\n content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n background: green url('./img.png') xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url('./img1x.png') 1x, url('./img2x.png') 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url('./img1x.png') 1x, url('./img2x.png') 2x)\\\\n}\\\\n\\\\n.class {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\\\"./img.png?\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url('./img.png') url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n background: ___CSS_LOADER_URL___;\\\\n background: ___CSS_LOADER_URL___INDEX___;\\\\n background: ___CSS_LOADER_URL___99999___;\\\\n background: ___CSS_LOADER_IMPORT___;\\\\n background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n background: url('img-simple.png');\\\\n}\\\\n\\\\n.root-relative {\\\\n background: url('/url/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url('../url/img-simple.png');\\\\n}\\\\n\\\\n.tilde {\\\\n background: url('~package/img.png');\\\\n}\\\\n\\\\n.aliases {\\\\n background: url('~aliasesImg/img.png') ;\\\\n}\\\\n\\\\na {\\\\n background: url(./nested/img.png);\\\\n}\\\\n\\\\na {\\\\n background: url(nested/img.png);\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n /* Broken */\\\\n background-image: -webkit-image-set();\\\\n background-image: -webkit-image-set('');\\\\n background-image: image-set();\\\\n background-image: image-set('');\\\\n background-image: image-set(\\\\\\"\\\\\\");\\\\n background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n background-image: image-set(url());\\\\n background-image: image-set(\\\\n url()\\\\n );\\\\n background-image: image-set(URL());\\\\n background-image: image-set(url(''));\\\\n background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n background-image: image-set(url('') 1x);\\\\n background-image: image-set(1x);\\\\n background-image: image-set(\\\\n 1x\\\\n );\\\\n background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n /* Strings */\\\\n background-image: -webkit-image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x);\\\\n background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x),\\\\n image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n background-image: image-set(\\\\n \\\\\\"./img1x.png\\\\\\" 1x,\\\\n \\\\\\"./img2x.png\\\\\\" 2x,\\\\n \\\\\\"./img3x.png\\\\\\" 600dpi\\\\n );\\\\n background-image: image-set(\\\\\\"./img1x.png?foo=bar\\\\\\" 1x);\\\\n background-image: image-set(\\\\\\"./img1x.png#hash\\\\\\" 1x);\\\\n background-image: image-set(\\\\\\"./img1x.png?#iefix\\\\\\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, url(\\\\\\"./img2x.png\\\\\\") 2x);\\\\n background-image: -webkit-image-set(url(\\\\\\"./img1x.png\\\\\\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\\\\\"./img1x.png\\\\\\") 1x\\\\n );\\\\n background-image: image-set(url(./img1x.png) 1x);\\\\n background-image: image-set(\\\\n url(./img1x.png) 1x\\\\n );\\\\n background-image: image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, url(\\\\\\"./img2x.png\\\\\\") 2x);\\\\n background-image: image-set(\\\\n url(./img1x.png) 1x,\\\\n url(./img2x.png) 2x,\\\\n url(./img3x.png) 600dpi\\\\n );\\\\n background-image: image-set(url(\\\\\\"./img img.png\\\\\\") 1x, url(\\\\\\"./img img.png\\\\\\") 2x);\\\\n\\\\n background-image: image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n /* Not allowed on windows */\\\\n /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n background: url(./img\\\\\\\\'img.png);\\\\n background: url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png);\\\\n background: url(./img\\\\\\\\(img.png);\\\\n background: url(./img\\\\\\\\)img.png);\\\\n background: url(./img\\\\\\\\ img.png);\\\\n background: url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png);\\\\n\\\\n background-image: image-set(\\\\n /* Not allowed on windows */\\\\n /* url(./img\\\\\\\\\\\\\\"img.png) 1x, */\\\\n url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png) 2x,\\\\n url(./img\\\\\\\\'img.png) 3x,\\\\n url(./img\\\\\\\\(img.png) 4x,\\\\n url(./img\\\\\\\\)img.png) 5x,\\\\n url(./img\\\\\\\\ img.png) 6x,\\\\n url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png) 7x\\\\n );\\\\n}\\\\n\\\\n.class-class-class {\\\\n background: url(\\\\\\"./img'''img.png\\\\\\");\\\\n background: url(\\\\\\"./img'() img.png\\\\\\");\\\\n background: url(\\\\\\"./img'img.png\\\\\\");\\\\n background: url(\\\\\\"./img(img.png\\\\\\");\\\\n background: url(\\\\\\"./img)img.png\\\\\\");\\\\n background: url('./img img.png');\\\\n background: url(\\\\\\"./img img.png\\\\\\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n background: url('./img\\\\\\\\\\\\n(img.png');\\\\n background: url('./img\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n(img.png');\\\\n}\\\\n\\\\n.other-test-case {\\\\n background: url(\\\\\\"./img%27%27%27img.png\\\\\\");\\\\n background: url(\\\\\\"./img%27%28%29%20img.png\\\\\\");\\\\n background: url(\\\\\\"./img%27img.png\\\\\\");\\\\n background: url(\\\\\\"./img%28img.png\\\\\\");\\\\n background: url(\\\\\\"./img%29img.png\\\\\\");\\\\n background: url(\\\\\\"./img%20img.png\\\\\\");\\\\n background: url(./img%27%27%27img.png);\\\\n background: url(./img%27%28%29%20img.png);\\\\n background: url(./img%27img.png);\\\\n background: url(./img%28img.png);\\\\n background: url(./img%29img.png);\\\\n background: url(./img%20img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n background: url('img.png');\\\\n}\\\\n\\\\n.www {\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\(img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\)img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\ img.png\\\\\\");\\\\n background: url(\\\\\\"./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png\\\\\\");\\\\n background: url(./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png);\\\\n background: url(\\\\\\"./img\\\\\\\\27img.png\\\\\\");\\\\n background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\28%29 img.png\\\\\\");\\\\n background: url(./img\\\\\\\\'\\\\\\\\28%29\\\\\\\\ img.png);\\\\n}\\\\n\\", \\"\\"]); // Exports module.exports = ___CSS_LOADER_EXPORT___; " @@ -1193,8 +1237,8 @@ b { background: url('img-simple.png'); } -.not-resolved { - background: url('/img-simple.png'); +.root-relative { + background: url('/url/img-simple.png'); } .above-below { @@ -1370,32 +1414,34 @@ var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\"); var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\"); var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\"); -var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"package/img.png\\"); +var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./node_modules/package/img.png\\"); var ___CSS_LOADER_URL_IMPORT_2___ = require(\\"./other-img.png\\"); var ___CSS_LOADER_URL_IMPORT_3___ = require(\\"./img img.png\\"); -var ___CSS_LOADER_URL_IMPORT_4___ = require(\\"./font.woff\\"); -var ___CSS_LOADER_URL_IMPORT_5___ = require(\\"./font.woff2\\"); -var ___CSS_LOADER_URL_IMPORT_6___ = require(\\"./font.eot\\"); -var ___CSS_LOADER_URL_IMPORT_7___ = require(\\"package/font.ttf\\"); -var ___CSS_LOADER_URL_IMPORT_8___ = require(\\"./font with spaces.eot\\"); -var ___CSS_LOADER_URL_IMPORT_9___ = require(\\"./font.svg\\"); -var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"./font.woff2?foo=bar\\"); -var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./img1x.png\\"); -var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img2x.png\\"); -var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img.png?foo\\"); -var ___CSS_LOADER_URL_IMPORT_14___ = require(\\"./img.png?foo=bar\\"); -var ___CSS_LOADER_URL_IMPORT_15___ = require(\\"./img.png?\\"); -var ___CSS_LOADER_URL_IMPORT_16___ = require(\\"./img-simple.png\\"); -var ___CSS_LOADER_URL_IMPORT_17___ = require(\\"../url/img-simple.png\\"); -var ___CSS_LOADER_URL_IMPORT_18___ = require(\\"aliasesImg/img.png\\"); -var ___CSS_LOADER_URL_IMPORT_19___ = require(\\"./nested/img.png\\"); -var ___CSS_LOADER_URL_IMPORT_20___ = require(\\"./img3x.png\\"); -var ___CSS_LOADER_URL_IMPORT_21___ = require(\\"./img1x.png?foo=bar\\"); -var ___CSS_LOADER_URL_IMPORT_22___ = require(\\"./img'img.png\\"); -var ___CSS_LOADER_URL_IMPORT_23___ = require(\\"./img'''img.png\\"); -var ___CSS_LOADER_URL_IMPORT_24___ = require(\\"./img(img.png\\"); -var ___CSS_LOADER_URL_IMPORT_25___ = require(\\"./img)img.png\\"); -var ___CSS_LOADER_URL_IMPORT_26___ = require(\\"./img'() img.png\\"); +var ___CSS_LOADER_URL_IMPORT_4___ = require(\\"./img.png\\"); +var ___CSS_LOADER_URL_IMPORT_5___ = require(\\"./font.woff\\"); +var ___CSS_LOADER_URL_IMPORT_6___ = require(\\"./font.woff2\\"); +var ___CSS_LOADER_URL_IMPORT_7___ = require(\\"./font.eot\\"); +var ___CSS_LOADER_URL_IMPORT_8___ = require(\\"./node_modules/package/font.ttf\\"); +var ___CSS_LOADER_URL_IMPORT_9___ = require(\\"./font with spaces.eot\\"); +var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"./font.svg\\"); +var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./font.woff2?foo=bar\\"); +var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img1x.png\\"); +var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img2x.png\\"); +var ___CSS_LOADER_URL_IMPORT_14___ = require(\\"./img.png?foo\\"); +var ___CSS_LOADER_URL_IMPORT_15___ = require(\\"./img.png?foo=bar\\"); +var ___CSS_LOADER_URL_IMPORT_16___ = require(\\"./img.png?\\"); +var ___CSS_LOADER_URL_IMPORT_17___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_IMPORT_18___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_IMPORT_19___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_IMPORT_20___ = require(\\"./img.png\\"); +var ___CSS_LOADER_URL_IMPORT_21___ = require(\\"./nested/img.png\\"); +var ___CSS_LOADER_URL_IMPORT_22___ = require(\\"./img3x.png\\"); +var ___CSS_LOADER_URL_IMPORT_23___ = require(\\"./img1x.png?foo=bar\\"); +var ___CSS_LOADER_URL_IMPORT_24___ = require(\\"./img'img.png\\"); +var ___CSS_LOADER_URL_IMPORT_25___ = require(\\"./img'''img.png\\"); +var ___CSS_LOADER_URL_IMPORT_26___ = require(\\"./img(img.png\\"); +var ___CSS_LOADER_URL_IMPORT_27___ = require(\\"./img)img.png\\"); +var ___CSS_LOADER_URL_IMPORT_28___ = require(\\"./img'() img.png\\"); ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false); ___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___); var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___); @@ -1408,35 +1454,37 @@ var ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_ var ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___); var ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___); var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___); -var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \\"#svgFontName\\" }); -var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___); -var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___, { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___, { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); +var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___); +var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { hash: \\"#svgFontName\\" }); +var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___); +var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"?#iefix\\" }); +var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___, { hash: \\"?#iefix\\" }); var ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___); var ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___); var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___); -var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___); +var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___); +var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \\"#hash\\" }); var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___); var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___); var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___); var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___); -var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___, { needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___); -var ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___); -var ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___); +var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___); +var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___); +var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___, { needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { hash: \\"#hash\\", needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { hash: \\"?#iefix\\", needQuotes: true }); +var ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___); var ___CSS_LOADER_URL_REPLACEMENT_34___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___); var ___CSS_LOADER_URL_REPLACEMENT_35___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___); var ___CSS_LOADER_URL_REPLACEMENT_36___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___); +var ___CSS_LOADER_URL_REPLACEMENT_37___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___); +var ___CSS_LOADER_URL_REPLACEMENT_38___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___); // Module -___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n }\\\\n}\\\\n\\\\na {\\\\n content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: ___CSS_LOADER_URL___;\\\\n background: ___CSS_LOADER_URL___INDEX___;\\\\n background: ___CSS_LOADER_URL___99999___;\\\\n background: ___CSS_LOADER_IMPORT___;\\\\n background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n /* Broken */\\\\n background-image: -webkit-image-set();\\\\n background-image: -webkit-image-set('');\\\\n background-image: image-set();\\\\n background-image: image-set('');\\\\n background-image: image-set(\\\\\\"\\\\\\");\\\\n background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n background-image: image-set(url());\\\\n background-image: image-set(\\\\n url()\\\\n );\\\\n background-image: image-set(URL());\\\\n background-image: image-set(url(''));\\\\n background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n background-image: image-set(url('') 1x);\\\\n background-image: image-set(1x);\\\\n background-image: image-set(\\\\n 1x\\\\n );\\\\n background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n /* Strings */\\\\n background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n /* Not allowed on windows */\\\\n /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n\\\\n background-image: image-set(\\\\n \\\\n \\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\") 3x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\") 4x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\") 5x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 6x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\") 7x\\\\n );\\\\n}\\\\n\\\\n.class-class-class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n}\\\\n\\\\n.other-test-case {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.www {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n}\\\\n\\", \\"\\"]); +___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n.class {\\\\n filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n }\\\\n}\\\\n\\\\na {\\\\n content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: ___CSS_LOADER_URL___;\\\\n background: ___CSS_LOADER_URL___INDEX___;\\\\n background: ___CSS_LOADER_URL___99999___;\\\\n background: ___CSS_LOADER_IMPORT___;\\\\n background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\n.root-relative {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\");\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n /* Broken */\\\\n background-image: -webkit-image-set();\\\\n background-image: -webkit-image-set('');\\\\n background-image: image-set();\\\\n background-image: image-set('');\\\\n background-image: image-set(\\\\\\"\\\\\\");\\\\n background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n background-image: image-set(url());\\\\n background-image: image-set(\\\\n url()\\\\n );\\\\n background-image: image-set(URL());\\\\n background-image: image-set(url(''));\\\\n background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n background-image: image-set(url('') 1x);\\\\n background-image: image-set(1x);\\\\n background-image: image-set(\\\\n 1x\\\\n );\\\\n background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n /* Strings */\\\\n background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n /* Not allowed on windows */\\\\n /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n\\\\n background-image: image-set(\\\\n \\\\n \\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\") 3x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\") 4x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\") 5x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 6x,\\\\n url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\") 7x\\\\n );\\\\n}\\\\n\\\\n.class-class-class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n}\\\\n\\\\n.other-test-case {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.www {\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n}\\\\n\\", \\"\\"]); // Exports module.exports = ___CSS_LOADER_EXPORT___; " @@ -1501,7 +1549,7 @@ Array [ } .class { - background: green url(/img.png) xyz; + background: green url(/webpack/public/path/img.png) xyz; } .class { @@ -1636,8 +1684,8 @@ b { background: url(/webpack/public/path/img-simple.png); } -.not-resolved { - background: url('/img-simple.png'); +.root-relative { + background: url(/webpack/public/path/img-simple.png); } .above-below { diff --git a/test/fixtures/url/url-absolute.js b/test/fixtures/url/url-absolute.js new file mode 100644 index 00000000..536ef32c --- /dev/null +++ b/test/fixtures/url/url-absolute.js @@ -0,0 +1,5 @@ +import css from './url-absolute.css'; + +__export__ = css; + +export default css; diff --git a/test/fixtures/url/url-unresolved.css b/test/fixtures/url/url-unresolved.css new file mode 100644 index 00000000..7d046c99 --- /dev/null +++ b/test/fixtures/url/url-unresolved.css @@ -0,0 +1,3 @@ +.class { + background: url('unresolved.png'); +} diff --git a/test/fixtures/url/url-unresolved.js b/test/fixtures/url/url-unresolved.js new file mode 100644 index 00000000..d1c05929 --- /dev/null +++ b/test/fixtures/url/url-unresolved.js @@ -0,0 +1,5 @@ +import css from './url-unresolved.css'; + +__export__ = css; + +export default css; diff --git a/test/fixtures/url/url.css b/test/fixtures/url/url.css index 12acc1f1..faa66b84 100644 --- a/test/fixtures/url/url.css +++ b/test/fixtures/url/url.css @@ -182,8 +182,8 @@ b { background: url('img-simple.png'); } -.not-resolved { - background: url('/img-simple.png'); +.root-relative { + background: url('/url/img-simple.png'); } .above-below { diff --git a/test/helpers/getCompiler.js b/test/helpers/getCompiler.js index e23cffba..5061f6de 100644 --- a/test/helpers/getCompiler.js +++ b/test/helpers/getCompiler.js @@ -41,6 +41,7 @@ export default (fixture, loaderOptions = {}, config = {}) => { __dirname, '../fixtures/modules/composes' ), + '/img.png': path.resolve(__dirname, '../fixtures/url/img.png'), }, }, optimization: { diff --git a/test/url-option.test.js b/test/url-option.test.js index 258ce6b7..f3f5f705 100644 --- a/test/url-option.test.js +++ b/test/url-option.test.js @@ -1,3 +1,6 @@ +import path from 'path'; +import fs from 'fs'; + import { compile, getCompiler, @@ -66,4 +69,35 @@ describe('"url" option', () => { expect(getWarnings(stats)).toMatchSnapshot('warnings'); expect(getErrors(stats)).toMatchSnapshot('errors'); }); + + it('should resolve absolute path', async () => { + // Create the file with absolute path + const fileDirectory = path.resolve(__dirname, 'fixtures', 'url'); + const file = path.resolve(fileDirectory, 'url-absolute.css'); + const absoluteUrlpath = path.resolve(fileDirectory, 'img.png'); + + const code = `\n.background {background: url(${absoluteUrlpath}); }`; + + fs.writeFileSync(file, code); + + const compiler = getCompiler('./url/url-absolute.js'); + const stats = await compile(compiler); + + expect(getModuleSource('./url/url-absolute.css', stats)).toMatchSnapshot( + 'module' + ); + expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot( + 'result' + ); + expect(getWarnings(stats)).toMatchSnapshot('warnings'); + expect(getErrors(stats)).toMatchSnapshot('errors'); + }); + + it('should emit warning when unresolved import', async () => { + const compiler = getCompiler('./url/url-unresolved.js'); + const stats = await compile(compiler); + + expect(getWarnings(stats)).toMatchSnapshot('warnings'); + expect(getErrors(stats, true)).toMatchSnapshot('errors'); + }); });