mirror of https://github.com/sveltejs/svelte
Fix: consider component and its snippets during css pruning (#15630)
* fix: consider component and its snippets during css pruning * add changeset * fix: avoid iterator.map --------- Co-authored-by: 7nik <kifiranet@gmail.com>pull/15659/head
parent
c822f9b0bf
commit
e035e2838f
@ -0,0 +1,5 @@
|
||||
---
|
||||
'svelte': patch
|
||||
---
|
||||
|
||||
fix: better consider component and its snippets during css pruning
|
@ -0,0 +1,5 @@
|
||||
<script>
|
||||
let { foo } = $props();
|
||||
</script>
|
||||
|
||||
{@render foo()}
|
@ -0,0 +1,20 @@
|
||||
import { test } from '../../test';
|
||||
|
||||
export default test({
|
||||
warnings: [
|
||||
{
|
||||
code: 'css_unused_selector',
|
||||
message: 'Unused CSS selector "n + m"',
|
||||
end: {
|
||||
character: 468,
|
||||
column: 6,
|
||||
line: 36
|
||||
},
|
||||
start: {
|
||||
character: 463,
|
||||
column: 1,
|
||||
line: 36
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
@ -0,0 +1,8 @@
|
||||
x.svelte-xyz + y:where(.svelte-xyz) { color: green; }
|
||||
x.svelte-xyz + v:where(.svelte-xyz) { color: green; }
|
||||
x.svelte-xyz + z:where(.svelte-xyz) { color: green; }
|
||||
y.svelte-xyz + z:where(.svelte-xyz) { color: green; }
|
||||
v.svelte-xyz + z:where(.svelte-xyz) { color: green; }
|
||||
.component + z.svelte-xyz { color: green; }
|
||||
|
||||
/* (unused) n + m { color: red; }*/
|
@ -0,0 +1,37 @@
|
||||
<script>
|
||||
import Child from './Child.svelte';
|
||||
</script>
|
||||
|
||||
<div>
|
||||
<x></x>
|
||||
<Child>
|
||||
<y></y>
|
||||
{#snippet foo()}
|
||||
<v></v>
|
||||
{/snippet}
|
||||
</Child>
|
||||
<z></z>
|
||||
|
||||
<Child>
|
||||
<span>
|
||||
<n></n>
|
||||
</span>
|
||||
{#snippet foo()}
|
||||
<span>
|
||||
<n></n>
|
||||
</span>
|
||||
{/snippet}
|
||||
</Child>
|
||||
<m></m>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
x + y { color: green; }
|
||||
x + v { color: green; }
|
||||
x + z { color: green; }
|
||||
y + z { color: green; }
|
||||
v + z { color: green; }
|
||||
:global(.component) + z { color: green; }
|
||||
|
||||
n + m { color: red; }
|
||||
</style>
|
Loading…
Reference in new issue