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