Home / File/ Component.js — svelte Source File

Component.js — svelte Source File

Architecture documentation for Component.js, a javascript file in the svelte codebase. 2 imports, 1 dependents.

File javascript Compiler Transformer 2 imports 1 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  4d5d0596_8489_f0a8_d0ad_a3d9a89ca7ed["Component.js"]
  057ad110_57ab_942c_4f8d_5c2f711bef54["component.js"]
  4d5d0596_8489_f0a8_d0ad_a3d9a89ca7ed --> 057ad110_57ab_942c_4f8d_5c2f711bef54
  c2e078e7_8b02_06d2_5983_59b1af376889["visit_component"]
  4d5d0596_8489_f0a8_d0ad_a3d9a89ca7ed --> c2e078e7_8b02_06d2_5983_59b1af376889
  4aa8a188_84d4_0274_ed83_cac0ab1d3572["index.js"]
  4aa8a188_84d4_0274_ed83_cac0ab1d3572 --> 4d5d0596_8489_f0a8_d0ad_a3d9a89ca7ed
  style 4d5d0596_8489_f0a8_d0ad_a3d9a89ca7ed fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { AST } from '#compiler' */
/** @import { Context } from '../types' */
import { visit_component } from './shared/component.js';

/**
 * @param {AST.Component} node
 * @param {Context} context
 */
export function Component(node, context) {
	const binding = context.state.scope.get(
		node.name.includes('.') ? node.name.slice(0, node.name.indexOf('.')) : node.name
	);

	node.metadata.dynamic =
		context.state.analysis.runes && // Svelte 4 required you to use svelte:component to switch components
		binding !== null &&
		(binding.kind !== 'normal' || node.name.includes('.'));

	if (binding) {
		node.metadata.expression.has_state = node.metadata.dynamic;
		node.metadata.expression.dependencies.add(binding);
		node.metadata.expression.references.add(binding);
	}

	visit_component(node, context);
}

Domain

Subdomains

Functions

Frequently Asked Questions

What does Component.js do?
Component.js is a source file in the svelte codebase, written in javascript. It belongs to the Compiler domain, Transformer subdomain.
What functions are defined in Component.js?
Component.js defines 1 function(s): Component.
What does Component.js depend on?
Component.js imports 2 module(s): component.js, visit_component.
What files import Component.js?
Component.js is imported by 1 file(s): index.js.
Where is Component.js in the architecture?
Component.js is located at packages/svelte/src/compiler/phases/2-analyze/visitors/Component.js (domain: Compiler, subdomain: Transformer, directory: packages/svelte/src/compiler/phases/2-analyze/visitors).

Analyze Your Own Codebase

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

Try Supermodel Free