diff --git a/src/index.js b/src/index.js index a3a68d4b..8aeca76b 100644 --- a/src/index.js +++ b/src/index.js @@ -62,11 +62,11 @@ export default async function loader(content, map, meta) { if (shouldUseImportPlugin(options)) { const resolver = this.getResolve({ + conditionNames: ['style'], + extensions: ['.css'], mainFields: ['css', 'style', 'main', '...'], mainFiles: ['index', '...'], - extensions: ['.css'], restrictions: [/\.css$/i], - conditionNames: ['style'], }); plugins.push( @@ -90,8 +90,9 @@ export default async function loader(content, map, meta) { if (shouldUseURLPlugin(options)) { const urlResolver = this.getResolve({ - mainFields: ['asset'], conditionNames: ['asset'], + mainFields: ['asset'], + mainFiles: [], extensions: [], }); @@ -113,10 +114,10 @@ export default async function loader(content, map, meta) { if (needUseModulesPlugins || options.icss) { const icssResolver = this.getResolve({ + conditionNames: ['style'], + extensions: [], mainFields: ['css', 'style', 'main', '...'], mainFiles: ['index', '...'], - extensions: [], - conditionNames: ['style'], }); plugins.push( diff --git a/src/plugins/postcss-import-parser.js b/src/plugins/postcss-import-parser.js index 9fc64ce3..399a06a7 100644 --- a/src/plugins/postcss-import-parser.js +++ b/src/plugins/postcss-import-parser.js @@ -108,16 +108,16 @@ export default postcss.plugin(pluginName, (options) => async (css, result) => { let normalizedUrl = url; let prefix = ''; - const queryParts = normalizedUrl.split('!'); - - if (queryParts.length > 1) { - normalizedUrl = queryParts.pop(); - prefix = queryParts.join('!'); - } - const isRequestable = isUrlRequestable(normalizedUrl); if (isRequestable) { + const queryParts = normalizedUrl.split('!'); + + if (queryParts.length > 1) { + normalizedUrl = queryParts.pop(); + prefix = queryParts.join('!'); + } + normalizedUrl = normalizeUrl(normalizedUrl, isStringValue); // Empty url after normalize - `@import '\ @@ -149,16 +149,17 @@ export default postcss.plugin(pluginName, (options) => async (css, result) => { if (isRequestable) { const request = requestify(normalizedUrl, options.rootContext); - const doResolve = async () => { - const { resolver, context } = options; - const resolvedUrl = await resolveRequests(resolver, context, [ - ...new Set([request, normalizedUrl]), - ]); - return { url: resolvedUrl, media, prefix, isRequestable }; - }; + tasks.push( + (async () => { + const { resolver, context } = options; + const resolvedUrl = await resolveRequests(resolver, context, [ + ...new Set([request, normalizedUrl]), + ]); - tasks.push(doResolve()); + return { url: resolvedUrl, media, prefix, isRequestable }; + })() + ); } else { tasks.push({ url, media, prefix, isRequestable }); } diff --git a/src/plugins/postcss-url-parser.js b/src/plugins/postcss-url-parser.js index 491eb181..de431681 100644 --- a/src/plugins/postcss-url-parser.js +++ b/src/plugins/postcss-url-parser.js @@ -169,16 +169,17 @@ export default postcss.plugin(pluginName, (options) => async (css, result) => { hash += hashOrQuery ? `#${hashOrQuery}` : ''; const request = requestify(pathname, options.rootContext); - const doResolve = async () => { - const { resolver, context } = options; - const resolvedUrl = await resolveRequests(resolver, context, [ - ...new Set([request, normalizedUrl]), - ]); - return { url: resolvedUrl, prefix, hash, parsedResult }; - }; + tasks.push( + (async () => { + const { resolver, context } = options; + const resolvedUrl = await resolveRequests(resolver, context, [ + ...new Set([request, normalizedUrl]), + ]); - tasks.push(doResolve()); + return { url: resolvedUrl, prefix, hash, parsedResult }; + })() + ); } const results = await Promise.all(tasks); @@ -230,5 +231,7 @@ export default postcss.plugin(pluginName, (options) => async (css, result) => { decl.value = parsed.toString(); } + console.timeEnd('URL'); + return Promise.resolve(); });