File tree Expand file tree Collapse file tree 2 files changed +8
-8
lines changed
packages/svelte/src/compiler Expand file tree Collapse file tree 2 files changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -113,10 +113,12 @@ const css_visitors = {
113
113
114
114
node . metadata . rule = context . state . rule ;
115
115
116
- node . metadata . used || = node . children . every (
116
+ node . metadata . is_global = node . children . every (
117
117
( { metadata } ) => metadata . is_global || metadata . is_global_like
118
118
) ;
119
119
120
+ node . metadata . used ||= node . metadata . is_global ;
121
+
120
122
if (
121
123
node . metadata . rule ?. metadata . parent_rule &&
122
124
node . children [ 0 ] ?. selectors [ 0 ] ?. type === 'NestingSelector'
@@ -262,13 +264,10 @@ const css_visitors = {
262
264
// visit selector list first, to populate child selector metadata
263
265
context . visit ( node . prelude , state ) ;
264
266
265
- node . metadata . has_global_selectors = node . prelude . children . some ( ( selector ) =>
266
- selector . children . every ( ( { metadata } ) => metadata . is_global || metadata . is_global_like )
267
- ) ;
268
-
269
- node . metadata . has_local_selectors = node . prelude . children . some ( ( selector ) =>
270
- selector . children . some ( ( { metadata } ) => ! metadata . is_global && ! metadata . is_global_like )
271
- ) ;
267
+ for ( const selector of node . prelude . children ) {
268
+ node . metadata . has_global_selectors ||= selector . metadata . is_global ;
269
+ node . metadata . has_local_selectors ||= ! selector . metadata . is_global ;
270
+ }
272
271
273
272
// if this rule has a ComplexSelector whose RelativeSelector children are all
274
273
// `:global(...)`, and the rule contains declarations (rather than just
Original file line number Diff line number Diff line change @@ -68,6 +68,7 @@ export namespace _CSS {
68
68
/** @internal */
69
69
metadata : {
70
70
rule : null | Rule ;
71
+ is_global : boolean ;
71
72
/** True if this selector applies to an element. For global selectors, this is defined in css-analyze, for others in css-prune while scoping */
72
73
used : boolean ;
73
74
} ;
You can’t perform that action at this time.
0 commit comments