From 34d02995ed2ed786610499eed467b12c19ac44b7 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 19 Feb 2025 08:40:59 +0800 Subject: [PATCH] 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 b76414364d..8a1ea77ee7 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 d0aaddd767..5573289f16 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 ( -- 2.47.2