Home / File/ index.js — svelte Source File

index.js — svelte Source File

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

File javascript Compiler Transformer 15 imports 2 dependents 1 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  67d7170b_725b_33cc_868d_fad6ed435252["index.js"]
  dfa8063d_386c_c684_c67f_bfc5fd540f78["fragment.js"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> dfa8063d_386c_c684_c67f_bfc5fd540f78
  41119749_48cb_5746_de62_4d8dc90a3c99["fragment"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> 41119749_48cb_5746_de62_4d8dc90a3c99
  ce051dbd_4cf1_f117_d66e_12cfa122de37["patterns.js"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> ce051dbd_4cf1_f117_d66e_12cfa122de37
  495501a4_a342_6a4d_ac11_e3e2fee8b218["errors.js"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> 495501a4_a342_6a4d_ac11_e3e2fee8b218
  a146f6ac_0088_8736_b6ce_318f9f115170["e"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> a146f6ac_0088_8736_b6ce_318f9f115170
  049b365c_2da8_5f0c_8237_3b3a21a0c4bd["create.js"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> 049b365c_2da8_5f0c_8237_3b3a21a0c4bd
  ba32e941_2eb9_1bb2_8ee0_1eca52813eb8["create_fragment"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> ba32e941_2eb9_1bb2_8ee0_1eca52813eb8
  09b07d2e_2631_ce6a_e899_0be23871c668["options.js"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> 09b07d2e_2631_ce6a_e899_0be23871c668
  6a48e790_0ca5_6fae_197c_7c93c49d9b66["read_options"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> 6a48e790_0ca5_6fae_197c_7c93c49d9b66
  2aa63f4e_82c9_33e3_ac6c_5f3d46250522["utils.js"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> 2aa63f4e_82c9_33e3_ac6c_5f3d46250522
  a53788f3_4288_6c23_bd50_e754a22ca567["is_reserved"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> a53788f3_4288_6c23_bd50_e754a22ca567
  f738fdc4_6546_2e7b_cfe1_49e3cb800752["special-element.js"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> f738fdc4_6546_2e7b_cfe1_49e3cb800752
  cdcd4a9e_8be5_ea03_69d9_c5b2dd208707["disallow_children"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> cdcd4a9e_8be5_ea03_69d9_c5b2dd208707
  62f818c8_e890_17ed_5ec1_92f953d4a7a6["state.js"]
  67d7170b_725b_33cc_868d_fad6ed435252 --> 62f818c8_e890_17ed_5ec1_92f953d4a7a6
  style 67d7170b_725b_33cc_868d_fad6ed435252 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { AST } from '#compiler' */
/** @import { Location } from 'locate-character' */
/** @import * as ESTree from 'estree' */
// @ts-expect-error acorn type definitions are borked in the release we use
import { isIdentifierStart, isIdentifierChar } from 'acorn';
import fragment from './state/fragment.js';
import { regex_whitespace } from '../patterns.js';
import * as e from '../../errors.js';
import { create_fragment } from './utils/create.js';
import read_options from './read/options.js';
import { is_reserved } from '../../../utils.js';
import { disallow_children } from '../2-analyze/visitors/shared/special-element.js';
import * as state from '../../state.js';

const regex_position_indicator = / \(\d+:\d+\)$/;

const regex_lang_attribute =
	/<!--[^]*?-->|<script\s+(?:[^>]*|(?:[^=>'"/]+=(?:"[^"]*"|'[^']*'|[^>\s]+)\s+)*)lang=(["'])?([^"' >]+)\1[^>]*>/g;

export class Parser {
	/**
	 * @readonly
	 * @type {string}
	 */
	template;

	/**
	 * Whether or not we're in loose parsing mode, in which
	 * case we try to continue parsing as much as possible
	 * @type {boolean}
	 */
	loose;

	/** */
	index = 0;

	/**
	 * Creates a minimal parser instance for CSS-only parsing.
	 * Skips Svelte component parsing setup.
	 * @param {string} source
	 * @returns {Parser}
	 */
	static forCss(source) {
		const parser = Object.create(Parser.prototype);
		parser.template = source;
		parser.index = 0;
		parser.loose = false;
		return parser;
	}

	/** Whether we're parsing in TypeScript mode */
	ts = false;

	/** @type {AST.TemplateNode[]} */
	stack = [];

	/** @type {AST.Fragment[]} */
	fragments = [];

	/** @type {AST.Root} */
// ... (267 more lines)

Domain

Subdomains

Functions

Classes

Frequently Asked Questions

What does index.js do?
index.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 index.js?
index.js defines 1 function(s): parse.
What does index.js depend on?
index.js imports 15 module(s): acorn, create.js, create_fragment, disallow_children, e, errors.js, fragment, fragment.js, and 7 more.
What files import index.js?
index.js is imported by 2 file(s): index.js, index.js.
Where is index.js in the architecture?
index.js is located at packages/svelte/src/compiler/phases/1-parse/index.js (domain: Compiler, subdomain: Transformer, directory: packages/svelte/src/compiler/phases/1-parse).

Analyze Your Own Codebase

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

Try Supermodel Free