Skip to content

Commit 537ea54

Browse files
committed
fix: allow global next to & for nesting
1 parent d1f5d5d commit 537ea54

File tree

6 files changed

+33
-0
lines changed

6 files changed

+33
-0
lines changed

.changeset/selfish-panthers-add.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"svelte": patch
3+
---
4+
5+
fix: allow global next to `&` for nesting

packages/svelte/src/compiler/phases/3-transform/css/index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,12 @@ const visitors = {
239239
}
240240

241241
if (relative_selector.selectors.some((s) => s.type === 'NestingSelector')) {
242+
// clean every global selector attached to Nesting before bailing out
243+
for (const selector of relative_selector.selectors) {
244+
if (selector.type === 'PseudoClassSelector' && selector.name === 'global') {
245+
remove_global_pseudo_class(selector);
246+
}
247+
}
242248
continue;
243249
}
244250

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { test } from '../../test';
2+
3+
export default test({
4+
warnings: []
5+
});
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
div.svelte-xyz {
2+
&.class{
3+
color: red;
4+
}
5+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<div class="svelte-xyz">
2+
</div>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<style>
2+
div {
3+
&:global(.class){
4+
color: red;
5+
}
6+
}
7+
</style>
8+
9+
<div>
10+
</div>

0 commit comments

Comments
 (0)