Home / File/ css-prune.js — svelte Source File

css-prune.js — svelte Source File

Architecture documentation for css-prune.js, a javascript file in the svelte codebase. 10 imports, 1 dependents.

File javascript Compiler Analyzer 10 imports 1 dependents 20 functions

Entity Profile

Dependency Diagram

graph LR
  cb1bf043_dade_7352_cc2b_976ffa2968d8["css-prune.js"]
  ad593fd6_3727_04c3_f22e_c845647cea4d["utils.js"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> ad593fd6_3727_04c3_f22e_c845647cea4d
  a430a35e_5924_1332_76a5_38935337865e["get_parent_rules"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> a430a35e_5924_1332_76a5_38935337865e
  28a76788_b161_f034_e658_6787237c5c8a["get_possible_values"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> 28a76788_b161_f034_e658_6787237c5c8a
  35596639_b906_6d9c_da50_4cb4a3a4a0b3["is_outer_global"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> 35596639_b906_6d9c_da50_4cb4a3a4a0b3
  de2c7a90_dcc5_7509_ecb3_b33884f394c9["is_unscoped_pseudo_class"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> de2c7a90_dcc5_7509_ecb3_b33884f394c9
  ce051dbd_4cf1_f117_d66e_12cfa122de37["patterns.js"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> ce051dbd_4cf1_f117_d66e_12cfa122de37
  0c5c28a7_226d_4e7c_e75e_0853c0a9fc2c["ast.js"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> 0c5c28a7_226d_4e7c_e75e_0853c0a9fc2c
  f6625393_617b_8f3b_aaa5_b87527fde52f["get_attribute_chunks"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> f6625393_617b_8f3b_aaa5_b87527fde52f
  653284b2_68fd_eee3_0064_918a4c065d4a["is_text_attribute"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> 653284b2_68fd_eee3_0064_918a4c065d4a
  c49ac9f8_b355_57a2_8d10_b5fd945c6144["zimmerframe"]
  cb1bf043_dade_7352_cc2b_976ffa2968d8 --> c49ac9f8_b355_57a2_8d10_b5fd945c6144
  4aa8a188_84d4_0274_ed83_cac0ab1d3572["index.js"]
  4aa8a188_84d4_0274_ed83_cac0ab1d3572 --> cb1bf043_dade_7352_cc2b_976ffa2968d8
  style cb1bf043_dade_7352_cc2b_976ffa2968d8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import * as Compiler from '#compiler' */
import { walk } from 'zimmerframe';
import {
	get_parent_rules,
	get_possible_values,
	is_outer_global,
	is_unscoped_pseudo_class
} from './utils.js';
import { regex_ends_with_whitespace, regex_starts_with_whitespace } from '../../patterns.js';
import { get_attribute_chunks, is_text_attribute } from '../../../utils/ast.js';

/** @typedef {typeof NODE_PROBABLY_EXISTS | typeof NODE_DEFINITELY_EXISTS} NodeExistsValue */
/** @typedef {typeof FORWARD | typeof BACKWARD} Direction */

const NODE_PROBABLY_EXISTS = 0;
const NODE_DEFINITELY_EXISTS = 1;
const FORWARD = 0;
const BACKWARD = 1;

const whitelist_attribute_selector = new Map([
	['details', ['open']],
	['dialog', ['open']]
]);

/** @type {Compiler.AST.CSS.Combinator} */
const descendant_combinator = {
	type: 'Combinator',
	name: ' ',
	start: -1,
	end: -1
};

/** @type {Compiler.AST.CSS.RelativeSelector} */
const nesting_selector = {
	type: 'RelativeSelector',
	start: -1,
	end: -1,
	combinator: null,
	selectors: [
		{
			type: 'NestingSelector',
			name: '&',
			start: -1,
			end: -1
		}
	],
	metadata: {
		is_global: false,
		is_global_like: false,
		scoped: false
	}
};

/** @type {Compiler.AST.CSS.RelativeSelector} */
const any_selector = {
	type: 'RelativeSelector',
	start: -1,
	end: -1,
	combinator: null,
	selectors: [
// ... (1101 more lines)

Domain

Subdomains

Frequently Asked Questions

What does css-prune.js do?
css-prune.js is a source file in the svelte codebase, written in javascript. It belongs to the Compiler domain, Analyzer subdomain.
What functions are defined in css-prune.js?
css-prune.js defines 20 function(s): add_to_map, apply_combinator, apply_selector, attribute_matches, get_ancestor_elements, get_descendant_elements, get_element_parent, get_possible_element_siblings, get_possible_nested_siblings, get_relative_selectors, and 10 more.
What does css-prune.js depend on?
css-prune.js imports 10 module(s): ast.js, get_attribute_chunks, get_parent_rules, get_possible_values, is_outer_global, is_text_attribute, is_unscoped_pseudo_class, patterns.js, and 2 more.
What files import css-prune.js?
css-prune.js is imported by 1 file(s): index.js.
Where is css-prune.js in the architecture?
css-prune.js is located at packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js (domain: Compiler, subdomain: Analyzer, directory: packages/svelte/src/compiler/phases/2-analyze/css).

Analyze Your Own Codebase

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

Try Supermodel Free