diff --git a/CHANGELOG.md b/CHANGELOG.md index e3c4a4c1..b41881f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,19 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [3.3.0](https://github.com/webpack-contrib/css-loader/compare/v3.2.1...v3.3.0) (2019-12-09) + + +### Features + +* support `pure` css modules ([#1008](https://github.com/webpack-contrib/css-loader/issues/1008)) ([6177af5](https://github.com/webpack-contrib/css-loader/commit/6177af5596566fead13a8f66d5abcb4dc2b744db)) + + +### Bug Fixes + +* do not crash when an assert return `null` or `undefined` ([#1006](https://github.com/webpack-contrib/css-loader/issues/1006)) ([6769783](https://github.com/webpack-contrib/css-loader/commit/67697833725e1cff12a14663390bbe4c65ea36d2)) +* reduce count of `require` ([#1004](https://github.com/webpack-contrib/css-loader/issues/1004)) ([80e9662](https://github.com/webpack-contrib/css-loader/commit/80e966280f2477c5c0e4553d3be3a04511fea381)) + ### [3.2.1](https://github.com/webpack-contrib/css-loader/compare/v3.2.0...v3.2.1) (2019-12-02) diff --git a/README.md b/README.md index df41b3d2..9179e787 100644 --- a/README.md +++ b/README.md @@ -317,6 +317,7 @@ module.exports = { Using `local` value requires you to specify `:global` classes. Using `global` value requires you to specify `:local` classes. +Using `pure` value requires selectors must contain at least one local class or id. You can find more information [here](https://github.com/css-modules/css-modules). diff --git a/package-lock.json b/package-lock.json index 0919b115..dc669d8e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "css-loader", - "version": "3.2.1", + "version": "3.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index a2acee79..824c3259 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "css-loader", - "version": "3.2.1", + "version": "3.3.0", "description": "css loader module for webpack", "license": "MIT", "repository": "webpack-contrib/css-loader", diff --git a/src/index.js b/src/index.js index 47ea7e1d..99583eda 100644 --- a/src/index.js +++ b/src/index.js @@ -13,13 +13,11 @@ import { importParser, icssParser, urlParser } from './plugins'; import { normalizeSourceMap, getModulesPlugins, - getImportPrefix, getFilter, getApiCode, getImportCode, getModuleCode, getExportCode, - prepareCode, } from './utils'; import Warning from './Warning'; import CssSyntaxError from './CssSyntaxError'; @@ -55,31 +53,21 @@ export default function loader(content, map, meta) { plugins.push(...getModulesPlugins(options, this)); } - // Run other loader (`postcss-loader`, `sass-loader` and etc) for importing CSS - const importPrefix = getImportPrefix(this, options.importLoaders); + const exportType = options.onlyLocals ? 'locals' : 'full'; - plugins.push( - icssParser({ - loaderContext: this, - importPrefix, - localsConvention: options.localsConvention, - }) - ); + plugins.push(icssParser()); - if (options.import !== false) { + if (options.import !== false && exportType === 'full') { plugins.push( importParser({ - loaderContext: this, - importPrefix, filter: getFilter(options.import, this.resourcePath), }) ); } - if (options.url !== false) { + if (options.url !== false && exportType === 'full') { plugins.push( urlParser({ - loaderContext: this, filter: getFilter(options.url, this.resourcePath, (value) => isUrlRequest(value) ), @@ -92,54 +80,57 @@ export default function loader(content, map, meta) { from: this.remainingRequest.split('!').pop(), to: this.currentRequest.split('!').pop(), map: options.sourceMap - ? { - prev: map, - inline: false, - annotation: false, - } - : null, + ? { prev: map, inline: false, annotation: false } + : false, }) .then((result) => { result .warnings() .forEach((warning) => this.emitWarning(new Warning(warning))); - if (!result.messages) { - // eslint-disable-next-line no-param-reassign - result.messages = []; + const imports = []; + const exports = []; + const replacers = []; + + for (const message of result.messages) { + // eslint-disable-next-line default-case + switch (message.type) { + case 'import': + imports.push(message.value); + break; + case 'export': + exports.push(message.value); + break; + case 'replacer': + replacers.push(message.value); + break; + } } - const { onlyLocals } = options; - - const importItems = result.messages - .filter((message) => (message.type === 'import' ? message : false)) - .reduce((accumulator, currentValue) => { - accumulator.push(currentValue.import); - - return accumulator; - }, []); - const exportItems = result.messages - .filter((message) => (message.type === 'export' ? message : false)) - .reduce((accumulator, currentValue) => { - accumulator.push(currentValue.export); - - return accumulator; - }, []); - - const importCode = getImportCode(importItems, onlyLocals); - const moduleCode = getModuleCode(result, sourceMap, onlyLocals); - const exportCode = getExportCode(exportItems, onlyLocals); - const apiCode = getApiCode(this, sourceMap, onlyLocals); + // Run other loader (`postcss-loader`, `sass-loader` and etc) for importing CSS + const apiCode = exportType === 'full' ? getApiCode(this, sourceMap) : ''; + const importCode = + imports.length > 0 + ? getImportCode(this, imports, { + importLoaders: options.importLoaders, + exportType, + }) + : ''; + const moduleCode = + exportType === 'full' + ? getModuleCode(this, result, replacers, sourceMap) + : ''; + const exportCode = + exports.length > 0 + ? getExportCode(this, exports, replacers, { + localsConvention: options.localsConvention, + exportType, + }) + : ''; return callback( null, - prepareCode( - { apiCode, importCode, moduleCode, exportCode }, - result.messages, - this, - importPrefix, - onlyLocals - ) + [apiCode, importCode, moduleCode, exportCode].join('') ); }) .catch((error) => { diff --git a/src/options.json b/src/options.json index 2e90393a..efa13be8 100644 --- a/src/options.json +++ b/src/options.json @@ -30,14 +30,14 @@ "type": "boolean" }, { - "enum": ["local", "global"] + "enum": ["local", "global", "pure"] }, { "type": "object", "additionalProperties": false, "properties": { "mode": { - "enum": ["local", "global"] + "enum": ["local", "global", "pure"] }, "localIdentName": { "type": "string" diff --git a/src/plugins/postcss-icss-parser.js b/src/plugins/postcss-icss-parser.js index 003e3326..cc349fff 100644 --- a/src/plugins/postcss-icss-parser.js +++ b/src/plugins/postcss-icss-parser.js @@ -1,65 +1,49 @@ import postcss from 'postcss'; import { extractICSS, replaceValueSymbols, replaceSymbols } from 'icss-utils'; -import loaderUtils from 'loader-utils'; - -import { getExportItemCode, getImportItemCode } from '../utils'; const pluginName = 'postcss-icss-parser'; -function hasImportMessage(messages, url) { - return messages.find( - (message) => - message.pluginName === pluginName && - message.type === 'import' && - message.item.url === url && - message.item.media === '' - ); -} - export default postcss.plugin( pluginName, - (options = {}) => + () => function process(css, result) { const importReplacements = Object.create(null); const { icssImports, icssExports } = extractICSS(css); - let index = 0; + Object.keys(icssImports).forEach((url, importIndex) => { + const tokens = Object.keys(icssImports[url]); + + if (tokens.length === 0) { + return; + } + + const importName = `___CSS_LOADER_ICSS_IMPORT_${importIndex}___`; + + result.messages.push({ + pluginName, + type: 'import', + value: { type: 'icss-import', name: importName, url }, + }); - for (const importUrl of Object.keys(icssImports)) { - const url = loaderUtils.parseString(importUrl); + tokens.forEach((token, replacementIndex) => { + const name = `___CSS_LOADER_ICSS_IMPORT_${importIndex}_REPLACEMENT_${replacementIndex}___`; + const localName = icssImports[url][token]; - for (const token of Object.keys(icssImports[importUrl])) { - index += 1; - importReplacements[token] = `___CSS_LOADER_IMPORT___${index}___`; + importReplacements[token] = name; result.messages.push({ pluginName, - type: 'icss-import', - item: { url, export: icssImports[importUrl][token], index }, + type: 'replacer', + value: { type: 'icss-import', name, importName, localName }, }); + }); + }); - if (!hasImportMessage(result.messages, url)) { - const media = ''; - const { loaderContext, importPrefix } = options; - - result.messages.push({ - pluginName, - type: 'import', - import: getImportItemCode( - { url, media }, - loaderContext, - importPrefix - ), - item: { url, media }, - }); - } - } + if (Object.keys(importReplacements).length > 0) { + replaceSymbols(css, importReplacements); } - replaceSymbols(css, importReplacements); - - for (const exportName of Object.keys(icssExports)) { - const name = exportName; + Object.keys(icssExports).forEach((name) => { const value = replaceValueSymbols( icssExports[name], importReplacements @@ -67,10 +51,9 @@ export default postcss.plugin( result.messages.push({ pluginName, - export: getExportItemCode(name, value, options.localsConvention), type: 'export', - item: { name, value }, + value: { name, value }, }); - } + }); } ); diff --git a/src/plugins/postcss-import-parser.js b/src/plugins/postcss-import-parser.js index 36bb3796..daeae3fc 100644 --- a/src/plugins/postcss-import-parser.js +++ b/src/plugins/postcss-import-parser.js @@ -1,8 +1,6 @@ import postcss from 'postcss'; import valueParser from 'postcss-value-parser'; -import { uniqWith, getImportItemCode } from '../utils'; - const pluginName = 'postcss-import-parser'; function getArg(nodes) { @@ -46,7 +44,7 @@ function parseImport(params) { } function walkAtRules(css, result, filter) { - const items = []; + const items = new Map(); css.walkAtRules(/^import$/i, (atRule) => { // Convert only top-level @import @@ -79,8 +77,13 @@ function walkAtRules(css, result, filter) { atRule.remove(); const { url, media } = parsed; + const value = items.get(url); - items.push({ url, media }); + if (!value) { + items.set(url, new Set([media])); + } else { + value.add(media); + } }); return items; @@ -88,24 +91,29 @@ function walkAtRules(css, result, filter) { export default postcss.plugin( pluginName, - (options = {}) => + (options) => function process(css, result) { - const traversed = walkAtRules(css, result, options.filter); - const paths = uniqWith( - traversed, - (value, other) => value.url === other.url && value.media === other.media - ); - - paths.forEach((item) => { - result.messages.push({ - pluginName, - type: 'import', - import: getImportItemCode( - item, - options.loaderContext, - options.importPrefix - ), + const items = walkAtRules(css, result, options.filter); + + [...items] + .reduce((accumulator, currentValue) => { + const [url, medias] = currentValue; + + medias.forEach((media) => { + accumulator.push({ url, media }); + }); + + return accumulator; + }, []) + .forEach((item, index) => { + const { url, media } = item; + const name = `___CSS_LOADER_AT_RULE_IMPORT_${index}___`; + + result.messages.push({ + pluginName, + type: 'import', + value: { type: '@import', name, url, media }, + }); }); - }); } ); diff --git a/src/plugins/postcss-url-parser.js b/src/plugins/postcss-url-parser.js index c499cdc9..c206b8c2 100644 --- a/src/plugins/postcss-url-parser.js +++ b/src/plugins/postcss-url-parser.js @@ -1,8 +1,6 @@ import postcss from 'postcss'; import valueParser from 'postcss-value-parser'; -import { uniqWith, flatten, getUrlHelperCode, getUrlItemCode } from '../utils'; - const pluginName = 'postcss-url-parser'; const isUrlFunc = /url/i; @@ -51,7 +49,7 @@ function walkUrls(parsed, callback) { }); } -function getUrlsFromValue(value, result, filter, decl = null) { +function getUrlsFromValue(value, result, filter, decl) { if (!needParseDecl.test(value)) { return; } @@ -61,14 +59,9 @@ function getUrlsFromValue(value, result, filter, decl = null) { walkUrls(parsed, (node, url, needQuotes) => { if (url.trim().replace(/\\[\r\n]/g, '').length === 0) { - result.warn( - `Unable to find uri in '${decl ? decl.toString() : value}'`, - decl - ? { - node: decl, - } - : {} - ); + result.warn(`Unable to find uri in '${decl ? decl.toString() : value}'`, { + node: decl, + }); return; } @@ -77,24 +70,26 @@ function getUrlsFromValue(value, result, filter, decl = null) { return; } - urls.push({ url, needQuotes }); + const [normalizedUrl, singleQuery, hashValue] = url.split(/(\?)?#/); + const hash = + singleQuery || hashValue + ? `${singleQuery ? '?' : ''}${hashValue ? `#${hashValue}` : ''}` + : ''; + + urls.push({ node, url: normalizedUrl, hash, needQuotes }); }); // eslint-disable-next-line consistent-return return { parsed, urls }; } -function walkDeclsWithUrl(css, result, filter) { +function walkDecls(css, result, filter) { const items = []; css.walkDecls((decl) => { const item = getUrlsFromValue(decl.value, result, filter, decl); - if (!item) { - return; - } - - if (item.urls.length === 0) { + if (!item || item.urls.length === 0) { return; } @@ -104,73 +99,72 @@ function walkDeclsWithUrl(css, result, filter) { return items; } +function flatten(array) { + return array.reduce((a, b) => a.concat(b), []); +} + +function collectUniqueUrlsWithNodes(array) { + return array.reduce((accumulator, currentValue) => { + const { url, needQuotes, hash, node } = currentValue; + const found = accumulator.find( + (item) => + url === item.url && needQuotes === item.needQuotes && hash === item.hash + ); + + if (!found) { + accumulator.push({ url, hash, needQuotes, nodes: [node] }); + } else { + found.nodes.push(node); + } + + return accumulator; + }, []); +} + export default postcss.plugin( pluginName, - (options = {}) => + (options) => function process(css, result) { - const traversed = walkDeclsWithUrl(css, result, options.filter); - const paths = uniqWith( - flatten(traversed.map((item) => item.urls)), - (value, other) => - value.url === other.url && value.needQuotes === other.needQuotes + const traversed = walkDecls(css, result, options.filter); + const paths = collectUniqueUrlsWithNodes( + flatten(traversed.map((item) => item.urls)) ); - - if (paths.length === 0) { - return; - } - - const placeholders = []; - - let hasUrlHelper = false; + const replacers = new Map(); paths.forEach((path, index) => { - const { loaderContext } = options; - const placeholder = `___CSS_LOADER_URL___${index}___`; - const { url, needQuotes } = path; - - placeholders.push({ placeholder, path }); + const { url, hash, needQuotes, nodes } = path; + const name = `___CSS_LOADER_URL_IMPORT_${index}___`; - if (!hasUrlHelper) { - result.messages.push({ + result.messages.push( + { pluginName, type: 'import', - import: getUrlHelperCode(loaderContext), - }); - - // eslint-disable-next-line no-param-reassign - hasUrlHelper = true; - } + value: { type: 'url', name, url, needQuotes, hash, index }, + }, + { + pluginName, + type: 'replacer', + value: { type: 'url', name }, + } + ); - result.messages.push({ - pluginName, - type: 'import', - import: getUrlItemCode( - { url, placeholder, needQuotes }, - loaderContext - ), - importType: 'url', - placeholder, + nodes.forEach((node) => { + replacers.set(node, name); }); }); traversed.forEach((item) => { - walkUrls(item.parsed, (node, url, needQuotes) => { - const value = placeholders.find( - (placeholder) => - placeholder.path.url === url && - placeholder.path.needQuotes === needQuotes - ); - - if (!value) { + walkUrls(item.parsed, (node) => { + const name = replacers.get(node); + + if (!name) { return; } - const { placeholder } = value; - // eslint-disable-next-line no-param-reassign node.type = 'word'; // eslint-disable-next-line no-param-reassign - node.value = placeholder; + node.value = name; }); // eslint-disable-next-line no-param-reassign diff --git a/src/runtime/getUrl.js b/src/runtime/getUrl.js index c2e3d506..1ae687a3 100644 --- a/src/runtime/getUrl.js +++ b/src/runtime/getUrl.js @@ -5,7 +5,7 @@ module.exports = (url, options) => { } // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; + url = url && url.__esModule ? url.default : url; if (typeof url !== 'string') { return url; diff --git a/src/utils.js b/src/utils.js index 26140edf..f993d3da 100644 --- a/src/utils.js +++ b/src/utils.js @@ -17,23 +17,6 @@ import extractImports from 'postcss-modules-extract-imports'; import modulesScope from 'postcss-modules-scope'; import camelCase from 'camelcase'; -function uniqWith(array, comparator) { - return array.reduce( - (acc, d) => (!acc.some((item) => comparator(d, item)) ? [...acc, d] : acc), - [] - ); -} - -function flatten(array) { - return array.reduce((a, b) => a.concat(b), []); -} - -function dashesCamelCase(str) { - return str.replace(/-+(\w)/g, (match, firstLetter) => - firstLetter.toUpperCase() - ); -} - function getImportPrefix(loaderContext, importLoaders) { if (importLoaders === false) { return ''; @@ -207,225 +190,189 @@ function normalizeSourceMap(map) { return newMap; } -function getImportItemCode(item, loaderContext, importPrefix) { - const { url } = item; - const media = item.media || ''; +function getApiCode(loaderContext, sourceMap) { + const url = stringifyRequest(loaderContext, require.resolve('./runtime/api')); - if (!isUrlRequest(url)) { - return `exports.push([module.id, ${JSON.stringify( - `@import url(${url});` - )}, ${JSON.stringify(media)}]);`; - } + return `exports = module.exports = require(${url})(${sourceMap});\n`; +} - const importUrl = importPrefix + urlToRequest(url); +function getImportCode(loaderContext, imports, options) { + const importItems = []; + const codeItems = []; + const urlImportNames = new Map(); - return `exports.i(require(${stringifyRequest( - loaderContext, - importUrl - )}), ${JSON.stringify(media)});`; -} + let hasUrlHelperCode = false; + let importPrefix; -function getUrlHelperCode(loaderContext) { - return `var getUrl = require(${stringifyRequest( - loaderContext, - require.resolve('./runtime/getUrl.js') - )});`; -} + imports.forEach((item) => { + if (item.type === '@import' || item.type === 'icss-import') { + const media = item.media ? `, ${JSON.stringify(item.media)}` : ''; -function getUrlItemCode(item, loaderContext) { - const { url, placeholder, needQuotes } = item; + if (!isUrlRequest(item.url)) { + const url = JSON.stringify(`@import url(${item.url});`); + codeItems.push(`exports.push([module.id, ${url}${media}]);`); - // Remove `#hash` and `?#hash` from `require` - const [normalizedUrl, singleQuery, hashValue] = url.split(/(\?)?#/); - const hash = - singleQuery || hashValue - ? `"${singleQuery ? '?' : ''}${hashValue ? `#${hashValue}` : ''}"` - : ''; + return; + } - const options = []; + if (!importPrefix) { + importPrefix = getImportPrefix(loaderContext, options.importLoaders); + } - if (hash) { - options.push(`hash: ${hash}`); - } + const url = stringifyRequest( + loaderContext, + importPrefix + urlToRequest(item.url) + ); - if (needQuotes) { - options.push(`needQuotes: true`); - } + importItems.push(`var ${item.name} = require(${url});`); - const preparedOptions = - options.length > 0 ? `, { ${options.join(', ')} }` : ''; + if (options.exportType === 'full') { + codeItems.push(`exports.i(${item.name}${media});`); + } + } - return `var ${placeholder} = getUrl(require(${stringifyRequest( - loaderContext, - urlToRequest(normalizedUrl) - )})${preparedOptions});`; -} + if (item.type === 'url') { + if (!hasUrlHelperCode) { + const pathToGetUrl = require.resolve('./runtime/getUrl.js'); + const url = stringifyRequest(loaderContext, pathToGetUrl); -function getApiCode(loaderContext, sourceMap, onlyLocals) { - if (onlyLocals) { - return ''; - } + importItems.push( + `var ___CSS_LOADER_GET_URL_IMPORT___ = require(${url});` + ); - return `exports = module.exports = require(${stringifyRequest( - loaderContext, - require.resolve('./runtime/api') - )})(${sourceMap});\n`; -} + hasUrlHelperCode = true; + } -function getImportCode(importItems, onlyLocals) { - if (importItems.length === 0 || onlyLocals) { - return ''; - } + const { name, url, hash, needQuotes, index } = item; - return `// Imports\n${importItems.join('\n')}\n`; -} + let importName = urlImportNames.get(url); -function getModuleCode(result, sourceMap, onlyLocals) { - if (onlyLocals) { - return ''; - } + if (!importName) { + const preparedUrl = stringifyRequest(loaderContext, urlToRequest(url)); + + importName = `___CSS_LOADER_URL_PURE_IMPORT_${index}___`; + importItems.push(`var ${importName} = require(${preparedUrl});`); + urlImportNames.set(url, importName); + } + + const getUrlOptions = [] + .concat(hash ? [`hash: ${JSON.stringify(hash)}`] : []) + .concat(needQuotes ? 'needQuotes: true' : []); + const preparedOptions = + getUrlOptions.length > 0 ? `, { ${getUrlOptions.join(', ')} }` : ''; - return `// Module\nexports.push([module.id, ${JSON.stringify( - result.css - )}, ""${sourceMap && result.map ? `,${result.map}` : ''}]);\n`; + codeItems.push( + `var ${name} = ___CSS_LOADER_GET_URL_IMPORT___(${importName}${preparedOptions});` + ); + } + }); + + return `// Imports\n${importItems.join('\n')}\n${codeItems.join('\n')}\n`; } -function getExportItemCode(key, value, localsConvention) { - let targetKey; - const items = []; +function getModuleCode(loaderContext, result, replacers, sourceMap) { + const { css, map } = result; + const sourceMapValue = sourceMap && map ? `,${map}` : ''; + let cssCode = JSON.stringify(css); - function addEntry(k) { - items.push(`\t${JSON.stringify(k)}: ${JSON.stringify(value)}`); - } + replacers.forEach((replacer) => { + const { type, name } = replacer; - switch (localsConvention) { - case 'camelCase': - addEntry(key); - targetKey = camelCase(key); + if (type === 'url') { + cssCode = cssCode.replace(new RegExp(name, 'g'), () => `" + ${name} + "`); + } - if (targetKey !== key) { - addEntry(targetKey); - } - break; - case 'camelCaseOnly': - addEntry(camelCase(key)); - break; - case 'dashes': - addEntry(key); - targetKey = dashesCamelCase(key); - - if (targetKey !== key) { - addEntry(targetKey); - } - break; - case 'dashesOnly': - addEntry(dashesCamelCase(key)); - break; - case 'asIs': - default: - addEntry(key); - break; - } + if (type === 'icss-import') { + const { importName, localName } = replacer; - return items.join(',\n'); -} + cssCode = cssCode.replace( + new RegExp(name, 'g'), + () => `" + ${importName}.locals[${JSON.stringify(localName)}] + "` + ); + } + }); -function getExportCode(exportItems, onlyLocals) { - if (exportItems.length === 0) { - return ''; - } + return `// Module\nexports.push([module.id, ${cssCode}, ""${sourceMapValue}]);\n`; +} - return `// Exports\n${ - onlyLocals ? 'module.exports' : 'exports.locals' - } = {\n${exportItems.join(',\n')}\n};`; +function dashesCamelCase(str) { + return str.replace(/-+(\w)/g, (match, firstLetter) => + firstLetter.toUpperCase() + ); } -function getIcssReplacer(item, loaderContext, importPrefix, onlyLocals) { - const importUrl = importPrefix + urlToRequest(item.url); +function getExportCode(loaderContext, exports, replacers, options) { + const items = []; - return () => - onlyLocals - ? `" + require(${stringifyRequest( - loaderContext, - importUrl - )})[${JSON.stringify(item.export)}] + "` - : `" + require(${stringifyRequest( - loaderContext, - importUrl - )}).locals[${JSON.stringify(item.export)}] + "`; -} + function addExportedItem(name, value) { + items.push(`\t${JSON.stringify(name)}: ${JSON.stringify(value)}`); + } -function prepareCode(file, messages, loaderContext, importPrefix, onlyLocals) { - const { apiCode, importCode } = file; - let { moduleCode, exportCode } = file; + exports.forEach((item) => { + const { name, value } = item; - messages - .filter( - (message) => - message.type === 'icss-import' || - (message.type === 'import' && message.importType === 'url') - ) - .forEach((message) => { - // Replace all urls on `require` - if (message.type === 'import') { - const { placeholder } = message; - - if (moduleCode) { - // eslint-disable-next-line no-param-reassign - moduleCode = moduleCode.replace( - new RegExp(placeholder, 'g'), - () => `" + ${placeholder} + "` - ); - } - } + switch (options.localsConvention) { + case 'camelCase': { + addExportedItem(name, value); - // Replace external ICSS import on `require` - if (message.type === 'icss-import') { - const { item } = message; - const replacer = getIcssReplacer( - item, - loaderContext, - importPrefix, - onlyLocals - ); + const modifiedName = camelCase(name); - if (moduleCode) { - // eslint-disable-next-line no-param-reassign - moduleCode = moduleCode.replace( - new RegExp(`___CSS_LOADER_IMPORT___(${item.index})___`, 'g'), - replacer - ); + if (modifiedName !== name) { + addExportedItem(modifiedName, value); } + break; + } + case 'camelCaseOnly': { + addExportedItem(camelCase(name), value); + break; + } + case 'dashes': { + addExportedItem(name, value); - if (exportCode) { - // eslint-disable-next-line no-param-reassign - exportCode = exportCode.replace( - new RegExp(`___CSS_LOADER_IMPORT___(${item.index})___`, 'g'), - replacer - ); + const modifiedName = dashesCamelCase(name); + + if (modifiedName !== name) { + addExportedItem(modifiedName, value); } + break; + } + case 'dashesOnly': { + addExportedItem(dashesCamelCase(name), value); + break; } - }); + case 'asIs': + default: + addExportedItem(name, value); + break; + } + }); + + let exportCode = `// Exports\n${ + options.exportType === 'locals' ? 'module.exports' : 'exports.locals' + } = {\n${items.join(',\n')}\n};`; + + replacers.forEach((replacer) => { + if (replacer.type === 'icss-import') { + const { name, importName } = replacer; + const localName = JSON.stringify(replacer.localName); + + exportCode = exportCode.replace(new RegExp(name, 'g'), () => + options.exportType === 'locals' + ? `" + ${importName}[${localName}] + "` + : `" + ${importName}.locals[${localName}] + "` + ); + } + }); - return [apiCode, importCode, moduleCode, exportCode].filter(Boolean).join(''); + return exportCode; } export { - uniqWith, - flatten, - dashesCamelCase, - getImportPrefix, - getLocalIdent, getFilter, getModulesPlugins, normalizeSourceMap, - getImportItemCode, - getUrlHelperCode, - getUrlItemCode, getApiCode, getImportCode, getModuleCode, - getExportItemCode, getExportCode, - prepareCode, }; diff --git a/test/__snapshots__/import-option.test.js.snap b/test/__snapshots__/import-option.test.js.snap index bd57046c..db3290d8 100644 --- a/test/__snapshots__/import-option.test.js.snap +++ b/test/__snapshots__/import-option.test.js.snap @@ -23,22 +23,18 @@ Array [ Array [ 1, "@import url(http://example.com/style.css);", - "", ], Array [ 1, "@import url(http://example.com/style.css#hash);", - "", ], Array [ 1, "@import url(http://example.com/style.css?#hash);", - "", ], Array [ 1, "@import url(http://example.com/style.css?foo=bar#hash);", - "", ], Array [ 1, @@ -48,7 +44,6 @@ Array [ Array [ 1, "@import url(//example.com/style.css);", - "", ], Array [ 4, @@ -77,17 +72,14 @@ Array [ Array [ 1, "@import url(https://fonts.googleapis.com/css?family=Roboto);", - "", ], Array [ 1, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - "", ], Array [ 1, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - "", ], Array [ 7, @@ -185,29 +177,40 @@ Array [ exports[`import option Function: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\", \\"\\"]); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_8___ = require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_9___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_14___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_15___ = require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_16___ = require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_17___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_18___ = require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and print\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"(min-width: 100px)\\"); +exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]); +exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]); +exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]); +exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]); exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); +exports.push([module.id, \\"@import url(//example.com/style.css);\\"]); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_8___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_9___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___, \\"screen and print\\"); +exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]); +exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]); +exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_14___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_15___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_16___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test.css) screen and print;\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test.css) screen and print;\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); " `; @@ -351,18 +354,19 @@ Array [ exports[`import option false: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test.css) screen and print;\\\\n@import url(test-media.css) screen and print;\\\\n@import url(test-other.css) (min-width: 100px);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css#hash);\\\\n@import url(http://example.com/style.css?#hash);\\\\n@import url(http://example.com/style.css?foo=bar#hash);\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(\\\\\\"//example.com/style.css\\\\\\");\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n@import url('query.css?foo=1&bar=1');\\\\n@import url('other-query.css?foo=1&bar=1#hash');\\\\n@import url('other-query.css?foo=1&bar=1#hash') screen and print;\\\\n@import url('https://fonts.googleapis.com/css?family=Roboto');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto');\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n@import url('./relative.css');\\\\n@import url('../import/top-relative.css');\\\\n@import url(~package/tilde.css);\\\\n@import url(~aliasesImport/alias.css);\\\\n@import url('./url.css');\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test.css) screen and print;\\\\n@import url(test-media.css) screen and print;\\\\n@import url(test-other.css) (min-width: 100px);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css#hash);\\\\n@import url(http://example.com/style.css?#hash);\\\\n@import url(http://example.com/style.css?foo=bar#hash);\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(\\\\\\"//example.com/style.css\\\\\\");\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n@import url('query.css?foo=1&bar=1');\\\\n@import url('other-query.css?foo=1&bar=1#hash');\\\\n@import url('other-query.css?foo=1&bar=1#hash') screen and print;\\\\n@import url('https://fonts.googleapis.com/css?family=Roboto');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto');\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n@import url('./relative.css');\\\\n@import url('../import/top-relative.css');\\\\n@import url(~package/tilde.css);\\\\n@import url(~aliasesImport/alias.css);\\\\n@import url('./url.css');\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); " `; exports[`import option false: warnings 1`] = `Array []`; -exports[`import option true and modules \`false\`: errors 1`] = `Array []`; +exports[`import option true: errors 1`] = `Array []`; -exports[`import option true and modules \`false\`: module (evaluated) 1`] = ` +exports[`import option true: module (evaluated) 1`] = ` Array [ Array [ 2, @@ -399,22 +403,18 @@ Array [ Array [ 1, "@import url(http://example.com/style.css);", - "", ], Array [ 1, "@import url(http://example.com/style.css#hash);", - "", ], Array [ 1, "@import url(http://example.com/style.css?#hash);", - "", ], Array [ 1, "@import url(http://example.com/style.css?foo=bar#hash);", - "", ], Array [ 1, @@ -424,7 +424,6 @@ Array [ Array [ 1, "@import url(//example.com/style.css);", - "", ], Array [ 6, @@ -461,1139 +460,14 @@ Array [ Array [ 1, "@import url(https://fonts.googleapis.com/css?family=Roboto);", - "", ], Array [ 1, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - "", ], Array [ 1, "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - "", - ], - Array [ - 10, - ".relative { - color: red; -} -", - "", - ], - Array [ - 11, - ".top-relative { - color: black; -} -", - "", - ], - Array [ - 12, - ".tilde { - color: yellow; -} -", - "", - ], - Array [ - 13, - ".alias { - color: red; -} -", - "", - ], - Array [ - 14, - ".background-imported { - background: url(/webpack/public/path/img.png); -} -", - "", - ], - Array [ - 1, - "@import url(); -@import url(''); -@import url(\\"\\"); -@import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; -@import url(); -@import url(''); -@import url(\\"\\"); -@import ; -@import foo-bar; -@import-normalize; -@import url('http://') :root {} - -.class { - a: b c d; -} - -.foo { - @import 'path.css'; -} - -.background { - background: url(/webpack/public/path/img.png); -} -", - "", - ], -] -`; - -exports[`import option true and modules \`false\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`import option true and modules \`false\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(12:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(13:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(14:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(17:1) Unable to find uri in '@import '''", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(18:1) Unable to find uri in '@import \\"\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(19:1) Unable to find uri in '@import \\" \\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(20:1) Unable to find uri in '@import \\" -\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(22:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(23:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(24:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(40:1) Unable to find uri in '@import '", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(41:1) Unable to find uri in '@import foo-bar'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", -] -`; - -exports[`import option true and modules \`global\`: errors 1`] = `Array []`; - -exports[`import option true and modules \`global\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".test { - a: a; -} -", - "", - ], - Array [ - 3, - ".test { - a: a; -} -", - "screen and print", - ], - Array [ - 5, - "a { - b: b; -} -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 4, - ".test { - c: c; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - "", - ], - Array [ - 6, - ".test { - d: d -} -", - "", - ], - Array [ - 7, - ".query { - e: e; -} -", - "", - ], - Array [ - 8, - ".other-query { - f: f; -} -", - "", - ], - Array [ - 9, - ".other-query { - f: f; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - "", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - "", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - "", - ], - Array [ - 10, - ".relative { - color: red; -} -", - "", - ], - Array [ - 11, - ".top-relative { - color: black; -} -", - "", - ], - Array [ - 12, - ".tilde { - color: yellow; -} -", - "", - ], - Array [ - 13, - ".alias { - color: red; -} -", - "", - ], - Array [ - 14, - ".background-imported { - background: url(/webpack/public/path/img.png); -} -", - "", - ], - Array [ - 1, - "@import url(); -@import url(''); -@import url(\\"\\"); -@import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; -@import url(); -@import url(''); -@import url(\\"\\"); -@import ; -@import foo-bar; -@import-normalize; -@import url('http://') :root {} - -.class { - a: b c d; -} - -.foo { - @import 'path.css'; -} - -.background { - background: url(/webpack/public/path/img.png); -} -", - "", - ], -] -`; - -exports[`import option true and modules \`global\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`import option true and modules \`global\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(12:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(13:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(14:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(17:1) Unable to find uri in '@import '''", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(18:1) Unable to find uri in '@import \\"\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(19:1) Unable to find uri in '@import \\" \\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(20:1) Unable to find uri in '@import \\" -\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(22:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(23:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(24:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(40:1) Unable to find uri in '@import '", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(41:1) Unable to find uri in '@import foo-bar'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", -] -`; - -exports[`import option true and modules \`local\`: errors 1`] = `Array []`; - -exports[`import option true and modules \`local\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3fDHa2l1HOcl9VXVfSKtB7 { - a: a; -} -", - "", - ], - Array [ - 3, - "._3fDHa2l1HOcl9VXVfSKtB7 { - a: a; -} -", - "screen and print", - ], - Array [ - 5, - "a { - b: b; -} -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 4, - ".f63QYE3dlpdhZuYg8R4pd { - c: c; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - "", - ], - Array [ - 6, - "._1lN7KGFmbEaXH8rJdLC9cT { - d: d -} -", - "", - ], - Array [ - 7, - "._2FiPFdRUJ6bc--oLN32vUX { - e: e; -} -", - "", - ], - Array [ - 8, - "._2nQ7ONr22lmMu683ljj0MN { - f: f; -} -", - "", - ], - Array [ - 9, - "._2nQ7ONr22lmMu683ljj0MN { - f: f; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - "", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - "", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - "", - ], - Array [ - 10, - "._37G_Iu-0wcPjXN9ZhzZjlT { - color: red; -} -", - "", - ], - Array [ - 11, - "._4a-iWS8tumU5J8-oW8LlR { - color: black; -} -", - "", - ], - Array [ - 12, - "._2VXavzz3TUKPrbI3S1tkrW { - color: yellow; -} -", - "", - ], - Array [ - 13, - "._2E2zpPgFs4vJaVymauWk3p { - color: red; -} -", - "", - ], - Array [ - 14, - "._1N9oVhfOd30-kQu9zrdhrJ { - background: url(/webpack/public/path/img.png); -} -", - "", - ], - Array [ - 1, - "@import url(); -@import url(''); -@import url(\\"\\"); -@import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; -@import url(); -@import url(''); -@import url(\\"\\"); -@import ; -@import foo-bar; -@import-normalize; -@import url('http://') :root {} - -.hnxX78DgkaA2kCp_BPbLd { - a: b c d; -} - -._1Lug_45kZL-M7XuNeM4SCw { - @import 'path.css'; -} - -._1E9CLkKp-0idM8IkvZwXn9 { - background: url(/webpack/public/path/img.png); -} -", - "", - ], -] -`; - -exports[`import option true and modules \`local\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.hnxX78DgkaA2kCp_BPbLd {\\\\n a: b c d;\\\\n}\\\\n\\\\n._1Lug_45kZL-M7XuNeM4SCw {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n._1E9CLkKp-0idM8IkvZwXn9 {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"class\\": \\"hnxX78DgkaA2kCp_BPbLd\\", - \\"foo\\": \\"_1Lug_45kZL-M7XuNeM4SCw\\", - \\"background\\": \\"_1E9CLkKp-0idM8IkvZwXn9\\" -};" -`; - -exports[`import option true and modules \`local\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(12:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(13:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(14:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(17:1) Unable to find uri in '@import '''", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(18:1) Unable to find uri in '@import \\"\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(19:1) Unable to find uri in '@import \\" \\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(20:1) Unable to find uri in '@import \\" -\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(22:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(23:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(24:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(40:1) Unable to find uri in '@import '", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(41:1) Unable to find uri in '@import foo-bar'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", -] -`; - -exports[`import option true and modules \`true\`: errors 1`] = `Array []`; - -exports[`import option true and modules \`true\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._3fDHa2l1HOcl9VXVfSKtB7 { - a: a; -} -", - "", - ], - Array [ - 3, - "._3fDHa2l1HOcl9VXVfSKtB7 { - a: a; -} -", - "screen and print", - ], - Array [ - 5, - "a { - b: b; -} -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 4, - ".f63QYE3dlpdhZuYg8R4pd { - c: c; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - "", - ], - Array [ - 6, - "._1lN7KGFmbEaXH8rJdLC9cT { - d: d -} -", - "", - ], - Array [ - 7, - "._2FiPFdRUJ6bc--oLN32vUX { - e: e; -} -", - "", - ], - Array [ - 8, - "._2nQ7ONr22lmMu683ljj0MN { - f: f; -} -", - "", - ], - Array [ - 9, - "._2nQ7ONr22lmMu683ljj0MN { - f: f; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - "", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - "", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - "", - ], - Array [ - 10, - "._37G_Iu-0wcPjXN9ZhzZjlT { - color: red; -} -", - "", - ], - Array [ - 11, - "._4a-iWS8tumU5J8-oW8LlR { - color: black; -} -", - "", - ], - Array [ - 12, - "._2VXavzz3TUKPrbI3S1tkrW { - color: yellow; -} -", - "", - ], - Array [ - 13, - "._2E2zpPgFs4vJaVymauWk3p { - color: red; -} -", - "", - ], - Array [ - 14, - "._1N9oVhfOd30-kQu9zrdhrJ { - background: url(/webpack/public/path/img.png); -} -", - "", - ], - Array [ - 1, - "@import url(); -@import url(''); -@import url(\\"\\"); -@import ''; -@import \\"\\"; -@import \\" \\"; -@import \\" -\\"; -@import url(); -@import url(''); -@import url(\\"\\"); -@import ; -@import foo-bar; -@import-normalize; -@import url('http://') :root {} - -.hnxX78DgkaA2kCp_BPbLd { - a: b c d; -} - -._1Lug_45kZL-M7XuNeM4SCw { - @import 'path.css'; -} - -._1E9CLkKp-0idM8IkvZwXn9 { - background: url(/webpack/public/path/img.png); -} -", - "", - ], -] -`; - -exports[`import option true and modules \`true\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -// Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.hnxX78DgkaA2kCp_BPbLd {\\\\n a: b c d;\\\\n}\\\\n\\\\n._1Lug_45kZL-M7XuNeM4SCw {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n._1E9CLkKp-0idM8IkvZwXn9 {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"class\\": \\"hnxX78DgkaA2kCp_BPbLd\\", - \\"foo\\": \\"_1Lug_45kZL-M7XuNeM4SCw\\", - \\"background\\": \\"_1E9CLkKp-0idM8IkvZwXn9\\" -};" -`; - -exports[`import option true and modules \`true\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(12:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(13:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(14:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(17:1) Unable to find uri in '@import '''", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(18:1) Unable to find uri in '@import \\"\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(19:1) Unable to find uri in '@import \\" \\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(20:1) Unable to find uri in '@import \\" -\\"'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(22:1) Unable to find uri in '@import url()'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(23:1) Unable to find uri in '@import url('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(24:1) Unable to find uri in '@import url(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(40:1) Unable to find uri in '@import '", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(41:1) Unable to find uri in '@import foo-bar'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(43:1) It looks like you didn't end your @import statement correctly. Child nodes are attached to it.", -] -`; - -exports[`import option true: errors 1`] = `Array []`; - -exports[`import option true: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".test { - a: a; -} -", - "", - ], - Array [ - 3, - ".test { - a: a; -} -", - "screen and print", - ], - Array [ - 5, - "a { - b: b; -} -", - "((min-width: 100px)) and (screen and print)", - ], - Array [ - 4, - ".test { - c: c; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(http://example.com/style.css);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css?#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/style.css?foo=bar#hash);", - "", - ], - Array [ - 1, - "@import url(http://example.com/other-style.css);", - "screen and print", - ], - Array [ - 1, - "@import url(//example.com/style.css);", - "", - ], - Array [ - 6, - ".test { - d: d -} -", - "", - ], - Array [ - 7, - ".query { - e: e; -} -", - "", - ], - Array [ - 8, - ".other-query { - f: f; -} -", - "", - ], - Array [ - 9, - ".other-query { - f: f; -} -", - "screen and print", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Roboto);", - "", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);", - "", - ], - Array [ - 1, - "@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);", - "", ], Array [ 10, @@ -1673,32 +547,46 @@ Array [ exports[`import option true: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"), \\"screen and print\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(min-width: 100px)\\"); -exports.push([module.id, \\"@import url(http://example.com/style.css);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\", \\"\\"]); -exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\", \\"\\"]); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./test.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./test-media.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_11___ = require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_12___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_13___ = require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_17___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_18___ = require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_19___ = require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_20___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_21___ = require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and print\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"screen and print\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"(min-width: 100px)\\"); +exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]); +exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]); +exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]); +exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]); exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and print\\"]); -exports.push([module.id, \\"@import url(//example.com/style.css);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/test.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./query.css?foo=1&bar=1\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./other-query.css?foo=1&bar=1#hash\\"), \\"screen and print\\"); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\", \\"\\"]); -exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\", \\"\\"]); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../import/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/tilde.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesImport/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./url.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); +exports.push([module.id, \\"@import url(//example.com/style.css);\\"]); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_13___, \\"screen and print\\"); +exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]); +exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]); +exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_17___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_18___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_19___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_20___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_21___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); " `; diff --git a/test/__snapshots__/importLoaders-option.test.js.snap b/test/__snapshots__/importLoaders-option.test.js.snap index c810b8ce..95a51292 100644 --- a/test/__snapshots__/importLoaders-option.test.js.snap +++ b/test/__snapshots__/importLoaders-option.test.js.snap @@ -28,7 +28,8 @@ Array [ exports[`importLoaders option 0 (\`postcss-loader\` before): module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); // Module exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]); " @@ -64,7 +65,8 @@ Array [ exports[`importLoaders option 1 (\`postcss-loader\` before): module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../../../node_modules/postcss-loader/src/index.js??ref--4-1!./imported.css\\"), \\"\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!../../../node_modules/postcss-loader/src/index.js??ref--4-1!./imported.css\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); // Module exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]); " @@ -100,7 +102,8 @@ Array [ exports[`importLoaders option 1 (no loaders before): module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); // Module exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgb(0 0 100% / 90%);\\\\n}\\\\n\\", \\"\\"]); " @@ -136,7 +139,8 @@ Array [ exports[`importLoaders option 2 (\`postcss-loader\` before): module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../../../node_modules/postcss-loader/src/index.js??ref--4-1!./imported.css\\"), \\"\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!../../../node_modules/postcss-loader/src/index.js??ref--4-1!./imported.css\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); // Module exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]); " @@ -172,7 +176,8 @@ Array [ exports[`importLoaders option not specify (no loader before): module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); // Module exports.push([module.id, \\".foo {\\\\n color: red;\\\\n color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]); " diff --git a/test/__snapshots__/loader.test.js.snap b/test/__snapshots__/loader.test.js.snap index 43e9410e..fcc81263 100644 --- a/test/__snapshots__/loader.test.js.snap +++ b/test/__snapshots__/loader.test.js.snap @@ -109,7 +109,7 @@ exports[`loader should compile with \`css\` entry point (with \`modules\` and sc } // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; + url = url && url.__esModule ? url.default : url; if (typeof url !== 'string') { return url; @@ -293,11 +293,13 @@ a[href=\\"\\" i] { exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`global\`): module 1`] = ` "exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./url/img.png\\")); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./url/img.png\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); " `; @@ -412,7 +414,7 @@ exports[`loader should compile with \`css\` entry point (with \`modules\` and sc } // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; + url = url && url.__esModule ? url.default : url; if (typeof url !== 'string') { return url; @@ -596,11 +598,13 @@ a[href=\\"\\" i] { exports[`loader should compile with \`css\` entry point (with \`modules\` and scope \`local\`): module 1`] = ` "exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./url/img.png\\")); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./url/img.png\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._3YYoEr128Gk7ZgfRycu4tr {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx { a: b c d; }\\\\n\\\\n._1LWD9ZV4XMmN23IPiMONS3 {}\\\\n\\\\n._3i3CD1fyX8bvzRt1H0IV-f { a: b c d; }\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n._1fWEySWrY44TvDnJ8JNxnE {}\\\\n._1fWEySWrY44TvDnJ8JNxnE {}\\\\n\\\\n#Zmuw5k7Gg4hpgd6CVBEkq {}\\\\n\\\\n.nz2GDQ2B9PRi6GmzRwbUM {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._1fWEySWrY44TvDnJ8JNxnE {\\\\n align-items: flex-start;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._1fWEySWrY44TvDnJ8JNxnE {\\\\n align-items: flex-start;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._12Sbi_HmVVsUl9TM-zo3h- {\\\\n align-items: center;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM.gpFhy6a0Dyg4XrktE4jA3 {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n._3i3CD1fyX8bvzRt1H0IV-f {}\\\\n\\\\n.YDvxHwoU5TyTmW1oTkKgw {}\\\\n\\\\n#_3i3CD1fyX8bvzRt1H0IV-f {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n._3txeRUnk43pQ_ialOcI-1F {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n._3txeRUnk43pQ_ialOcI-1F {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n._3Zu4uw_Urs6mU3AHN6h0NV {}\\\\n\\\\n._4_pn9LmAb2XtAy0kg4FN_ {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._2LEttkwzH7jRE93Ku8MGqY {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#_2E85FJStrx25rDG2lYWifC {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_2pyPm3oWgKQ-rjECcnFYrX {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#_2pmolVDQD2g7wt3ejy2doK {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n._2mQhIWfQwYBHR8C-27Rb-E {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n._2H1jUQC4I1yE2c9CEwXfAS._3HDHfIW-5V2j3qdUcRiaMD ._2eB5NM0D15e1HQWl3AHa8q:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.JNjvwXXuHnb_zjhkwPzBD {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n._3YYoEr128Gk7ZgfRycu4tr {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx { a: b c d; }\\\\n\\\\n._1LWD9ZV4XMmN23IPiMONS3 {}\\\\n\\\\n._3i3CD1fyX8bvzRt1H0IV-f { a: b c d; }\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n._1PSZ4tK4URrenXyNSoawrx {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n._1fWEySWrY44TvDnJ8JNxnE {}\\\\n._1fWEySWrY44TvDnJ8JNxnE {}\\\\n\\\\n#Zmuw5k7Gg4hpgd6CVBEkq {}\\\\n\\\\n.nz2GDQ2B9PRi6GmzRwbUM {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._1fWEySWrY44TvDnJ8JNxnE {\\\\n align-items: flex-start;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._1fWEySWrY44TvDnJ8JNxnE {\\\\n align-items: flex-start;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM._12Sbi_HmVVsUl9TM-zo3h- {\\\\n align-items: center;\\\\n}\\\\n.nz2GDQ2B9PRi6GmzRwbUM.gpFhy6a0Dyg4XrktE4jA3 {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n._3i3CD1fyX8bvzRt1H0IV-f {}\\\\n\\\\n.YDvxHwoU5TyTmW1oTkKgw {}\\\\n\\\\n#_3i3CD1fyX8bvzRt1H0IV-f {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n._3txeRUnk43pQ_ialOcI-1F {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n._3txeRUnk43pQ_ialOcI-1F {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n._3Zu4uw_Urs6mU3AHN6h0NV {}\\\\n\\\\n._4_pn9LmAb2XtAy0kg4FN_ {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._2LEttkwzH7jRE93Ku8MGqY {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#_2E85FJStrx25rDG2lYWifC {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_2pyPm3oWgKQ-rjECcnFYrX {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#_2pmolVDQD2g7wt3ejy2doK {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n._2mQhIWfQwYBHR8C-27Rb-E {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n._2H1jUQC4I1yE2c9CEwXfAS._3HDHfIW-5V2j3qdUcRiaMD ._2eB5NM0D15e1HQWl3AHa8q:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.JNjvwXXuHnb_zjhkwPzBD {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); // Exports exports.locals = { \\"class\\": \\"_1PSZ4tK4URrenXyNSoawrx\\", @@ -739,7 +743,7 @@ exports[`loader should compile with \`css\` entry point: escape 1`] = ` } // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; + url = url && url.__esModule ? url.default : url; if (typeof url !== 'string') { return url; @@ -923,11 +927,13 @@ a[href=\\"\\" i] { exports[`loader should compile with \`css\` entry point: module 1`] = ` "exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./url/img.png\\")); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./url/img.png\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); " `; @@ -1042,7 +1048,7 @@ exports[`loader should compile with \`js\` entry point: escape 1`] = ` } // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; + url = url && url.__esModule ? url.default : url; if (typeof url !== 'string') { return url; @@ -1226,11 +1232,13 @@ a[href=\\"\\" i] { exports[`loader should compile with \`js\` entry point: module 1`] = ` "exports = module.exports = require(\\"../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./url/img.png\\")); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??ref--4-0!./imported.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./url/img.png\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); " `; @@ -1510,11 +1518,13 @@ console.log(styles); exports = module.exports = __webpack_require__(0)(false); // Imports -exports.i(__webpack_require__(3), \\"\\"); -var getUrl = __webpack_require__(4); -var ___CSS_LOADER_URL___0___ = getUrl(__webpack_require__(5)); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = __webpack_require__(3); +var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(4); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = __webpack_require__(5); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.i, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.i, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); /***/ }), @@ -1537,7 +1547,7 @@ module.exports = (url, options) => { } // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; + url = url && url.__esModule ? url.default : url; if (typeof url !== 'string') { return url; @@ -1785,11 +1795,13 @@ console.log(styles); exports = module.exports = __webpack_require__(0)(false); // Imports -exports.i(__webpack_require__(3), \\"\\"); -var getUrl = __webpack_require__(4); -var ___CSS_LOADER_URL___0___ = getUrl(__webpack_require__(5)); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = __webpack_require__(3); +var ___CSS_LOADER_GET_URL_IMPORT___ = __webpack_require__(4); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = __webpack_require__(5); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.i, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.i, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n color: red;\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n --foo: 1px;\\\\n --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n body {\\\\n background-color: lightblue;\\\\n }\\\\n}\\\\n\\\\n.class {\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n display: flex;\\\\n flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n --title-align: center;\\\\n --sr-only: {\\\\n position: absolute;\\\\n width: 1px;\\\\n height: 1px;\\\\n padding: 0;\\\\n overflow: hidden;\\\\n clip: rect(0,0,0,0);\\\\n white-space: nowrap;\\\\n clip-path: inset(50%);\\\\n border: 0;\\\\n };\\\\n}\\\\n\\\\n.test {\\\\n content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n margin-top: 1px\\\\\\\\9;\\\\n background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n color: blue;\\\\n}\\\\n\\", \\"\\"]); /***/ }), @@ -1812,7 +1824,7 @@ module.exports = (url, options) => { } // eslint-disable-next-line no-underscore-dangle, no-param-reassign - url = url.__esModule ? url.default : url; + url = url && url.__esModule ? url.default : url; if (typeof url !== 'string') { return url; @@ -1928,11 +1940,13 @@ a:hover { exports[`loader using together with "postcss-loader" and reuse \`ast\`: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img1x.png\\")); -var ___CSS_LOADER_URL___1___ = getUrl(require(\\"./img2x.png\\")); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img1x.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_1___ = require(\\"./img2x.png\\"); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_1___); // Module -exports.push([module.id, \\":root {\\\\n --fontSize: 1rem;\\\\n --mainColor: rgba(18,52,86,0.47059);\\\\n --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n overflow-x: hidden;\\\\n overflow-y: auto;\\\\n overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n body {\\\\n color: rgba(18,52,86,0.47059);\\\\n color: var(--mainColor);\\\\n font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n font-size: 1rem;\\\\n font-size: var(--fontSize);\\\\n line-height: calc(1rem * 1.5);\\\\n line-height: calc(var(--fontSize) * 1.5);\\\\n word-wrap: break-word;\\\\n padding-left: calc(1rem / 2 + 1px);\\\\n padding-right: calc(1rem / 2 + 1px);\\\\n padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n margin-top: 0;\\\\n margin-bottom: 0;\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: url(\\" + ___CSS_LOADER_URL___1___ + \\");\\\\n}\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___1___ + \\") 2x);\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___1___ + \\") 2x);\\\\n}\\\\n\\\\na {\\\\n color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n color: #639;\\\\n }\\\\n\\", \\"\\"]); +exports.push([module.id, \\":root {\\\\n --fontSize: 1rem;\\\\n --mainColor: rgba(18,52,86,0.47059);\\\\n --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n overflow-x: hidden;\\\\n overflow-y: auto;\\\\n overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n body {\\\\n color: rgba(18,52,86,0.47059);\\\\n color: var(--mainColor);\\\\n font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n font-size: 1rem;\\\\n font-size: var(--fontSize);\\\\n line-height: calc(1rem * 1.5);\\\\n line-height: calc(var(--fontSize) * 1.5);\\\\n word-wrap: break-word;\\\\n padding-left: calc(1rem / 2 + 1px);\\\\n padding-right: calc(1rem / 2 + 1px);\\\\n padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n margin-top: 0;\\\\n margin-bottom: 0;\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_IMPORT_1___ + \\");\\\\n}\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_1___ + \\") 2x);\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_1___ + \\") 2x);\\\\n}\\\\n\\\\na {\\\\n color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n color: #639;\\\\n }\\\\n\\", \\"\\"]); " `; diff --git a/test/__snapshots__/modules-option.test.js.snap b/test/__snapshots__/modules-option.test.js.snap index 0a4f5700..4deb1568 100644 --- a/test/__snapshots__/modules-option.test.js.snap +++ b/test/__snapshots__/modules-option.test.js.snap @@ -6132,6 +6132,10 @@ a { [class~='content'] { color:green; } + +._340mxt1qHaYWfC81FJUajb { + background: url(/webpack/public/path/img.png); +} ", "", ], @@ -6141,23 +6145,34 @@ a { exports[`modules composes should supports resolving: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./values.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./something.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported-simple.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!../modules/top-relative.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!package/style.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!aliasesComposes/alias.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"), \\"(min-width: 100px)\\"); +var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./values.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./something.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./imported-simple.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_4___ = require(\\"-!../../../src/index.js??ref--4-0!../modules/top-relative.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_5___ = require(\\"-!../../../src/index.js??ref--4-0!package/style.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_6___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesComposes/alias.css\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./test-other.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"../url/img.png\\"); +exports.i(___CSS_LOADER_ICSS_IMPORT_0___); +exports.i(___CSS_LOADER_ICSS_IMPORT_1___); +exports.i(___CSS_LOADER_ICSS_IMPORT_2___); +exports.i(___CSS_LOADER_ICSS_IMPORT_3___); +exports.i(___CSS_LOADER_ICSS_IMPORT_4___); +exports.i(___CSS_LOADER_ICSS_IMPORT_5___); +exports.i(___CSS_LOADER_ICSS_IMPORT_6___); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"(min-width: 100px)\\"); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); // Module -exports.push([module.id, \\"._14uFt0lIVKKAlKTTT29IIQ {\\\\n color: \\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"v-def\\"] + \\";\\\\n}\\\\n\\\\n._3XDgIzfUIQkaUInpEdo7fN {\\\\n color: blue;\\\\n}\\\\n\\\\n._1wABXM_RabWHj--wsPrhvM {\\\\n display: block;\\\\n}\\\\n\\\\n._1DFEYnAfn9LZyk4fErI86e {\\\\n width: \\" + require(\\"-!../../../src/index.js??ref--4-0!./something.css\\").locals[\\"v-something\\"] + \\";\\\\n}\\\\n\\\\n.Ywv5coVC2RU-pIFhN9O4w {\\\\n color: \\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n._1tAbIwITRWAdZZE6wKNk9O {\\\\n prop: \\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"v-def\\"] + \\";\\\\n duplicate: \\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n.Q3SQ3BwtBwUFLlg6adzOI {\\\\n color: red;\\\\n}\\\\n\\\\n._1n5XhXj4SFnYrwziC3un0d {\\\\n color: yellow;\\\\n}\\\\n\\\\n._3dnFnGkAVAiMA6etF-naHc {\\\\n color: gray;\\\\n}\\\\n\\\\n._1xUePnlnafMQ1cExy3PUWT {\\\\n color: gray;\\\\n}\\\\n\\\\n._26Jdfenl9Xn8HXwb2jipvt {\\\\n color: gainsboro;\\\\n}\\\\n\\\\n._1ya4VhsDkuPhQeVHQydw2Y {\\\\n color: #BF4040;\\\\n}\\\\n\\\\n.sGE1Q_LliVEZU2Q4q9j4K {\\\\n color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n ._2zSMJ4hQh0FesbZjiKW_ya {\\\\n padding: 0 20px;\\\\n }\\\\n}\\\\n\\\\n.\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"s-white\\"] + \\" {\\\\n color: white;\\\\n}\\\\n\\\\n@media \\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"m-small\\"] + \\" {\\\\n ._2zSMJ4hQh0FesbZjiKW_ya {\\\\n padding: 20px 20px;\\\\n }\\\\n}\\\\n@value v-comment: /* comment */;\\\\n\\\\n._3qS0_85PLYhk_pNQ69KfSo {\\\\n v-ident: validIdent;\\\\n v-pre-defined-ident: left;\\\\n v-string: 'content';\\\\n v-string-1: '';\\\\n v-url: url(https://www.exammple.com/images/my-background.png);\\\\n v-url-1: url('https://www.exammple.com/images/my-background.png');\\\\n v-url-2: url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\");\\\\n v-integer: 100;\\\\n v-integer-1: -100;\\\\n v-integer-2: +100;\\\\n v-number: .60;\\\\n v-number-1: -456.8;\\\\n v-number-2: -3.4e-2;\\\\n v-dimension: 12px;\\\\n v-percentage: 100%;\\\\n v-hex: #fff;\\\\n v-comment: v-comment 10px v-comment;\\\\n v-function: rgb(0,0,0);\\\\n v-unicode-range: U+0025-00FF;\\\\n mutliple: #fff .60 100%;\\\\n}\\\\n\\\\n\\\\na {\\\\n content: 'content';\\\\n}\\\\n\\\\n@supports (content: 'content') {\\\\n a {\\\\n content: 'content';\\\\n }\\\\n}\\\\n\\\\n[class~='content'] {\\\\n color:green;\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"._14uFt0lIVKKAlKTTT29IIQ {\\\\n color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n}\\\\n\\\\n._3XDgIzfUIQkaUInpEdo7fN {\\\\n color: blue;\\\\n}\\\\n\\\\n._1wABXM_RabWHj--wsPrhvM {\\\\n display: block;\\\\n}\\\\n\\\\n._1DFEYnAfn9LZyk4fErI86e {\\\\n width: \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-something\\"] + \\";\\\\n}\\\\n\\\\n.Ywv5coVC2RU-pIFhN9O4w {\\\\n color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n._1tAbIwITRWAdZZE6wKNk9O {\\\\n prop: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n duplicate: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n.Q3SQ3BwtBwUFLlg6adzOI {\\\\n color: red;\\\\n}\\\\n\\\\n._1n5XhXj4SFnYrwziC3un0d {\\\\n color: yellow;\\\\n}\\\\n\\\\n._3dnFnGkAVAiMA6etF-naHc {\\\\n color: gray;\\\\n}\\\\n\\\\n._1xUePnlnafMQ1cExy3PUWT {\\\\n color: gray;\\\\n}\\\\n\\\\n._26Jdfenl9Xn8HXwb2jipvt {\\\\n color: gainsboro;\\\\n}\\\\n\\\\n._1ya4VhsDkuPhQeVHQydw2Y {\\\\n color: #BF4040;\\\\n}\\\\n\\\\n.sGE1Q_LliVEZU2Q4q9j4K {\\\\n color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n ._2zSMJ4hQh0FesbZjiKW_ya {\\\\n padding: 0 20px;\\\\n }\\\\n}\\\\n\\\\n.\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\" {\\\\n color: white;\\\\n}\\\\n\\\\n@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"m-small\\"] + \\" {\\\\n ._2zSMJ4hQh0FesbZjiKW_ya {\\\\n padding: 20px 20px;\\\\n }\\\\n}\\\\n@value v-comment: /* comment */;\\\\n\\\\n._3qS0_85PLYhk_pNQ69KfSo {\\\\n v-ident: validIdent;\\\\n v-pre-defined-ident: left;\\\\n v-string: 'content';\\\\n v-string-1: '';\\\\n v-url: url(https://www.exammple.com/images/my-background.png);\\\\n v-url-1: url('https://www.exammple.com/images/my-background.png');\\\\n v-url-2: url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\");\\\\n v-integer: 100;\\\\n v-integer-1: -100;\\\\n v-integer-2: +100;\\\\n v-number: .60;\\\\n v-number-1: -456.8;\\\\n v-number-2: -3.4e-2;\\\\n v-dimension: 12px;\\\\n v-percentage: 100%;\\\\n v-hex: #fff;\\\\n v-comment: v-comment 10px v-comment;\\\\n v-function: rgb(0,0,0);\\\\n v-unicode-range: U+0025-00FF;\\\\n mutliple: #fff .60 100%;\\\\n}\\\\n\\\\n\\\\na {\\\\n content: 'content';\\\\n}\\\\n\\\\n@supports (content: 'content') {\\\\n a {\\\\n content: 'content';\\\\n }\\\\n}\\\\n\\\\n[class~='content'] {\\\\n color:green;\\\\n}\\\\n\\\\n._340mxt1qHaYWfC81FJUajb {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]); // Exports exports.locals = { - \\"v-def\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"v-def\\"] + \\"\\", - \\"v-other\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"v-other\\"] + \\"\\", - \\"s-white\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"s-white\\"] + \\"\\", - \\"m-small\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\").locals[\\"m-small\\"] + \\"\\", - \\"v-something\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./something.css\\").locals[\\"v-something\\"] + \\"\\", + \\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\"\\", + \\"v-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\"\\", + \\"s-white\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\"\\", + \\"m-small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"m-small\\"] + \\"\\", + \\"v-something\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-something\\"] + \\"\\", \\"v-foo\\": \\"blue\\", \\"v-bar\\": \\"block\\", \\"v-primary\\": \\"#BF4040\\", @@ -6187,15 +6202,16 @@ exports.locals = { \\"other-other\\": \\"_1DFEYnAfn9LZyk4fErI86e\\", \\"green\\": \\"Ywv5coVC2RU-pIFhN9O4w\\", \\"foo\\": \\"_1tAbIwITRWAdZZE6wKNk9O\\", - \\"simple\\": \\"Q3SQ3BwtBwUFLlg6adzOI \\" + require(\\"-!../../../src/index.js??ref--4-0!./imported-simple.css\\").locals[\\"imported-simple\\"] + \\"\\", - \\"relative\\": \\"_1n5XhXj4SFnYrwziC3un0d \\" + require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\").locals[\\"imported-relative\\"] + \\"\\", - \\"top-relative\\": \\"_3dnFnGkAVAiMA6etF-naHc \\" + require(\\"-!../../../src/index.js??ref--4-0!../modules/top-relative.css\\").locals[\\"imported-relative\\"] + \\"\\", - \\"module\\": \\"_1xUePnlnafMQ1cExy3PUWT \\" + require(\\"-!../../../src/index.js??ref--4-0!package/style.css\\").locals[\\"imported-module\\"] + \\"\\", - \\"alias\\": \\"_26Jdfenl9Xn8HXwb2jipvt \\" + require(\\"-!../../../src/index.js??ref--4-0!aliasesComposes/alias.css\\").locals[\\"imported-alias\\"] + \\"\\", + \\"simple\\": \\"Q3SQ3BwtBwUFLlg6adzOI \\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"imported-simple\\"] + \\"\\", + \\"relative\\": \\"_1n5XhXj4SFnYrwziC3un0d \\" + ___CSS_LOADER_ICSS_IMPORT_3___.locals[\\"imported-relative\\"] + \\"\\", + \\"top-relative\\": \\"_3dnFnGkAVAiMA6etF-naHc \\" + ___CSS_LOADER_ICSS_IMPORT_4___.locals[\\"imported-relative\\"] + \\"\\", + \\"module\\": \\"_1xUePnlnafMQ1cExy3PUWT \\" + ___CSS_LOADER_ICSS_IMPORT_5___.locals[\\"imported-module\\"] + \\"\\", + \\"alias\\": \\"_26Jdfenl9Xn8HXwb2jipvt \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\", \\"primary-selector\\": \\"_1ya4VhsDkuPhQeVHQydw2Y\\", \\"black-selector\\": \\"sGE1Q_LliVEZU2Q4q9j4K\\", \\"header\\": \\"_2zSMJ4hQh0FesbZjiKW_ya\\", - \\"foobarbaz\\": \\"_3qS0_85PLYhk_pNQ69KfSo\\" + \\"foobarbaz\\": \\"_3qS0_85PLYhk_pNQ69KfSo\\", + \\"url\\": \\"_340mxt1qHaYWfC81FJUajb\\" };" `; @@ -6253,12 +6269,13 @@ Array [ exports[`modules issue #286: module 1`] = ` "exports = module.exports = require(\\"../../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"./dep.css\\"), \\"\\"); +var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"./dep.css\\"); +exports.i(___CSS_LOADER_ICSS_IMPORT_0___); // Module exports.push([module.id, \\".b--main { }\\\\n\\", \\"\\"]); // Exports exports.locals = { - \\"main\\": \\"b--main \\" + require(\\"./dep.css\\").locals[\\"red\\"] + \\"\\" + \\"main\\": \\"b--main \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"red\\"] + \\"\\" };" `; @@ -6287,12 +6304,13 @@ Array [ exports[`modules issue #636: module 1`] = ` "exports = module.exports = require(\\"../../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../../src/index.js??ref--4-0!../../../../node_modules/sass-loader/dist/cjs.js??ref--4-1!./foo.scss\\"), \\"\\"); +var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??ref--4-0!../../../../node_modules/sass-loader/dist/cjs.js??ref--4-1!./foo.scss\\"); +exports.i(___CSS_LOADER_ICSS_IMPORT_0___); // Module exports.push([module.id, \\".prefix-bar {\\\\n}\\", \\"\\"]); // Exports exports.locals = { - \\"bar\\": \\"prefix-bar \\" + require(\\"-!../../../../src/index.js??ref--4-0!../../../../node_modules/sass-loader/dist/cjs.js??ref--4-1!./foo.scss\\").locals[\\"foo\\"] + \\"\\" + \\"bar\\": \\"prefix-bar \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"foo\\"] + \\"\\" };" `; @@ -6342,14 +6360,16 @@ Array [ exports[`modules issue #861: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!@localpackage/color.css\\"), \\"\\"); -exports.i(require(\\"-!../../../src/index.js??ref--4-0!@localpackage/style.css\\"), \\"\\"); +var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!@localpackage/color.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!@localpackage/style.css\\"); +exports.i(___CSS_LOADER_ICSS_IMPORT_0___); +exports.i(___CSS_LOADER_ICSS_IMPORT_1___); // Module -exports.push([module.id, \\"._2gV2e6TcHcPgyDTzxbvkKa {\\\\n color: \\" + require(\\"-!../../../src/index.js??ref--4-0!@localpackage/color.css\\").locals[\\"color-grey\\"] + \\";\\\\n margin: 0;\\\\n padding: 0;\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\"._2gV2e6TcHcPgyDTzxbvkKa {\\\\n color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color-grey\\"] + \\";\\\\n margin: 0;\\\\n padding: 0;\\\\n}\\\\n\\", \\"\\"]); // Exports exports.locals = { - \\"color-grey\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!@localpackage/color.css\\").locals[\\"color-grey\\"] + \\"\\", - \\"copyright\\": \\"_2gV2e6TcHcPgyDTzxbvkKa \\" + require(\\"-!../../../src/index.js??ref--4-0!@localpackage/style.css\\").locals[\\"type-heading\\"] + \\"\\" + \\"color-grey\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color-grey\\"] + \\"\\", + \\"copyright\\": \\"_2gV2e6TcHcPgyDTzxbvkKa \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"type-heading\\"] + \\"\\" };" `; @@ -8116,3 +8136,80 @@ Array [ `; exports[`modules should saves underscore prefix in exported class names with localIdentName option: warnings 1`] = `Array []`; + +exports[`modules should support "pure" value: errors 1`] = `Array []`; + +exports[`modules should support "pure" value: module (evaluated) 1`] = ` +Array [ + Array [ + 1, + "._3nNRq3PQ9uK67a19lT8NHq { + color: red; +} + +h1 ._2-tJ-0L9xa__ypZabJN82L { + color: green; +} + +._1ItNtG9CwOxu2Vxb-etJHN h1 { + color: blue; +} + +.SDNtlQ92cFx6fiH6yuh5K h1 ._35UJyh7y0HgDlh3_YNNxbm { + color: red; +} + +#_15-F5dpJOOl0BGWwx4yHdh { + color: red; +} + +h1 #_1NoAfl4L6pYsi53yvE4szS { + color: green; +} + +#Gf_c6hz7pPUKG_4DBKZX_ h1 { + color: blue; +} + +#gcol1OF3vPJZQgK7JWvsX h1 #_3vlp1YEgWrcYSofV_DbgLl { + color: red; +} + +._1aIXXfKePbQyIoBtx5r_i3 .bar ._1yneLDnIvMLhNduXi5yqqV { + color: white; +} + +._2u-qJxyLPtRRB90K5UQGa1 .Xt6ycOTkGG2zy0zRDe6BK ._3M5wEyAlDWBbzYBzLLARxJ { + color: black; +} +", + "", + ], +] +`; + +exports[`modules should support "pure" value: module 1`] = ` +"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); +// Module +exports.push([module.id, \\"._3nNRq3PQ9uK67a19lT8NHq {\\\\n color: red;\\\\n}\\\\n\\\\nh1 ._2-tJ-0L9xa__ypZabJN82L {\\\\n color: green;\\\\n}\\\\n\\\\n._1ItNtG9CwOxu2Vxb-etJHN h1 {\\\\n color: blue;\\\\n}\\\\n\\\\n.SDNtlQ92cFx6fiH6yuh5K h1 ._35UJyh7y0HgDlh3_YNNxbm {\\\\n color: red;\\\\n}\\\\n\\\\n#_15-F5dpJOOl0BGWwx4yHdh {\\\\n color: red;\\\\n}\\\\n\\\\nh1 #_1NoAfl4L6pYsi53yvE4szS {\\\\n color: green;\\\\n}\\\\n\\\\n#Gf_c6hz7pPUKG_4DBKZX_ h1 {\\\\n color: blue;\\\\n}\\\\n\\\\n#gcol1OF3vPJZQgK7JWvsX h1 #_3vlp1YEgWrcYSofV_DbgLl {\\\\n color: red;\\\\n}\\\\n\\\\n._1aIXXfKePbQyIoBtx5r_i3 .bar ._1yneLDnIvMLhNduXi5yqqV {\\\\n color: white;\\\\n}\\\\n\\\\n._2u-qJxyLPtRRB90K5UQGa1 .Xt6ycOTkGG2zy0zRDe6BK ._3M5wEyAlDWBbzYBzLLARxJ {\\\\n color: black;\\\\n}\\\\n\\", \\"\\"]); +// Exports +exports.locals = { + \\"foo\\": \\"_3nNRq3PQ9uK67a19lT8NHq\\", + \\"foo-1\\": \\"_2-tJ-0L9xa__ypZabJN82L\\", + \\"foo-2\\": \\"_1ItNtG9CwOxu2Vxb-etJHN\\", + \\"foo-3\\": \\"SDNtlQ92cFx6fiH6yuh5K\\", + \\"foo-4\\": \\"_35UJyh7y0HgDlh3_YNNxbm\\", + \\"foo-5\\": \\"_15-F5dpJOOl0BGWwx4yHdh\\", + \\"foo-6\\": \\"_1NoAfl4L6pYsi53yvE4szS\\", + \\"foo-7\\": \\"Gf_c6hz7pPUKG_4DBKZX_\\", + \\"foo-8\\": \\"gcol1OF3vPJZQgK7JWvsX\\", + \\"foo-9\\": \\"_3vlp1YEgWrcYSofV_DbgLl\\", + \\"bar-1\\": \\"_1aIXXfKePbQyIoBtx5r_i3\\", + \\"bar-2\\": \\"_1yneLDnIvMLhNduXi5yqqV\\", + \\"baz-3\\": \\"_2u-qJxyLPtRRB90K5UQGa1\\", + \\"baz\\": \\"Xt6ycOTkGG2zy0zRDe6BK\\", + \\"bar-4\\": \\"_3M5wEyAlDWBbzYBzLLARxJ\\" +};" +`; + +exports[`modules should support "pure" value: warnings 1`] = `Array []`; diff --git a/test/__snapshots__/onlyLocals-option.test.js.snap b/test/__snapshots__/onlyLocals-option.test.js.snap index 3e3eff6f..7e78cd1a 100644 --- a/test/__snapshots__/onlyLocals-option.test.js.snap +++ b/test/__snapshots__/onlyLocals-option.test.js.snap @@ -1,15 +1,24 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`modules true (mode: local): errors 1`] = `Array []`; +exports[`modules true: errors 1`] = `Array []`; -exports[`modules true (mode: local): module 1`] = ` -"// Exports +exports[`modules true: module 1`] = ` +"// Imports +var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./values.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../src/index.js??ref--4-0!./something.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_2___ = require(\\"-!../../../src/index.js??ref--4-0!./imported-simple.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_3___ = require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_4___ = require(\\"-!../../../src/index.js??ref--4-0!../modules/top-relative.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_5___ = require(\\"-!../../../src/index.js??ref--4-0!package/style.css\\"); +var ___CSS_LOADER_ICSS_IMPORT_6___ = require(\\"-!../../../src/index.js??ref--4-0!aliasesComposes/alias.css\\"); + +// Exports module.exports = { - \\"v-def\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\")[\\"v-def\\"] + \\"\\", - \\"v-other\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\")[\\"v-other\\"] + \\"\\", - \\"s-white\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\")[\\"s-white\\"] + \\"\\", - \\"m-small\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./values.css\\")[\\"m-small\\"] + \\"\\", - \\"v-something\\": \\"\\" + require(\\"-!../../../src/index.js??ref--4-0!./something.css\\")[\\"v-something\\"] + \\"\\", + \\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"v-def\\"] + \\"\\", + \\"v-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"v-other\\"] + \\"\\", + \\"s-white\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"s-white\\"] + \\"\\", + \\"m-small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"m-small\\"] + \\"\\", + \\"v-something\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___[\\"v-something\\"] + \\"\\", \\"v-foo\\": \\"blue\\", \\"v-bar\\": \\"block\\", \\"v-primary\\": \\"#BF4040\\", @@ -39,19 +48,20 @@ module.exports = { \\"other-other\\": \\"_other-other\\", \\"green\\": \\"_green\\", \\"foo\\": \\"_foo\\", - \\"simple\\": \\"_simple \\" + require(\\"-!../../../src/index.js??ref--4-0!./imported-simple.css\\")[\\"imported-simple\\"] + \\"\\", - \\"relative\\": \\"_relative \\" + require(\\"-!../../../src/index.js??ref--4-0!./relative.css\\")[\\"imported-relative\\"] + \\"\\", - \\"top-relative\\": \\"_top-relative \\" + require(\\"-!../../../src/index.js??ref--4-0!../modules/top-relative.css\\")[\\"imported-relative\\"] + \\"\\", - \\"module\\": \\"_module \\" + require(\\"-!../../../src/index.js??ref--4-0!package/style.css\\")[\\"imported-module\\"] + \\"\\", - \\"alias\\": \\"_alias \\" + require(\\"-!../../../src/index.js??ref--4-0!aliasesComposes/alias.css\\")[\\"imported-alias\\"] + \\"\\", + \\"simple\\": \\"_simple \\" + ___CSS_LOADER_ICSS_IMPORT_2___[\\"imported-simple\\"] + \\"\\", + \\"relative\\": \\"_relative \\" + ___CSS_LOADER_ICSS_IMPORT_3___[\\"imported-relative\\"] + \\"\\", + \\"top-relative\\": \\"_top-relative \\" + ___CSS_LOADER_ICSS_IMPORT_4___[\\"imported-relative\\"] + \\"\\", + \\"module\\": \\"_module \\" + ___CSS_LOADER_ICSS_IMPORT_5___[\\"imported-module\\"] + \\"\\", + \\"alias\\": \\"_alias \\" + ___CSS_LOADER_ICSS_IMPORT_6___[\\"imported-alias\\"] + \\"\\", \\"primary-selector\\": \\"_primary-selector\\", \\"black-selector\\": \\"_black-selector\\", \\"header\\": \\"_header\\", - \\"foobarbaz\\": \\"_foobarbaz\\" + \\"foobarbaz\\": \\"_foobarbaz\\", + \\"url\\": \\"_url\\" };" `; -exports[`modules true (mode: local): values module 1`] = ` +exports[`modules true: values module 1`] = ` "// Exports module.exports = { \\"v-def\\": \\"red\\", @@ -61,4 +71,4 @@ module.exports = { };" `; -exports[`modules true (mode: local): warnings 1`] = `Array []`; +exports[`modules true: warnings 1`] = `Array []`; diff --git a/test/__snapshots__/url-option.test.js.snap b/test/__snapshots__/url-option.test.js.snap index 4767f15d..95105c49 100644 --- a/test/__snapshots__/url-option.test.js.snap +++ b/test/__snapshots__/url-option.test.js.snap @@ -291,30 +291,44 @@ a { exports[`url option Function: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./font.woff\\")); -var ___CSS_LOADER_URL___1___ = getUrl(require(\\"./font.woff2\\")); -var ___CSS_LOADER_URL___2___ = getUrl(require(\\"./font.eot\\")); -var ___CSS_LOADER_URL___3___ = getUrl(require(\\"package/font.ttf\\")); -var ___CSS_LOADER_URL___4___ = getUrl(require(\\"./font with spaces.eot\\")); -var ___CSS_LOADER_URL___5___ = getUrl(require(\\"./font.svg\\"), { hash: \\"#svgFontName\\" }); -var ___CSS_LOADER_URL___6___ = getUrl(require(\\"./font.woff2?foo=bar\\")); -var ___CSS_LOADER_URL___7___ = getUrl(require(\\"./font.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___8___ = getUrl(require(\\"./font with spaces.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___9___ = getUrl(require(\\"./img1x.png\\")); -var ___CSS_LOADER_URL___10___ = getUrl(require(\\"./img2x.png\\")); -var ___CSS_LOADER_URL___11___ = getUrl(require(\\"./img-simple.png\\")); -var ___CSS_LOADER_URL___12___ = getUrl(require(\\"../url/img-simple.png\\")); -var ___CSS_LOADER_URL___13___ = getUrl(require(\\"./img1x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___14___ = getUrl(require(\\"./img2x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___15___ = getUrl(require(\\"./img3x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___16___ = getUrl(require(\\"./img1x.png?foo=bar\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___17___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL___18___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL___19___ = getUrl(require(\\"./img3x.png\\")); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./font.woff\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_1___ = require(\\"./font.woff2\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_2___ = require(\\"./font.eot\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_3___ = require(\\"package/font.ttf\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_4___ = require(\\"./font with spaces.eot\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_5___ = require(\\"./font.svg\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_6___ = require(\\"./font.woff2?foo=bar\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_9___ = require(\\"./img1x.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_10___ = require(\\"./img2x.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_11___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_12___ = require(\\"../url/img-simple.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_15___ = require(\\"./img3x.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_16___ = require(\\"./img1x.png?foo=bar\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_1___); +var ___CSS_LOADER_URL_IMPORT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_2___); +var ___CSS_LOADER_URL_IMPORT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_3___); +var ___CSS_LOADER_URL_IMPORT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_4___); +var ___CSS_LOADER_URL_IMPORT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_5___, { hash: \\"#svgFontName\\" }); +var ___CSS_LOADER_URL_IMPORT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_6___); +var ___CSS_LOADER_URL_IMPORT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_2___, { hash: \\"?#iefix\\" }); +var ___CSS_LOADER_URL_IMPORT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_4___, { hash: \\"?#iefix\\" }); +var ___CSS_LOADER_URL_IMPORT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_9___); +var ___CSS_LOADER_URL_IMPORT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_10___); +var ___CSS_LOADER_URL_IMPORT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_11___); +var ___CSS_LOADER_URL_IMPORT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_12___); +var ___CSS_LOADER_URL_IMPORT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_9___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_10___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_15___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_16___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_9___, { hash: \\"#hash\\", needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_9___, { hash: \\"?#iefix\\", needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_15___); // Module -exports.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___0___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL___1___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___2___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL___3___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL___4___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL___5___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL___6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___7___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL___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___9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___10___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___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___11___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL___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___13___ + \\" 1x, \\" + ___CSS_LOADER_URL___14___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___13___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___13___ + \\" 1x, \\" + ___CSS_LOADER_URL___14___ + \\" 2x);\\\\n background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___13___ + \\" 1x, \\" + ___CSS_LOADER_URL___14___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL___13___ + \\" 1x, \\" + ___CSS_LOADER_URL___14___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL___13___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL___14___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL___15___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___16___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___17___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___18___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___10___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___9___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL___9___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___9___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___9___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___10___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___9___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL___10___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL___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___9___ + \\") 1x, \\" + ___CSS_LOADER_URL___14___ + \\" 2x);\\\\n}\\\\n\\", \\"\\"]); +exports.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_IMPORT_0___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_1___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_2___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_3___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_4___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_5___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_7___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_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_IMPORT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_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_IMPORT_11___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_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_IMPORT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_14___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_13___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_14___ + \\" 2x);\\\\n background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_14___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL_IMPORT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_14___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL_IMPORT_13___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL_IMPORT_14___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL_IMPORT_15___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_16___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_17___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_18___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_10___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_10___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_10___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_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_IMPORT_9___ + \\") 1x, \\" + ___CSS_LOADER_URL_IMPORT_14___ + \\" 2x);\\\\n}\\\\n\\", \\"\\"]); " `; @@ -677,7 +691,8 @@ a { exports[`url option false: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); // Module exports.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\\", \\"\\"]); " @@ -685,1624 +700,6 @@ exports.push([module.id, \\".class {\\\\n background: url('./img.png');\\\\n}\\ exports[`url option false: warnings 1`] = `Array []`; -exports[`url option true and modules \`false\`: errors 1`] = `Array []`; - -exports[`url option true and modules \`false\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".bar { - background: url(/webpack/public/path/img-from-imported.png); -} -", - "", - ], - Array [ - 1, - ".class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png#hash); -} - -.class { - background: url( - /webpack/public/path/img.png - ); -} - -.class { - background: green url( /webpack/public/path/img.png ) xyz; -} - -.class { - background: green url( /webpack/public/path/img.png ) xyz; -} - -.class { - background: green url( /webpack/public/path/img.png ) xyz; -} - -.class { - background: green url(/webpack/public/path/img.png) url(/webpack/public/path/other-img.png) xyz; -} - -.class { - background: green url( \\"/webpack/public/path/img img.png\\" ) xyz; -} - -.class { - background: green url( \\"/webpack/public/path/img img.png\\" ) xyz; -} - -.class { - background: green url(/img.png) xyz; -} - -.class { - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz; -} - -.class { - background-image: url(\\"data:image/svg+xml;charset=utf-8,\\"); -} - -.class { - 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\\"); -} - -.class { - filter: url('data:image/svg+xml;charset=utf-8,#filter'); -} - -.class { - 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'); -} - -.highlight { - filter: url(#highlight); -} - -.highlight { - filter: url('#line-marker'); -} - -@font-face { - src: url(/webpack/public/path/font.woff) format('woff'), - url(/webpack/public/path/font.woff2) format('woff2'), - url(/webpack/public/path/font.eot) format('eot'), - url(/webpack/public/path/font.ttf) format('truetype'), - url(\\"/webpack/public/path/font with spaces.eot\\") format(\\"embedded-opentype\\"), - url(/webpack/public/path/font.svg#svgFontName) format('svg'), - url(/webpack/public/path/font.woff2) format('woff2'), - url(/webpack/public/path/font.eot?#iefix) format('embedded-opentype'), - url(\\"/webpack/public/path/font with spaces.eot?#iefix\\") format('embedded-opentype'); -} - -@media (min-width: 500px) { - body { - background: url(/webpack/public/path/img.png); - } -} - -a { - content: \\"do not use url(path)\\"; -} - -b { - content: 'do not \\"use\\" url(path)'; -} - -@keyframes anim { - background: green url(/webpack/public/path/img.png) xyz; -} - -.a { - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x) -} - -.a { - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x) -} - -.class { - background: green url() xyz; -} - -.class { - background: green url('') xyz; -} - -.class { - background: green url(\\"\\") xyz; -} - -.class { - background: green url(' ') xyz; -} - -.class { - background: green url( - ) xyz; -} - -.class { - background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; -} - -.class { - background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png#hash); -} - -.class { - background: url(/webpack/public/path/img.png#hash); -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background-image: url(/webpack/public/path/img.png) url(\\"data:image/svg+xml;charset=utf-8,\\") url(/webpack/public/path/img.png); -} - -.class { - background: ___CSS_LOADER_URL___; - background: ___CSS_LOADER_URL___INDEX___; - background: ___CSS_LOADER_URL___99999___; - background: ___CSS_LOADER_IMPORT___; - background: ___CSS_LOADER_IMPORT___INDEX___; - background: ___CSS_LOADER_IMPORT___99999___; -} - -.pure-url { - background: url(/webpack/public/path/img-simple.png); -} - -.not-resolved { - background: url('/img-simple.png'); -} - -.above-below { - background: url(/webpack/public/path/img-simple.png); -} - -.tilde { - background: url(/webpack/public/path/img.png); -} - -.aliases { - background: url(/webpack/public/path/img.png); -} - -a { - background: url(/webpack/public/path/img.png); -} - -a { - background: url(/webpack/public/path/img.png); -} - -@font-face { - src: url(\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\"); -} - -.class { - /* Broken */ - background-image: -webkit-image-set(); - background-image: -webkit-image-set(''); - background-image: image-set(); - background-image: image-set(''); - background-image: image-set(\\"\\"); - background-image: image-set(\\"\\" 1x); - background-image: image-set(url()); - background-image: image-set( - url() - ); - background-image: image-set(URL()); - background-image: image-set(url('')); - background-image: image-set(url(\\"\\")); - background-image: image-set(url('') 1x); - background-image: image-set(1x); - background-image: image-set( - 1x - ); - background: image-set(calc(1rem + 1px) 1x); - - /* Strings */ - background-image: -webkit-image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img img.png\\" 1x, \\"/webpack/public/path/img img.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x), - image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set( - \\"/webpack/public/path/img1x.png\\" 1x, - \\"/webpack/public/path/img2x.png\\" 2x, - \\"/webpack/public/path/img3x.png\\" 600dpi - ); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png#hash\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png?#iefix\\" 1x); - - /* With \`url\` function */ - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x); - background-image: -webkit-image-set( - url(/webpack/public/path/img1x.png) 1x - ); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x); - background-image: image-set( - url(/webpack/public/path/img1x.png) 1x - ); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: image-set( - url(/webpack/public/path/img1x.png) 1x, - url(/webpack/public/path/img2x.png) 2x, - url(/webpack/public/path/img3x.png) 600dpi - ); - background-image: image-set(url(\\"/webpack/public/path/img img.png\\") 1x, url(\\"/webpack/public/path/img img.png\\") 2x); - - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, \\"/webpack/public/path/img2x.png\\" 2x); -} -", - "", - ], -] -`; - -exports[`url option true and modules \`false\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -var ___CSS_LOADER_URL___1___ = getUrl(require(\\"./img.png\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___2___ = getUrl(require(\\"package/img.png\\")); -var ___CSS_LOADER_URL___3___ = getUrl(require(\\"./other-img.png\\")); -var ___CSS_LOADER_URL___4___ = getUrl(require(\\"./img img.png\\")); -var ___CSS_LOADER_URL___5___ = getUrl(require(\\"./font.woff\\")); -var ___CSS_LOADER_URL___6___ = getUrl(require(\\"./font.woff2\\")); -var ___CSS_LOADER_URL___7___ = getUrl(require(\\"./font.eot\\")); -var ___CSS_LOADER_URL___8___ = getUrl(require(\\"package/font.ttf\\")); -var ___CSS_LOADER_URL___9___ = getUrl(require(\\"./font with spaces.eot\\")); -var ___CSS_LOADER_URL___10___ = getUrl(require(\\"./font.svg\\"), { hash: \\"#svgFontName\\" }); -var ___CSS_LOADER_URL___11___ = getUrl(require(\\"./font.woff2?foo=bar\\")); -var ___CSS_LOADER_URL___12___ = getUrl(require(\\"./font.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___13___ = getUrl(require(\\"./font with spaces.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___14___ = getUrl(require(\\"./img1x.png\\")); -var ___CSS_LOADER_URL___15___ = getUrl(require(\\"./img2x.png\\")); -var ___CSS_LOADER_URL___16___ = getUrl(require(\\"./img.png?foo\\")); -var ___CSS_LOADER_URL___17___ = getUrl(require(\\"./img.png?foo=bar\\")); -var ___CSS_LOADER_URL___18___ = getUrl(require(\\"./img.png?foo=bar\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___19___ = getUrl(require(\\"./img.png?\\")); -var ___CSS_LOADER_URL___20___ = getUrl(require(\\"./img-simple.png\\")); -var ___CSS_LOADER_URL___21___ = getUrl(require(\\"../url/img-simple.png\\")); -var ___CSS_LOADER_URL___22___ = getUrl(require(\\"aliasesImg/img.png\\")); -var ___CSS_LOADER_URL___23___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___24___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___25___ = getUrl(require(\\"./img1x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___26___ = getUrl(require(\\"./img2x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___27___ = getUrl(require(\\"./img img.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___28___ = getUrl(require(\\"./img3x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___29___ = getUrl(require(\\"./img1x.png?foo=bar\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___30___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL___31___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL___32___ = getUrl(require(\\"./img3x.png\\")); -// Module -exports.push([module.id, \\".class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL___0___ + \\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL___2___ + \\") url(\\" + ___CSS_LOADER_URL___3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___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___5___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL___6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___7___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL___8___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL___9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL___10___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL___11___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___12___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL___13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL___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___0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___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___16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\" + ___CSS_LOADER_URL___0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL___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___20___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL___21___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url(\\" + ___CSS_LOADER_URL___2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n background: url(\\" + ___CSS_LOADER_URL___22___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___23___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___24___ + \\");\\\\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___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___27___ + \\" 1x, \\" + ___CSS_LOADER_URL___27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL___25___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL___26___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL___28___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___29___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___30___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___31___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL___32___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`url option true and modules \`false\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(120:3) Unable to find uri in 'background: green url() xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(124:3) Unable to find uri in 'background: green url('') xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(128:3) Unable to find uri in 'background: green url(\\"\\") xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(132:3) Unable to find uri in 'background: green url(' ') xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(136:3) Unable to find uri in 'background: green url( - ) xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(216:3) Unable to find uri in 'background-image: -webkit-image-set('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(218:3) Unable to find uri in 'background-image: image-set('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(219:3) Unable to find uri in 'background-image: image-set(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(220:3) Unable to find uri in 'background-image: image-set(\\"\\" 1x)'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(221:3) Unable to find uri in 'background-image: image-set(url())'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(222:3) Unable to find uri in 'background-image: image-set( - url() - )'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(225:3) Unable to find uri in 'background-image: image-set(URL())'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(226:3) Unable to find uri in 'background-image: image-set(url(''))'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(227:3) Unable to find uri in 'background-image: image-set(url(\\"\\"))'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(228:3) Unable to find uri in 'background-image: image-set(url('') 1x)'", -] -`; - -exports[`url option true and modules \`global\`: errors 1`] = `Array []`; - -exports[`url option true and modules \`global\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - ".bar { - background: url(/webpack/public/path/img-from-imported.png); -} -", - "", - ], - Array [ - 1, - ".class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png#hash); -} - -.class { - background: url( - /webpack/public/path/img.png - ); -} - -.class { - background: green url( /webpack/public/path/img.png ) xyz; -} - -.class { - background: green url( /webpack/public/path/img.png ) xyz; -} - -.class { - background: green url( /webpack/public/path/img.png ) xyz; -} - -.class { - background: green url(/webpack/public/path/img.png) url(/webpack/public/path/other-img.png) xyz; -} - -.class { - background: green url( \\"/webpack/public/path/img img.png\\" ) xyz; -} - -.class { - background: green url( \\"/webpack/public/path/img img.png\\" ) xyz; -} - -.class { - background: green url(/img.png) xyz; -} - -.class { - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz; -} - -.class { - background-image: url(\\"data:image/svg+xml;charset=utf-8,\\"); -} - -.class { - 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\\"); -} - -.class { - filter: url('data:image/svg+xml;charset=utf-8,#filter'); -} - -.class { - 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'); -} - -.highlight { - filter: url(#highlight); -} - -.highlight { - filter: url('#line-marker'); -} - -@font-face { - src: url(/webpack/public/path/font.woff) format('woff'), - url(/webpack/public/path/font.woff2) format('woff2'), - url(/webpack/public/path/font.eot) format('eot'), - url(/webpack/public/path/font.ttf) format('truetype'), - url(\\"/webpack/public/path/font with spaces.eot\\") format(\\"embedded-opentype\\"), - url(/webpack/public/path/font.svg#svgFontName) format('svg'), - url(/webpack/public/path/font.woff2) format('woff2'), - url(/webpack/public/path/font.eot?#iefix) format('embedded-opentype'), - url(\\"/webpack/public/path/font with spaces.eot?#iefix\\") format('embedded-opentype'); -} - -@media (min-width: 500px) { - body { - background: url(/webpack/public/path/img.png); - } -} - -a { - content: \\"do not use url(path)\\"; -} - -b { - content: 'do not \\"use\\" url(path)'; -} - -@keyframes anim { - background: green url(/webpack/public/path/img.png) xyz; -} - -.a { - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x) -} - -.a { - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x) -} - -.class { - background: green url() xyz; -} - -.class { - background: green url('') xyz; -} - -.class { - background: green url(\\"\\") xyz; -} - -.class { - background: green url(' ') xyz; -} - -.class { - background: green url( - ) xyz; -} - -.class { - background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; -} - -.class { - background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background: url(/webpack/public/path/img.png#hash); -} - -.class { - background: url(/webpack/public/path/img.png#hash); -} - -.class { - background: url(/webpack/public/path/img.png); -} - -.class { - background-image: url(/webpack/public/path/img.png) url(\\"data:image/svg+xml;charset=utf-8,\\") url(/webpack/public/path/img.png); -} - -.class { - background: ___CSS_LOADER_URL___; - background: ___CSS_LOADER_URL___INDEX___; - background: ___CSS_LOADER_URL___99999___; - background: ___CSS_LOADER_IMPORT___; - background: ___CSS_LOADER_IMPORT___INDEX___; - background: ___CSS_LOADER_IMPORT___99999___; -} - -.pure-url { - background: url(/webpack/public/path/img-simple.png); -} - -.not-resolved { - background: url('/img-simple.png'); -} - -.above-below { - background: url(/webpack/public/path/img-simple.png); -} - -.tilde { - background: url(/webpack/public/path/img.png); -} - -.aliases { - background: url(/webpack/public/path/img.png); -} - -a { - background: url(/webpack/public/path/img.png); -} - -a { - background: url(/webpack/public/path/img.png); -} - -@font-face { - src: url(\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\"); -} - -.class { - /* Broken */ - background-image: -webkit-image-set(); - background-image: -webkit-image-set(''); - background-image: image-set(); - background-image: image-set(''); - background-image: image-set(\\"\\"); - background-image: image-set(\\"\\" 1x); - background-image: image-set(url()); - background-image: image-set( - url() - ); - background-image: image-set(URL()); - background-image: image-set(url('')); - background-image: image-set(url(\\"\\")); - background-image: image-set(url('') 1x); - background-image: image-set(1x); - background-image: image-set( - 1x - ); - background: image-set(calc(1rem + 1px) 1x); - - /* Strings */ - background-image: -webkit-image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img img.png\\" 1x, \\"/webpack/public/path/img img.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x), - image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set( - \\"/webpack/public/path/img1x.png\\" 1x, - \\"/webpack/public/path/img2x.png\\" 2x, - \\"/webpack/public/path/img3x.png\\" 600dpi - ); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png#hash\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png?#iefix\\" 1x); - - /* With \`url\` function */ - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x); - background-image: -webkit-image-set( - url(/webpack/public/path/img1x.png) 1x - ); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x); - background-image: image-set( - url(/webpack/public/path/img1x.png) 1x - ); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: image-set( - url(/webpack/public/path/img1x.png) 1x, - url(/webpack/public/path/img2x.png) 2x, - url(/webpack/public/path/img3x.png) 600dpi - ); - background-image: image-set(url(\\"/webpack/public/path/img img.png\\") 1x, url(\\"/webpack/public/path/img img.png\\") 2x); - - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, \\"/webpack/public/path/img2x.png\\" 2x); -} -", - "", - ], -] -`; - -exports[`url option true and modules \`global\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -var ___CSS_LOADER_URL___1___ = getUrl(require(\\"./img.png\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___2___ = getUrl(require(\\"package/img.png\\")); -var ___CSS_LOADER_URL___3___ = getUrl(require(\\"./other-img.png\\")); -var ___CSS_LOADER_URL___4___ = getUrl(require(\\"./img img.png\\")); -var ___CSS_LOADER_URL___5___ = getUrl(require(\\"./font.woff\\")); -var ___CSS_LOADER_URL___6___ = getUrl(require(\\"./font.woff2\\")); -var ___CSS_LOADER_URL___7___ = getUrl(require(\\"./font.eot\\")); -var ___CSS_LOADER_URL___8___ = getUrl(require(\\"package/font.ttf\\")); -var ___CSS_LOADER_URL___9___ = getUrl(require(\\"./font with spaces.eot\\")); -var ___CSS_LOADER_URL___10___ = getUrl(require(\\"./font.svg\\"), { hash: \\"#svgFontName\\" }); -var ___CSS_LOADER_URL___11___ = getUrl(require(\\"./font.woff2?foo=bar\\")); -var ___CSS_LOADER_URL___12___ = getUrl(require(\\"./font.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___13___ = getUrl(require(\\"./font with spaces.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___14___ = getUrl(require(\\"./img1x.png\\")); -var ___CSS_LOADER_URL___15___ = getUrl(require(\\"./img2x.png\\")); -var ___CSS_LOADER_URL___16___ = getUrl(require(\\"./img.png?foo\\")); -var ___CSS_LOADER_URL___17___ = getUrl(require(\\"./img.png?foo=bar\\")); -var ___CSS_LOADER_URL___18___ = getUrl(require(\\"./img.png?foo=bar\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___19___ = getUrl(require(\\"./img.png?\\")); -var ___CSS_LOADER_URL___20___ = getUrl(require(\\"./img-simple.png\\")); -var ___CSS_LOADER_URL___21___ = getUrl(require(\\"../url/img-simple.png\\")); -var ___CSS_LOADER_URL___22___ = getUrl(require(\\"aliasesImg/img.png\\")); -var ___CSS_LOADER_URL___23___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___24___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___25___ = getUrl(require(\\"./img1x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___26___ = getUrl(require(\\"./img2x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___27___ = getUrl(require(\\"./img img.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___28___ = getUrl(require(\\"./img3x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___29___ = getUrl(require(\\"./img1x.png?foo=bar\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___30___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL___31___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL___32___ = getUrl(require(\\"./img3x.png\\")); -// Module -exports.push([module.id, \\".class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL___0___ + \\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL___2___ + \\") url(\\" + ___CSS_LOADER_URL___3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___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___5___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL___6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___7___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL___8___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL___9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL___10___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL___11___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___12___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL___13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL___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___0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___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___16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\" + ___CSS_LOADER_URL___0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL___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___20___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL___21___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url(\\" + ___CSS_LOADER_URL___2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n background: url(\\" + ___CSS_LOADER_URL___22___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___23___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___24___ + \\");\\\\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___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___27___ + \\" 1x, \\" + ___CSS_LOADER_URL___27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL___25___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL___26___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL___28___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___29___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___30___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___31___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL___32___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n}\\\\n\\", \\"\\"]); -" -`; - -exports[`url option true and modules \`global\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(120:3) Unable to find uri in 'background: green url() xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(124:3) Unable to find uri in 'background: green url('') xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(128:3) Unable to find uri in 'background: green url(\\"\\") xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(132:3) Unable to find uri in 'background: green url(' ') xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(136:3) Unable to find uri in 'background: green url( - ) xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(216:3) Unable to find uri in 'background-image: -webkit-image-set('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(218:3) Unable to find uri in 'background-image: image-set('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(219:3) Unable to find uri in 'background-image: image-set(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(220:3) Unable to find uri in 'background-image: image-set(\\"\\" 1x)'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(221:3) Unable to find uri in 'background-image: image-set(url())'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(222:3) Unable to find uri in 'background-image: image-set( - url() - )'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(225:3) Unable to find uri in 'background-image: image-set(URL())'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(226:3) Unable to find uri in 'background-image: image-set(url(''))'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(227:3) Unable to find uri in 'background-image: image-set(url(\\"\\"))'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(228:3) Unable to find uri in 'background-image: image-set(url('') 1x)'", -] -`; - -exports[`url option true and modules \`local\`: errors 1`] = `Array []`; - -exports[`url option true and modules \`local\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._2y8zdp_B3r6R32gVxIJYJG { - background: url(/webpack/public/path/img-from-imported.png); -} -", - "", - ], - Array [ - 1, - "._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png#hash); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url( - /webpack/public/path/img.png - ); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( /webpack/public/path/img.png ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( /webpack/public/path/img.png ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( /webpack/public/path/img.png ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(/webpack/public/path/img.png) url(/webpack/public/path/other-img.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( \\"/webpack/public/path/img img.png\\" ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( \\"/webpack/public/path/img img.png\\" ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(/img.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background-image: url(\\"data:image/svg+xml;charset=utf-8,\\"); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - 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\\"); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - filter: url('data:image/svg+xml;charset=utf-8,#filter'); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - 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'); -} - -.lml_5t-nQdGlKc9OtKjUO { - filter: url(#highlight); -} - -.lml_5t-nQdGlKc9OtKjUO { - filter: url('#line-marker'); -} - -@font-face { - src: url(/webpack/public/path/font.woff) format('woff'), - url(/webpack/public/path/font.woff2) format('woff2'), - url(/webpack/public/path/font.eot) format('eot'), - url(/webpack/public/path/font.ttf) format('truetype'), - url(\\"/webpack/public/path/font with spaces.eot\\") format(\\"embedded-opentype\\"), - url(/webpack/public/path/font.svg#svgFontName) format('svg'), - url(/webpack/public/path/font.woff2) format('woff2'), - url(/webpack/public/path/font.eot?#iefix) format('embedded-opentype'), - url(\\"/webpack/public/path/font with spaces.eot?#iefix\\") format('embedded-opentype'); -} - -@media (min-width: 500px) { - body { - background: url(/webpack/public/path/img.png); - } -} - -a { - content: \\"do not use url(path)\\"; -} - -b { - content: 'do not \\"use\\" url(path)'; -} - -@keyframes O9YPhh3OZdzrkj25z-J92 { - background: green url(/webpack/public/path/img.png) xyz; -} - -._1fj5hnOVZ8KZVIGyZbPW3p { - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x) -} - -._1fj5hnOVZ8KZVIGyZbPW3p { - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x) -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url() xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url('') xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(\\"\\") xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(' ') xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( - ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png#hash); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png#hash); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background-image: url(/webpack/public/path/img.png) url(\\"data:image/svg+xml;charset=utf-8,\\") url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: ___CSS_LOADER_URL___; - background: ___CSS_LOADER_URL___INDEX___; - background: ___CSS_LOADER_URL___99999___; - background: ___CSS_LOADER_IMPORT___; - background: ___CSS_LOADER_IMPORT___INDEX___; - background: ___CSS_LOADER_IMPORT___99999___; -} - -._2rb58RF5u2ij-3X8XSJaVP { - background: url(/webpack/public/path/img-simple.png); -} - -.mrf4tRz4T71pNku_3IMH3 { - background: url('/img-simple.png'); -} - -.c5dNFA35opKWoGz7aRj0k { - background: url(/webpack/public/path/img-simple.png); -} - -._2Q5a0g3xEHAboOADfIxHa5 { - background: url(/webpack/public/path/img.png); -} - -._2TX-7lb63hK5h5DzELIAbU { - background: url(/webpack/public/path/img.png); -} - -a { - background: url(/webpack/public/path/img.png); -} - -a { - background: url(/webpack/public/path/img.png); -} - -@font-face { - src: url(\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\"); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - /* Broken */ - background-image: -webkit-image-set(); - background-image: -webkit-image-set(''); - background-image: image-set(); - background-image: image-set(''); - background-image: image-set(\\"\\"); - background-image: image-set(\\"\\" 1x); - background-image: image-set(url()); - background-image: image-set( - url() - ); - background-image: image-set(URL()); - background-image: image-set(url('')); - background-image: image-set(url(\\"\\")); - background-image: image-set(url('') 1x); - background-image: image-set(1x); - background-image: image-set( - 1x - ); - background: image-set(calc(1rem + 1px) 1x); - - /* Strings */ - background-image: -webkit-image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img img.png\\" 1x, \\"/webpack/public/path/img img.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x), - image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set( - \\"/webpack/public/path/img1x.png\\" 1x, - \\"/webpack/public/path/img2x.png\\" 2x, - \\"/webpack/public/path/img3x.png\\" 600dpi - ); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png#hash\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png?#iefix\\" 1x); - - /* With \`url\` function */ - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x); - background-image: -webkit-image-set( - url(/webpack/public/path/img1x.png) 1x - ); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x); - background-image: image-set( - url(/webpack/public/path/img1x.png) 1x - ); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: image-set( - url(/webpack/public/path/img1x.png) 1x, - url(/webpack/public/path/img2x.png) 2x, - url(/webpack/public/path/img3x.png) 600dpi - ); - background-image: image-set(url(\\"/webpack/public/path/img img.png\\") 1x, url(\\"/webpack/public/path/img img.png\\") 2x); - - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, \\"/webpack/public/path/img2x.png\\" 2x); -} -", - "", - ], -] -`; - -exports[`url option true and modules \`local\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -var ___CSS_LOADER_URL___1___ = getUrl(require(\\"./img.png\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___2___ = getUrl(require(\\"package/img.png\\")); -var ___CSS_LOADER_URL___3___ = getUrl(require(\\"./other-img.png\\")); -var ___CSS_LOADER_URL___4___ = getUrl(require(\\"./img img.png\\")); -var ___CSS_LOADER_URL___5___ = getUrl(require(\\"./font.woff\\")); -var ___CSS_LOADER_URL___6___ = getUrl(require(\\"./font.woff2\\")); -var ___CSS_LOADER_URL___7___ = getUrl(require(\\"./font.eot\\")); -var ___CSS_LOADER_URL___8___ = getUrl(require(\\"package/font.ttf\\")); -var ___CSS_LOADER_URL___9___ = getUrl(require(\\"./font with spaces.eot\\")); -var ___CSS_LOADER_URL___10___ = getUrl(require(\\"./font.svg\\"), { hash: \\"#svgFontName\\" }); -var ___CSS_LOADER_URL___11___ = getUrl(require(\\"./font.woff2?foo=bar\\")); -var ___CSS_LOADER_URL___12___ = getUrl(require(\\"./font.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___13___ = getUrl(require(\\"./font with spaces.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___14___ = getUrl(require(\\"./img1x.png\\")); -var ___CSS_LOADER_URL___15___ = getUrl(require(\\"./img2x.png\\")); -var ___CSS_LOADER_URL___16___ = getUrl(require(\\"./img.png?foo\\")); -var ___CSS_LOADER_URL___17___ = getUrl(require(\\"./img.png?foo=bar\\")); -var ___CSS_LOADER_URL___18___ = getUrl(require(\\"./img.png?foo=bar\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___19___ = getUrl(require(\\"./img.png?\\")); -var ___CSS_LOADER_URL___20___ = getUrl(require(\\"./img-simple.png\\")); -var ___CSS_LOADER_URL___21___ = getUrl(require(\\"../url/img-simple.png\\")); -var ___CSS_LOADER_URL___22___ = getUrl(require(\\"aliasesImg/img.png\\")); -var ___CSS_LOADER_URL___23___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___24___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___25___ = getUrl(require(\\"./img1x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___26___ = getUrl(require(\\"./img2x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___27___ = getUrl(require(\\"./img img.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___28___ = getUrl(require(\\"./img3x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___29___ = getUrl(require(\\"./img1x.png?foo=bar\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___30___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL___31___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL___32___ = getUrl(require(\\"./img3x.png\\")); -// Module -exports.push([module.id, \\"._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___1___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL___0___ + \\"\\\\n );\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(\\" + ___CSS_LOADER_URL___2___ + \\") url(\\" + ___CSS_LOADER_URL___3___ + \\") xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___4___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___4___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\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._7NvzxsKlD5xT5cUVu5Ad- {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\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.lml_5t-nQdGlKc9OtKjUO {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.lml_5t-nQdGlKc9OtKjUO {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\" + ___CSS_LOADER_URL___5___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL___6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___7___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL___8___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL___9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL___10___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL___11___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___12___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL___13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL___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 O9YPhh3OZdzrkj25z-J92 {\\\\n background: green url(\\" + ___CSS_LOADER_URL___0___ + \\") xyz;\\\\n}\\\\n\\\\n._1fj5hnOVZ8KZVIGyZbPW3p {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x)\\\\n}\\\\n\\\\n._1fj5hnOVZ8KZVIGyZbPW3p {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x)\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___16___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___17___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___19___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background-image: url(\\" + ___CSS_LOADER_URL___0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\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._2rb58RF5u2ij-3X8XSJaVP {\\\\n background: url(\\" + ___CSS_LOADER_URL___20___ + \\");\\\\n}\\\\n\\\\n.mrf4tRz4T71pNku_3IMH3 {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.c5dNFA35opKWoGz7aRj0k {\\\\n background: url(\\" + ___CSS_LOADER_URL___21___ + \\");\\\\n}\\\\n\\\\n._2Q5a0g3xEHAboOADfIxHa5 {\\\\n background: url(\\" + ___CSS_LOADER_URL___2___ + \\");\\\\n}\\\\n\\\\n._2TX-7lb63hK5h5DzELIAbU {\\\\n background: url(\\" + ___CSS_LOADER_URL___22___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___23___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___24___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\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___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___27___ + \\" 1x, \\" + ___CSS_LOADER_URL___27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL___25___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL___26___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL___28___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___29___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___30___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___31___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL___32___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"class\\": \\"_7NvzxsKlD5xT5cUVu5Ad-\\", - \\"highlight\\": \\"lml_5t-nQdGlKc9OtKjUO\\", - \\"a\\": \\"_1fj5hnOVZ8KZVIGyZbPW3p\\", - \\"pure-url\\": \\"_2rb58RF5u2ij-3X8XSJaVP\\", - \\"not-resolved\\": \\"mrf4tRz4T71pNku_3IMH3\\", - \\"above-below\\": \\"c5dNFA35opKWoGz7aRj0k\\", - \\"tilde\\": \\"_2Q5a0g3xEHAboOADfIxHa5\\", - \\"aliases\\": \\"_2TX-7lb63hK5h5DzELIAbU\\", - \\"anim\\": \\"O9YPhh3OZdzrkj25z-J92\\" -};" -`; - -exports[`url option true and modules \`local\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(120:3) Unable to find uri in 'background: green url() xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(124:3) Unable to find uri in 'background: green url('') xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(128:3) Unable to find uri in 'background: green url(\\"\\") xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(132:3) Unable to find uri in 'background: green url(' ') xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(136:3) Unable to find uri in 'background: green url( - ) xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(216:3) Unable to find uri in 'background-image: -webkit-image-set('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(218:3) Unable to find uri in 'background-image: image-set('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(219:3) Unable to find uri in 'background-image: image-set(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(220:3) Unable to find uri in 'background-image: image-set(\\"\\" 1x)'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(221:3) Unable to find uri in 'background-image: image-set(url())'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(222:3) Unable to find uri in 'background-image: image-set( - url() - )'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(225:3) Unable to find uri in 'background-image: image-set(URL())'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(226:3) Unable to find uri in 'background-image: image-set(url(''))'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(227:3) Unable to find uri in 'background-image: image-set(url(\\"\\"))'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(228:3) Unable to find uri in 'background-image: image-set(url('') 1x)'", -] -`; - -exports[`url option true and modules \`true\`: errors 1`] = `Array []`; - -exports[`url option true and modules \`true\`: module (evaluated) 1`] = ` -Array [ - Array [ - 2, - "._2y8zdp_B3r6R32gVxIJYJG { - background: url(/webpack/public/path/img-from-imported.png); -} -", - "", - ], - Array [ - 1, - "._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png#hash); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url( - /webpack/public/path/img.png - ); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( /webpack/public/path/img.png ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( /webpack/public/path/img.png ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( /webpack/public/path/img.png ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(/webpack/public/path/img.png) url(/webpack/public/path/other-img.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( \\"/webpack/public/path/img img.png\\" ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( \\"/webpack/public/path/img img.png\\" ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(/img.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background-image: url(\\"data:image/svg+xml;charset=utf-8,\\"); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - 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\\"); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - filter: url('data:image/svg+xml;charset=utf-8,#filter'); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - 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'); -} - -.lml_5t-nQdGlKc9OtKjUO { - filter: url(#highlight); -} - -.lml_5t-nQdGlKc9OtKjUO { - filter: url('#line-marker'); -} - -@font-face { - src: url(/webpack/public/path/font.woff) format('woff'), - url(/webpack/public/path/font.woff2) format('woff2'), - url(/webpack/public/path/font.eot) format('eot'), - url(/webpack/public/path/font.ttf) format('truetype'), - url(\\"/webpack/public/path/font with spaces.eot\\") format(\\"embedded-opentype\\"), - url(/webpack/public/path/font.svg#svgFontName) format('svg'), - url(/webpack/public/path/font.woff2) format('woff2'), - url(/webpack/public/path/font.eot?#iefix) format('embedded-opentype'), - url(\\"/webpack/public/path/font with spaces.eot?#iefix\\") format('embedded-opentype'); -} - -@media (min-width: 500px) { - body { - background: url(/webpack/public/path/img.png); - } -} - -a { - content: \\"do not use url(path)\\"; -} - -b { - content: 'do not \\"use\\" url(path)'; -} - -@keyframes O9YPhh3OZdzrkj25z-J92 { - background: green url(/webpack/public/path/img.png) xyz; -} - -._1fj5hnOVZ8KZVIGyZbPW3p { - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x) -} - -._1fj5hnOVZ8KZVIGyZbPW3p { - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x) -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url() xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url('') xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(\\"\\") xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(' ') xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url( - ) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz; -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png#hash); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png#hash); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background-image: url(/webpack/public/path/img.png) url(\\"data:image/svg+xml;charset=utf-8,\\") url(/webpack/public/path/img.png); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - background: ___CSS_LOADER_URL___; - background: ___CSS_LOADER_URL___INDEX___; - background: ___CSS_LOADER_URL___99999___; - background: ___CSS_LOADER_IMPORT___; - background: ___CSS_LOADER_IMPORT___INDEX___; - background: ___CSS_LOADER_IMPORT___99999___; -} - -._2rb58RF5u2ij-3X8XSJaVP { - background: url(/webpack/public/path/img-simple.png); -} - -.mrf4tRz4T71pNku_3IMH3 { - background: url('/img-simple.png'); -} - -.c5dNFA35opKWoGz7aRj0k { - background: url(/webpack/public/path/img-simple.png); -} - -._2Q5a0g3xEHAboOADfIxHa5 { - background: url(/webpack/public/path/img.png); -} - -._2TX-7lb63hK5h5DzELIAbU { - background: url(/webpack/public/path/img.png); -} - -a { - background: url(/webpack/public/path/img.png); -} - -a { - background: url(/webpack/public/path/img.png); -} - -@font-face { - src: url(\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\"); -} - -._7NvzxsKlD5xT5cUVu5Ad- { - /* Broken */ - background-image: -webkit-image-set(); - background-image: -webkit-image-set(''); - background-image: image-set(); - background-image: image-set(''); - background-image: image-set(\\"\\"); - background-image: image-set(\\"\\" 1x); - background-image: image-set(url()); - background-image: image-set( - url() - ); - background-image: image-set(URL()); - background-image: image-set(url('')); - background-image: image-set(url(\\"\\")); - background-image: image-set(url('') 1x); - background-image: image-set(1x); - background-image: image-set( - 1x - ); - background: image-set(calc(1rem + 1px) 1x); - - /* Strings */ - background-image: -webkit-image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img img.png\\" 1x, \\"/webpack/public/path/img img.png\\" 2x); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x), - image-set(\\"/webpack/public/path/img1x.png\\" 1x, \\"/webpack/public/path/img2x.png\\" 2x); - background-image: image-set( - \\"/webpack/public/path/img1x.png\\" 1x, - \\"/webpack/public/path/img2x.png\\" 2x, - \\"/webpack/public/path/img3x.png\\" 600dpi - ); - background-image: image-set(\\"/webpack/public/path/img1x.png\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png#hash\\" 1x); - background-image: image-set(\\"/webpack/public/path/img1x.png?#iefix\\" 1x); - - /* With \`url\` function */ - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: -webkit-image-set(url(/webpack/public/path/img1x.png) 1x); - background-image: -webkit-image-set( - url(/webpack/public/path/img1x.png) 1x - ); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x); - background-image: image-set( - url(/webpack/public/path/img1x.png) 1x - ); - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, url(/webpack/public/path/img2x.png) 2x); - background-image: image-set( - url(/webpack/public/path/img1x.png) 1x, - url(/webpack/public/path/img2x.png) 2x, - url(/webpack/public/path/img3x.png) 600dpi - ); - background-image: image-set(url(\\"/webpack/public/path/img img.png\\") 1x, url(\\"/webpack/public/path/img img.png\\") 2x); - - background-image: image-set(url(/webpack/public/path/img1x.png) 1x, \\"/webpack/public/path/img2x.png\\" 2x); -} -", - "", - ], -] -`; - -exports[`url option true and modules \`true\`: module 1`] = ` -"exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); -// Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -var ___CSS_LOADER_URL___1___ = getUrl(require(\\"./img.png\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___2___ = getUrl(require(\\"package/img.png\\")); -var ___CSS_LOADER_URL___3___ = getUrl(require(\\"./other-img.png\\")); -var ___CSS_LOADER_URL___4___ = getUrl(require(\\"./img img.png\\")); -var ___CSS_LOADER_URL___5___ = getUrl(require(\\"./font.woff\\")); -var ___CSS_LOADER_URL___6___ = getUrl(require(\\"./font.woff2\\")); -var ___CSS_LOADER_URL___7___ = getUrl(require(\\"./font.eot\\")); -var ___CSS_LOADER_URL___8___ = getUrl(require(\\"package/font.ttf\\")); -var ___CSS_LOADER_URL___9___ = getUrl(require(\\"./font with spaces.eot\\")); -var ___CSS_LOADER_URL___10___ = getUrl(require(\\"./font.svg\\"), { hash: \\"#svgFontName\\" }); -var ___CSS_LOADER_URL___11___ = getUrl(require(\\"./font.woff2?foo=bar\\")); -var ___CSS_LOADER_URL___12___ = getUrl(require(\\"./font.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___13___ = getUrl(require(\\"./font with spaces.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___14___ = getUrl(require(\\"./img1x.png\\")); -var ___CSS_LOADER_URL___15___ = getUrl(require(\\"./img2x.png\\")); -var ___CSS_LOADER_URL___16___ = getUrl(require(\\"./img.png?foo\\")); -var ___CSS_LOADER_URL___17___ = getUrl(require(\\"./img.png?foo=bar\\")); -var ___CSS_LOADER_URL___18___ = getUrl(require(\\"./img.png?foo=bar\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___19___ = getUrl(require(\\"./img.png?\\")); -var ___CSS_LOADER_URL___20___ = getUrl(require(\\"./img-simple.png\\")); -var ___CSS_LOADER_URL___21___ = getUrl(require(\\"../url/img-simple.png\\")); -var ___CSS_LOADER_URL___22___ = getUrl(require(\\"aliasesImg/img.png\\")); -var ___CSS_LOADER_URL___23___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___24___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___25___ = getUrl(require(\\"./img1x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___26___ = getUrl(require(\\"./img2x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___27___ = getUrl(require(\\"./img img.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___28___ = getUrl(require(\\"./img3x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___29___ = getUrl(require(\\"./img1x.png?foo=bar\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___30___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL___31___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL___32___ = getUrl(require(\\"./img3x.png\\")); -// Module -exports.push([module.id, \\"._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___1___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL___0___ + \\"\\\\n );\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(\\" + ___CSS_LOADER_URL___2___ + \\") url(\\" + ___CSS_LOADER_URL___3___ + \\") xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___4___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url( \\" + ___CSS_LOADER_URL___4___ + \\" ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\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._7NvzxsKlD5xT5cUVu5Ad- {\\\\n filter: url('data:image/svg+xml;charset=utf-8,#filter');\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\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.lml_5t-nQdGlKc9OtKjUO {\\\\n filter: url(#highlight);\\\\n}\\\\n\\\\n.lml_5t-nQdGlKc9OtKjUO {\\\\n filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\" + ___CSS_LOADER_URL___5___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL___6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___7___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL___8___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL___9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL___10___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL___11___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___12___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL___13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL___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 O9YPhh3OZdzrkj25z-J92 {\\\\n background: green url(\\" + ___CSS_LOADER_URL___0___ + \\") xyz;\\\\n}\\\\n\\\\n._1fj5hnOVZ8KZVIGyZbPW3p {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x)\\\\n}\\\\n\\\\n._1fj5hnOVZ8KZVIGyZbPW3p {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x)\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url() xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url('') xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(' ') xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(\\\\n ) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___16___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___17___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background: url(\\" + ___CSS_LOADER_URL___19___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\n background-image: url(\\" + ___CSS_LOADER_URL___0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\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._2rb58RF5u2ij-3X8XSJaVP {\\\\n background: url(\\" + ___CSS_LOADER_URL___20___ + \\");\\\\n}\\\\n\\\\n.mrf4tRz4T71pNku_3IMH3 {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.c5dNFA35opKWoGz7aRj0k {\\\\n background: url(\\" + ___CSS_LOADER_URL___21___ + \\");\\\\n}\\\\n\\\\n._2Q5a0g3xEHAboOADfIxHa5 {\\\\n background: url(\\" + ___CSS_LOADER_URL___2___ + \\");\\\\n}\\\\n\\\\n._2TX-7lb63hK5h5DzELIAbU {\\\\n background: url(\\" + ___CSS_LOADER_URL___22___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___23___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___24___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n._7NvzxsKlD5xT5cUVu5Ad- {\\\\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___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___27___ + \\" 1x, \\" + ___CSS_LOADER_URL___27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL___25___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL___26___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL___28___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___29___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___30___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___31___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL___32___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n}\\\\n\\", \\"\\"]); -// Exports -exports.locals = { - \\"class\\": \\"_7NvzxsKlD5xT5cUVu5Ad-\\", - \\"highlight\\": \\"lml_5t-nQdGlKc9OtKjUO\\", - \\"a\\": \\"_1fj5hnOVZ8KZVIGyZbPW3p\\", - \\"pure-url\\": \\"_2rb58RF5u2ij-3X8XSJaVP\\", - \\"not-resolved\\": \\"mrf4tRz4T71pNku_3IMH3\\", - \\"above-below\\": \\"c5dNFA35opKWoGz7aRj0k\\", - \\"tilde\\": \\"_2Q5a0g3xEHAboOADfIxHa5\\", - \\"aliases\\": \\"_2TX-7lb63hK5h5DzELIAbU\\", - \\"anim\\": \\"O9YPhh3OZdzrkj25z-J92\\" -};" -`; - -exports[`url option true and modules \`true\`: warnings 1`] = ` -Array [ - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(120:3) Unable to find uri in 'background: green url() xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(124:3) Unable to find uri in 'background: green url('') xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(128:3) Unable to find uri in 'background: green url(\\"\\") xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(132:3) Unable to find uri in 'background: green url(' ') xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(136:3) Unable to find uri in 'background: green url( - ) xyz'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(216:3) Unable to find uri in 'background-image: -webkit-image-set('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(218:3) Unable to find uri in 'background-image: image-set('')'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(219:3) Unable to find uri in 'background-image: image-set(\\"\\")'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(220:3) Unable to find uri in 'background-image: image-set(\\"\\" 1x)'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(221:3) Unable to find uri in 'background-image: image-set(url())'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(222:3) Unable to find uri in 'background-image: image-set( - url() - )'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(225:3) Unable to find uri in 'background-image: image-set(URL())'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(226:3) Unable to find uri in 'background-image: image-set(url(''))'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(227:3) Unable to find uri in 'background-image: image-set(url(\\"\\"))'", - "ModuleWarning: Module Warning (from \`replaced original path\`): -Warning - -(228:3) Unable to find uri in 'background-image: image-set(url('') 1x)'", -] -`; - exports[`url option true: errors 1`] = `Array []`; exports[`url option true: module (evaluated) 1`] = ` @@ -2594,43 +991,67 @@ a { exports[`url option true: module 1`] = ` "exports = module.exports = require(\\"../../../src/runtime/api.js\\")(false); // Imports -exports.i(require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"), \\"\\"); -var getUrl = require(\\"../../../src/runtime/getUrl.js\\"); -var ___CSS_LOADER_URL___0___ = getUrl(require(\\"./img.png\\")); -var ___CSS_LOADER_URL___1___ = getUrl(require(\\"./img.png\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___2___ = getUrl(require(\\"package/img.png\\")); -var ___CSS_LOADER_URL___3___ = getUrl(require(\\"./other-img.png\\")); -var ___CSS_LOADER_URL___4___ = getUrl(require(\\"./img img.png\\")); -var ___CSS_LOADER_URL___5___ = getUrl(require(\\"./font.woff\\")); -var ___CSS_LOADER_URL___6___ = getUrl(require(\\"./font.woff2\\")); -var ___CSS_LOADER_URL___7___ = getUrl(require(\\"./font.eot\\")); -var ___CSS_LOADER_URL___8___ = getUrl(require(\\"package/font.ttf\\")); -var ___CSS_LOADER_URL___9___ = getUrl(require(\\"./font with spaces.eot\\")); -var ___CSS_LOADER_URL___10___ = getUrl(require(\\"./font.svg\\"), { hash: \\"#svgFontName\\" }); -var ___CSS_LOADER_URL___11___ = getUrl(require(\\"./font.woff2?foo=bar\\")); -var ___CSS_LOADER_URL___12___ = getUrl(require(\\"./font.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___13___ = getUrl(require(\\"./font with spaces.eot\\"), { hash: \\"?#iefix\\" }); -var ___CSS_LOADER_URL___14___ = getUrl(require(\\"./img1x.png\\")); -var ___CSS_LOADER_URL___15___ = getUrl(require(\\"./img2x.png\\")); -var ___CSS_LOADER_URL___16___ = getUrl(require(\\"./img.png?foo\\")); -var ___CSS_LOADER_URL___17___ = getUrl(require(\\"./img.png?foo=bar\\")); -var ___CSS_LOADER_URL___18___ = getUrl(require(\\"./img.png?foo=bar\\"), { hash: \\"#hash\\" }); -var ___CSS_LOADER_URL___19___ = getUrl(require(\\"./img.png?\\")); -var ___CSS_LOADER_URL___20___ = getUrl(require(\\"./img-simple.png\\")); -var ___CSS_LOADER_URL___21___ = getUrl(require(\\"../url/img-simple.png\\")); -var ___CSS_LOADER_URL___22___ = getUrl(require(\\"aliasesImg/img.png\\")); -var ___CSS_LOADER_URL___23___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___24___ = getUrl(require(\\"./nested/img.png\\")); -var ___CSS_LOADER_URL___25___ = getUrl(require(\\"./img1x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___26___ = getUrl(require(\\"./img2x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___27___ = getUrl(require(\\"./img img.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___28___ = getUrl(require(\\"./img3x.png\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___29___ = getUrl(require(\\"./img1x.png?foo=bar\\"), { needQuotes: true }); -var ___CSS_LOADER_URL___30___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"#hash\\", needQuotes: true }); -var ___CSS_LOADER_URL___31___ = getUrl(require(\\"./img1x.png\\"), { hash: \\"?#iefix\\", needQuotes: true }); -var ___CSS_LOADER_URL___32___ = getUrl(require(\\"./img3x.png\\")); +var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??ref--4-0!./imported.css\\"); +var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_0___ = require(\\"./img.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_2___ = require(\\"package/img.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_3___ = require(\\"./other-img.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_4___ = require(\\"./img img.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_5___ = require(\\"./font.woff\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_6___ = require(\\"./font.woff2\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_7___ = require(\\"./font.eot\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_8___ = require(\\"package/font.ttf\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_9___ = require(\\"./font with spaces.eot\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_10___ = require(\\"./font.svg\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_11___ = require(\\"./font.woff2?foo=bar\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_14___ = require(\\"./img1x.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_15___ = require(\\"./img2x.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_16___ = require(\\"./img.png?foo\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_17___ = require(\\"./img.png?foo=bar\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_19___ = require(\\"./img.png?\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_20___ = require(\\"./img-simple.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_21___ = require(\\"../url/img-simple.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_22___ = require(\\"aliasesImg/img.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_23___ = require(\\"./nested/img.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_24___ = require(\\"./nested/img.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_28___ = require(\\"./img3x.png\\"); +var ___CSS_LOADER_URL_PURE_IMPORT_29___ = require(\\"./img1x.png?foo=bar\\"); +exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___); +var ___CSS_LOADER_URL_IMPORT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_0___, { hash: \\"#hash\\" }); +var ___CSS_LOADER_URL_IMPORT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_2___); +var ___CSS_LOADER_URL_IMPORT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_3___); +var ___CSS_LOADER_URL_IMPORT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_4___); +var ___CSS_LOADER_URL_IMPORT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_5___); +var ___CSS_LOADER_URL_IMPORT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_6___); +var ___CSS_LOADER_URL_IMPORT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_7___); +var ___CSS_LOADER_URL_IMPORT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_8___); +var ___CSS_LOADER_URL_IMPORT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_9___); +var ___CSS_LOADER_URL_IMPORT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_10___, { hash: \\"#svgFontName\\" }); +var ___CSS_LOADER_URL_IMPORT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_11___); +var ___CSS_LOADER_URL_IMPORT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_7___, { hash: \\"?#iefix\\" }); +var ___CSS_LOADER_URL_IMPORT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_9___, { hash: \\"?#iefix\\" }); +var ___CSS_LOADER_URL_IMPORT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_14___); +var ___CSS_LOADER_URL_IMPORT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_15___); +var ___CSS_LOADER_URL_IMPORT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_16___); +var ___CSS_LOADER_URL_IMPORT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_17___); +var ___CSS_LOADER_URL_IMPORT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_17___, { hash: \\"#hash\\" }); +var ___CSS_LOADER_URL_IMPORT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_19___); +var ___CSS_LOADER_URL_IMPORT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_20___); +var ___CSS_LOADER_URL_IMPORT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_21___); +var ___CSS_LOADER_URL_IMPORT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_22___); +var ___CSS_LOADER_URL_IMPORT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_23___); +var ___CSS_LOADER_URL_IMPORT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_24___); +var ___CSS_LOADER_URL_IMPORT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_14___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_15___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_4___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_28___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_29___, { needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_14___, { hash: \\"#hash\\", needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_14___, { hash: \\"?#iefix\\", needQuotes: true }); +var ___CSS_LOADER_URL_IMPORT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_PURE_IMPORT_28___); // Module -exports.push([module.id, \\".class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL___0___ + \\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL___2___ + \\") url(\\" + ___CSS_LOADER_URL___3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL___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___5___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL___6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___7___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL___8___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL___9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL___10___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL___11___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL___12___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL___13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL___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___0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___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___16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL___19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\" + ___CSS_LOADER_URL___0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL___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___20___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL___21___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url(\\" + ___CSS_LOADER_URL___2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n background: url(\\" + ___CSS_LOADER_URL___22___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___23___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL___24___ + \\");\\\\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___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___27___ + \\" 1x, \\" + ___CSS_LOADER_URL___27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL___25___ + \\" 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL___25___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL___26___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL___28___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___29___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___30___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL___31___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL___15___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL___32___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL___4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL___14___ + \\") 1x, \\" + ___CSS_LOADER_URL___26___ + \\" 2x);\\\\n}\\\\n\\", \\"\\"]); +exports.push([module.id, \\".class {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\\\n \\" + ___CSS_LOADER_URL_IMPORT_0___ + \\"\\\\n );\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_IMPORT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_IMPORT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_IMPORT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url(\\" + ___CSS_LOADER_URL_IMPORT_2___ + \\") url(\\" + ___CSS_LOADER_URL_IMPORT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_IMPORT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n background: green url( \\" + ___CSS_LOADER_URL_IMPORT_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_IMPORT_5___ + \\") format('woff'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_6___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_7___ + \\") format('eot'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_8___ + \\") format('truetype'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_10___ + \\") format('svg'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_11___ + \\") format('woff2'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_12___ + \\") format('embedded-opentype'),\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n body {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_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_IMPORT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_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_IMPORT_16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n background-image: url(\\" + ___CSS_LOADER_URL_IMPORT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,\\\\\\") url(\\" + ___CSS_LOADER_URL_IMPORT_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_IMPORT_20___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_21___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_22___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_23___ + \\");\\\\n}\\\\n\\\\na {\\\\n background: url(\\" + ___CSS_LOADER_URL_IMPORT_24___ + \\");\\\\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_IMPORT_25___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_25___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_25___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_26___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_27___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_27___ + \\" 2x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_25___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_26___ + \\" 2x),\\\\n image-set(\\" + ___CSS_LOADER_URL_IMPORT_25___ + \\" 1x, \\" + ___CSS_LOADER_URL_IMPORT_26___ + \\" 2x);\\\\n background-image: image-set(\\\\n \\" + ___CSS_LOADER_URL_IMPORT_25___ + \\" 1x,\\\\n \\" + ___CSS_LOADER_URL_IMPORT_26___ + \\" 2x,\\\\n \\" + ___CSS_LOADER_URL_IMPORT_28___ + \\" 600dpi\\\\n );\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_29___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_30___ + \\" 1x);\\\\n background-image: image-set(\\" + ___CSS_LOADER_URL_IMPORT_31___ + \\" 1x);\\\\n\\\\n /* With \`url\` function */\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_15___ + \\") 2x);\\\\n background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x);\\\\n background-image: -webkit-image-set(\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_15___ + \\") 2x);\\\\n background-image: image-set(\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x,\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_15___ + \\") 2x,\\\\n url(\\" + ___CSS_LOADER_URL_IMPORT_32___ + \\") 600dpi\\\\n );\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_IMPORT_4___ + \\") 2x);\\\\n\\\\n background-image: image-set(url(\\" + ___CSS_LOADER_URL_IMPORT_14___ + \\") 1x, \\" + ___CSS_LOADER_URL_IMPORT_26___ + \\" 2x);\\\\n}\\\\n\\", \\"\\"]); " `; diff --git a/test/__snapshots__/validate-options.test.js.snap b/test/__snapshots__/validate-options.test.js.snap index c4d62681..90b16f6f 100644 --- a/test/__snapshots__/validate-options.test.js.snap +++ b/test/__snapshots__/validate-options.test.js.snap @@ -23,12 +23,12 @@ exports[`validate options 2`] = ` exports[`validate options 3`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.modules should be one of these: - boolean | \\"local\\" | \\"global\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } + boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules). Details: * options.modules should be a boolean. * options.modules should be one of these: - \\"local\\" | \\"global\\" + \\"local\\" | \\"global\\" | \\"pure\\" * options.modules should be an object: object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }" `; @@ -36,12 +36,12 @@ exports[`validate options 3`] = ` exports[`validate options 4`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.modules should be one of these: - boolean | \\"local\\" | \\"global\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } + boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules). Details: * options.modules should be a boolean. * options.modules should be one of these: - \\"local\\" | \\"global\\" + \\"local\\" | \\"global\\" | \\"pure\\" * options.modules should be an object: object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }" `; @@ -49,59 +49,72 @@ exports[`validate options 4`] = ` exports[`validate options 5`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.modules should be one of these: - boolean | \\"local\\" | \\"global\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } + boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules). Details: * options.modules should be a boolean. * options.modules should be one of these: - \\"local\\" | \\"global\\" + \\"local\\" | \\"global\\" | \\"pure\\" * options.modules should be an object: object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }" `; exports[`validate options 6`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - - options.modules.mode should be one of these: - \\"local\\" | \\"global\\"" + - options.modules should be one of these: + boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } + -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules). + Details: + * options.modules should be a boolean. + * options.modules should be one of these: + \\"local\\" | \\"global\\" | \\"pure\\" + * options.modules should be an object: + object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }" `; exports[`validate options 7`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.modules.mode should be one of these: - \\"local\\" | \\"global\\"" + \\"local\\" | \\"global\\" | \\"pure\\"" `; exports[`validate options 8`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.modules.mode should be one of these: - \\"local\\" | \\"global\\"" + \\"local\\" | \\"global\\" | \\"pure\\"" `; exports[`validate options 9`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.modules.mode should be one of these: - \\"local\\" | \\"global\\"" + \\"local\\" | \\"global\\" | \\"pure\\"" `; exports[`validate options 10`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - - options.modules.localIdentName should be a string." + - options.modules.mode should be one of these: + \\"local\\" | \\"global\\" | \\"pure\\"" `; exports[`validate options 11`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - - options.modules.context should be a string." + - options.modules.localIdentName should be a string." `; exports[`validate options 12`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - - options.modules.hashPrefix should be a string." + - options.modules.context should be a string." `; exports[`validate options 13`] = ` +"Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. + - options.modules.hashPrefix should be a string." +`; + +exports[`validate options 14`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.modules should be one of these: - boolean | \\"local\\" | \\"global\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } + boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules). Details: * options.modules.getLocalIdent should be one of these: @@ -111,10 +124,10 @@ exports[`validate options 13`] = ` * options.modules.getLocalIdent should be an instance of function." `; -exports[`validate options 14`] = ` +exports[`validate options 15`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.modules should be one of these: - boolean | \\"local\\" | \\"global\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } + boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { mode?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? } -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules). Details: * options.modules.localIdentRegExp should be one of these: @@ -124,20 +137,20 @@ exports[`validate options 14`] = ` * options.modules.localIdentRegExp should be an instance of RegExp." `; -exports[`validate options 15`] = ` +exports[`validate options 16`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.sourceMap should be a boolean. -> Enables/Disables generation of source maps (https://github.com/webpack-contrib/css-loader#sourcemap)." `; -exports[`validate options 16`] = ` +exports[`validate options 17`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.localsConvention should be one of these: \\"asIs\\" | \\"camelCase\\" | \\"camelCaseOnly\\" | \\"dashes\\" | \\"dashesOnly\\" -> Style of exported classnames (https://github.com/webpack-contrib/css-loader#localsconvention)." `; -exports[`validate options 17`] = ` +exports[`validate options 18`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.importLoaders should be one of these: boolean | number @@ -147,13 +160,13 @@ exports[`validate options 17`] = ` * options.importLoaders should be a number." `; -exports[`validate options 18`] = ` +exports[`validate options 19`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options.onlyLocals should be a boolean. -> Export only locals (https://github.com/webpack-contrib/css-loader#onlylocals)." `; -exports[`validate options 19`] = ` +exports[`validate options 20`] = ` "Invalid options object. CSS Loader has been initialised using an options object that does not match the API schema. - options has an unknown property 'unknown'. These properties are valid: object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals? }" diff --git a/test/fixtures/modules/composes.css b/test/fixtures/modules/composes.css index 015963f2..57b3d184 100644 --- a/test/fixtures/modules/composes.css +++ b/test/fixtures/modules/composes.css @@ -143,3 +143,7 @@ a { [class~=v-string] { color:green; } + +.url { + background: url(../url/img.png); +} diff --git a/test/fixtures/modules/pure.css b/test/fixtures/modules/pure.css new file mode 100644 index 00000000..addb88d0 --- /dev/null +++ b/test/fixtures/modules/pure.css @@ -0,0 +1,39 @@ +.foo { + color: red; +} + +h1 .foo-1 { + color: green; +} + +.foo-2 h1 { + color: blue; +} + +.foo-3 h1 .foo-4 { + color: red; +} + +#foo-5 { + color: red; +} + +h1 #foo-6 { + color: green; +} + +#foo-7 h1 { + color: blue; +} + +#foo-8 h1 #foo-9 { + color: red; +} + +.bar-1 :global(.bar) .bar-2 { + color: white; +} + +.baz-3 :local(.baz) .bar-4 { + color: black; +} diff --git a/test/import-option.test.js b/test/import-option.test.js index 0cc4590e..261030a9 100644 --- a/test/import-option.test.js +++ b/test/import-option.test.js @@ -32,29 +32,6 @@ describe('import option', () => { expect(stats.compilation.errors).toMatchSnapshot('errors'); }); - [true, 'local', 'global', false].forEach((modulesValue) => { - it(`true and modules \`${modulesValue}\``, async () => { - const config = { - loader: { options: { import: true, modules: modulesValue } }, - }; - const testId = './import/import.css'; - const stats = await webpack(testId, config); - const { modules } = stats.toJson(); - const module = modules.find((m) => m.id === testId); - - expect(module.source).toMatchSnapshot('module'); - expect(evaluated(module.source, modules)).toMatchSnapshot( - 'module (evaluated)' - ); - expect(normalizeErrors(stats.compilation.warnings)).toMatchSnapshot( - 'warnings' - ); - expect(normalizeErrors(stats.compilation.errors)).toMatchSnapshot( - 'errors' - ); - }); - }); - it('Function', async () => { const config = { loader: { diff --git a/test/modules-option.test.js b/test/modules-option.test.js index cae87404..e9ae5427 100644 --- a/test/modules-option.test.js +++ b/test/modules-option.test.js @@ -47,6 +47,27 @@ describe('modules', () => { }); }); + it('should support "pure" value', async () => { + const config = { + loader: { + options: { + modules: 'pure', + }, + }, + }; + const testId = './modules/pure.css'; + const stats = await webpack(testId, config); + const { modules } = stats.toJson(); + const module = modules.find((m) => m.id === testId); + + expect(module.source).toMatchSnapshot('module'); + expect(evaluated(module.source, modules)).toMatchSnapshot( + 'module (evaluated)' + ); + expect(stats.compilation.warnings).toMatchSnapshot('warnings'); + expect(stats.compilation.errors).toMatchSnapshot('errors'); + }); + it('should respects localIdentName option', async () => { const config = { loader: { diff --git a/test/onlyLocals-option.test.js b/test/onlyLocals-option.test.js index 3b547342..2a75cedc 100644 --- a/test/onlyLocals-option.test.js +++ b/test/onlyLocals-option.test.js @@ -1,7 +1,7 @@ import { webpack } from './helpers'; describe('modules', () => { - it('true (mode: local)', async () => { + it('true', async () => { const config = { loader: { options: { diff --git a/test/runtime/__snapshots__/getUrl.test.js.snap b/test/runtime/__snapshots__/getUrl.test.js.snap index d3f84ed3..58b3bb21 100644 --- a/test/runtime/__snapshots__/getUrl.test.js.snap +++ b/test/runtime/__snapshots__/getUrl.test.js.snap @@ -2,73 +2,73 @@ exports[`escape should escape url 1`] = `true`; -exports[`escape should escape url 2`] = `"image.png"`; +exports[`escape should escape url 2`] = `null`; -exports[`escape should escape url 3`] = `"image.png"`; +exports[`escape should escape url 3`] = `undefined`; exports[`escape should escape url 4`] = `"image.png"`; -exports[`escape should escape url 5`] = `"\\"image other.png\\""`; +exports[`escape should escape url 5`] = `"image.png"`; -exports[`escape should escape url 6`] = `"\\"image other.png\\""`; +exports[`escape should escape url 6`] = `"image.png"`; exports[`escape should escape url 7`] = `"\\"image other.png\\""`; -exports[`escape should escape url 8`] = `"\\"image\\\\\\"other.png\\""`; +exports[`escape should escape url 8`] = `"\\"image other.png\\""`; -exports[`escape should escape url 9`] = `"\\"image\\\\nother.png\\""`; +exports[`escape should escape url 9`] = `"\\"image other.png\\""`; -exports[`escape should escape url 10`] = `"image.png#hash"`; +exports[`escape should escape url 10`] = `"\\"image\\\\\\"other.png\\""`; -exports[`escape should escape url 11`] = `"image.png#hash"`; +exports[`escape should escape url 11`] = `"\\"image\\\\nother.png\\""`; exports[`escape should escape url 12`] = `"image.png#hash"`; -exports[`escape should escape url 13`] = `"\\"image other.png#hash\\""`; +exports[`escape should escape url 13`] = `"image.png#hash"`; -exports[`escape should escape url 14`] = `"\\"image other.png#hash\\""`; +exports[`escape should escape url 14`] = `"image.png#hash"`; exports[`escape should escape url 15`] = `"\\"image other.png#hash\\""`; -exports[`escape should escape url 16`] = `"\\"image other.png\\""`; +exports[`escape should escape url 16`] = `"\\"image other.png#hash\\""`; -exports[`escape should escape url 17`] = `"\\"image other.png\\""`; +exports[`escape should escape url 17`] = `"\\"image other.png#hash\\""`; exports[`escape should escape url 18`] = `"\\"image other.png\\""`; -exports[`escape should escape url 19`] = `"image.png"`; +exports[`escape should escape url 19`] = `"\\"image other.png\\""`; -exports[`escape should escape url 20`] = `"image.png"`; +exports[`escape should escape url 20`] = `"\\"image other.png\\""`; exports[`escape should escape url 21`] = `"image.png"`; -exports[`escape should escape url 22`] = `"\\"image other.png\\""`; +exports[`escape should escape url 22`] = `"image.png"`; -exports[`escape should escape url 23`] = `"\\"image other.png\\""`; +exports[`escape should escape url 23`] = `"image.png"`; exports[`escape should escape url 24`] = `"\\"image other.png\\""`; -exports[`escape should escape url 25`] = `"\\"image\\\\\\"other.png\\""`; +exports[`escape should escape url 25`] = `"\\"image other.png\\""`; -exports[`escape should escape url 26`] = `"\\"image\\\\nother.png\\""`; +exports[`escape should escape url 26`] = `"\\"image other.png\\""`; -exports[`escape should escape url 27`] = `"image.png#hash"`; +exports[`escape should escape url 27`] = `"\\"image\\\\\\"other.png\\""`; -exports[`escape should escape url 28`] = `"image.png#hash"`; +exports[`escape should escape url 28`] = `"\\"image\\\\nother.png\\""`; exports[`escape should escape url 29`] = `"image.png#hash"`; -exports[`escape should escape url 30`] = `"\\"image other.png#hash\\""`; +exports[`escape should escape url 30`] = `"image.png#hash"`; -exports[`escape should escape url 31`] = `"\\"image other.png\\""`; +exports[`escape should escape url 31`] = `"image.png#hash"`; -exports[`escape should escape url 32`] = `"\\"image other.png\\""`; +exports[`escape should escape url 32`] = `"\\"image other.png#hash\\""`; exports[`escape should escape url 33`] = `"\\"image other.png\\""`; -exports[`escape should escape url 34`] = `"\\"image other.png#hash\\""`; +exports[`escape should escape url 34`] = `"\\"image other.png\\""`; -exports[`escape should escape url 35`] = `"\\"image other.png#hash\\""`; +exports[`escape should escape url 35`] = `"\\"image other.png\\""`; exports[`escape should escape url 36`] = `"\\"image other.png#hash\\""`; @@ -81,3 +81,7 @@ exports[`escape should escape url 39`] = `"\\"image other.png#hash\\""`; exports[`escape should escape url 40`] = `"\\"image other.png#hash\\""`; exports[`escape should escape url 41`] = `"\\"image other.png#hash\\""`; + +exports[`escape should escape url 42`] = `"\\"image other.png#hash\\""`; + +exports[`escape should escape url 43`] = `"\\"image other.png#hash\\""`; diff --git a/test/runtime/getUrl.test.js b/test/runtime/getUrl.test.js index aecf8d26..14ca22ab 100644 --- a/test/runtime/getUrl.test.js +++ b/test/runtime/getUrl.test.js @@ -3,6 +3,9 @@ const getUrl = require('../../src/runtime/getUrl'); describe('escape', () => { it('should escape url', () => { expect(getUrl(true)).toMatchSnapshot(); + expect(getUrl(null)).toMatchSnapshot(); + // eslint-disable-next-line no-undefined + expect(getUrl(undefined)).toMatchSnapshot(); expect(getUrl('image.png')).toMatchSnapshot(); expect(getUrl('"image.png"')).toMatchSnapshot(); expect(getUrl("'image.png'")).toMatchSnapshot(); diff --git a/test/url-option.test.js b/test/url-option.test.js index a04faa1f..d716d182 100644 --- a/test/url-option.test.js +++ b/test/url-option.test.js @@ -32,29 +32,6 @@ describe('url option', () => { expect(stats.compilation.errors).toMatchSnapshot('errors'); }); - [true, 'local', 'global', false].forEach((modulesValue) => { - it(`true and modules \`${modulesValue}\``, async () => { - const config = { - loader: { options: { modules: modulesValue } }, - }; - const testId = './url/url.css'; - const stats = await webpack(testId, config); - const { modules } = stats.toJson(); - const module = modules.find((m) => m.id === testId); - - expect(module.source).toMatchSnapshot('module'); - expect(evaluated(module.source, modules)).toMatchSnapshot( - 'module (evaluated)' - ); - expect(normalizeErrors(stats.compilation.warnings)).toMatchSnapshot( - 'warnings' - ); - expect(normalizeErrors(stats.compilation.errors)).toMatchSnapshot( - 'errors' - ); - }); - }); - it('Function', async () => { const config = { loader: { diff --git a/test/validate-options.test.js b/test/validate-options.test.js index 1c0dd7a2..1ef621e9 100644 --- a/test/validate-options.test.js +++ b/test/validate-options.test.js @@ -34,11 +34,14 @@ it('validate options', () => { expect(() => validate({ modules: false })).not.toThrow(); expect(() => validate({ modules: 'global' })).not.toThrow(); expect(() => validate({ modules: 'local' })).not.toThrow(); + expect(() => validate({ modules: 'pure' })).not.toThrow(); expect(() => validate({ modules: { mode: 'local' } })).not.toThrow(); expect(() => validate({ modules: { mode: 'global' } })).not.toThrow(); + expect(() => validate({ modules: { mode: 'pure' } })).not.toThrow(); expect(() => validate({ modules: 'true' })).toThrowErrorMatchingSnapshot(); expect(() => validate({ modules: 'globals' })).toThrowErrorMatchingSnapshot(); expect(() => validate({ modules: 'locals' })).toThrowErrorMatchingSnapshot(); + expect(() => validate({ modules: 'pures' })).toThrowErrorMatchingSnapshot(); expect(() => validate({ modules: { mode: true } }) ).toThrowErrorMatchingSnapshot();