From 34d02995ed2ed786610499eed467b12c19ac44b7 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 19 Feb 2025 08:40:59 +0800 Subject: [PATCH 1/2] fix(compiler-sfc): properly rewrite universal selector scope --- packages/compiler-sfc/__tests__/compileStyle.spec.ts | 2 +- packages/compiler-sfc/src/style/pluginScoped.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/compiler-sfc/__tests__/compileStyle.spec.ts b/packages/compiler-sfc/__tests__/compileStyle.spec.ts index b76414364dc..8a1ea77ee73 100644 --- a/packages/compiler-sfc/__tests__/compileStyle.spec.ts +++ b/packages/compiler-sfc/__tests__/compileStyle.spec.ts @@ -489,7 +489,7 @@ describe('SFC style preprocessors', () => { }" `) expect(compileScoped(`.foo * { color: red; }`)).toMatchInlineSnapshot(` - ".foo[data-v-test] * { color: red; + ".foo *[data-v-test] { color: red; }" `) }) diff --git a/packages/compiler-sfc/src/style/pluginScoped.ts b/packages/compiler-sfc/src/style/pluginScoped.ts index d0aaddd7676..5573289f160 100644 --- a/packages/compiler-sfc/src/style/pluginScoped.ts +++ b/packages/compiler-sfc/src/style/pluginScoped.ts @@ -216,8 +216,12 @@ function rewriteSelector( return false } } - // .foo * -> .foo[xxxxxxx] * - if (node) return + // .foo * -> .foo *[xxxxxxx] + if (node) { + node = n + shouldInject = true + return + } } if ( From 547b870da336180d8669fef17d5d0771d5531172 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 19 Feb 2025 08:47:29 +0800 Subject: [PATCH 2/2] chore: update --- packages/compiler-sfc/src/style/pluginScoped.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/compiler-sfc/src/style/pluginScoped.ts b/packages/compiler-sfc/src/style/pluginScoped.ts index 5573289f160..0fee50fe4e5 100644 --- a/packages/compiler-sfc/src/style/pluginScoped.ts +++ b/packages/compiler-sfc/src/style/pluginScoped.ts @@ -219,7 +219,6 @@ function rewriteSelector( // .foo * -> .foo *[xxxxxxx] if (node) { node = n - shouldInject = true return } }