Home / Function/ prune() — svelte Function Reference

prune() — svelte Function Reference

Architecture documentation for the prune() function in css-prune.js from the svelte codebase.

Function javascript Compiler Analyzer calls 2 called by 1

Entity Profile

Dependency Diagram

graph TD
  22029545_f623_0033_1188_2848353eb5cc["prune()"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8["css-prune.js"]
  22029545_f623_0033_1188_2848353eb5cc -->|defined in| cb1bf043_dade_7352_cc2b_976ffa2968d8
  78a6ba9a_5003_f569_a638_76e4f1977809["analyze_component()"]
  78a6ba9a_5003_f569_a638_76e4f1977809 -->|calls| 22029545_f623_0033_1188_2848353eb5cc
  93e4e2a8_d367_c800_840d_5097d02af978["get_relative_selectors()"]
  22029545_f623_0033_1188_2848353eb5cc -->|calls| 93e4e2a8_d367_c800_840d_5097d02af978
  c89a58ea_32ad_64b6_f48c_d266ac47f008["apply_selector()"]
  22029545_f623_0033_1188_2848353eb5cc -->|calls| c89a58ea_32ad_64b6_f48c_d266ac47f008
  style 22029545_f623_0033_1188_2848353eb5cc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js lines 86–116

export function prune(stylesheet, element) {
	walk(/** @type {Compiler.AST.CSS.Node} */ (stylesheet), null, {
		Rule(node, context) {
			if (node.metadata.is_global_block) {
				context.visit(node.prelude);
			} else {
				context.next();
			}
		},
		ComplexSelector(node) {
			const selectors = get_relative_selectors(node);

			seen.clear();

			if (
				apply_selector(
					selectors,
					/** @type {Compiler.AST.CSS.Rule} */ (node.metadata.rule),
					element,
					BACKWARD
				)
			) {
				node.metadata.used = true;
			}

			// note: we don't call context.next() here, we only recurse into
			// selectors that don't belong to rules (i.e. inside `:is(...)` etc)
			// when we encounter them below
		}
	});
}

Domain

Subdomains

Frequently Asked Questions

What does prune() do?
prune() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js.
Where is prune() defined?
prune() is defined in packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js at line 86.
What does prune() call?
prune() calls 2 function(s): apply_selector, get_relative_selectors.
What calls prune()?
prune() is called by 1 function(s): analyze_component.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free