From 7d0bc2691f0291c3a9b0df992554f18bf85c8892 Mon Sep 17 00:00:00 2001 From: ikeq Date: Tue, 29 Jun 2021 12:41:33 +0800 Subject: [PATCH] fix(css): skip comma when matching css url (#4004) --- packages/vite/src/node/plugins/css.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index d53e3953e53894..1f123e8de1de90 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -760,7 +760,7 @@ type CssUrlReplacer = ( ) => string | Promise // https://drafts.csswg.org/css-syntax-3/#identifier-code-point export const cssUrlRE = - /(?:^|[^\w\-\u0080-\uffff])url\(\s*('[^']+'|"[^"]+"|[^'")]+)\s*\)/ + /(?<=^|[^\w\-\u0080-\uffff])url\(\s*('[^']+'|"[^"]+"|[^'")]+)\s*\)/ const cssImageSetRE = /image-set\(([^)]+)\)/ const UrlRewritePostcssPlugin: Postcss.PluginCreator<{ @@ -837,9 +837,7 @@ async function doUrlReplace( return matched } - // #3926 - const initialComma = matched[0] === ',' ? ',' : '' - return `${initialComma}url(${wrap}${await replacer(rawUrl)}${wrap})` + return `url(${wrap}${await replacer(rawUrl)}${wrap})` } let CleanCSS: any