Skip to content

Commit ae0f685

Browse files
committed
chore: update
1 parent 6f0f944 commit ae0f685

File tree

1 file changed

+7
-14
lines changed

1 file changed

+7
-14
lines changed

packages/compiler-sfc/src/style/pluginScoped.ts

+7-14
Original file line numberDiff line numberDiff line change
@@ -134,23 +134,16 @@ function rewriteSelector(
134134
last = ss
135135
})
136136

137-
// if css nesting is used, we need to insert a nesting combinator
138-
// before the ::v-deep node
137+
// if css nesting is used, we need to insert a nesting selector
138+
// before the ::v-deep's inner selector.
139139
// .foo { ::v-deep(.bar) } -> .foo { &[xxxxxxx] .bar }
140140
const isNestedRule = rule.parent && rule.parent.type === 'rule'
141141
if (isNestedRule && n.parent) {
142-
let hasNestingCombinator = false
143-
let index = n.parent.index(n) - 1
144-
while (index >= 0) {
145-
const prev = n.parent.at(index)
146-
if (!prev) break
147-
if (prev.type === 'nesting') {
148-
hasNestingCombinator = true
149-
break
150-
}
151-
index--
152-
}
153-
if (!hasNestingCombinator) {
142+
const hasNestingSelector = n.parent.nodes
143+
.slice(0, n.parent.index(n))
144+
.some(node => node.type === 'nesting')
145+
146+
if (!hasNestingSelector) {
154147
node = selectorParser.nesting()
155148
selector.insertBefore(n, node)
156149
}

0 commit comments

Comments
 (0)