Home / Function/ framework2tsx() — astro Function Reference

framework2tsx() — astro Function Reference

Architecture documentation for the framework2tsx() function in utils.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  15e8cb4e_2c8b_a58f_7a91_50841c8f74d1["framework2tsx()"]
  6db4d7db_edbb_c18d_7ff5_decb13f1c284["utils.ts"]
  15e8cb4e_2c8b_a58f_7a91_50841c8f74d1 -->|defined in| 6db4d7db_edbb_c18d_7ff5_decb13f1c284
  80d479e1_14bf_c8a1_058f_a3221a7da169["importVueIntegration()"]
  15e8cb4e_2c8b_a58f_7a91_50841c8f74d1 -->|calls| 80d479e1_14bf_c8a1_058f_a3221a7da169
  f3e7462c_8189_532c_8f10_1698b2251467["importSvelteIntegration()"]
  15e8cb4e_2c8b_a58f_7a91_50841c8f74d1 -->|calls| f3e7462c_8189_532c_8f10_1698b2251467
  9bb1c1ce_4618_e68d_330b_fc8221783511["classNameFromFilename()"]
  15e8cb4e_2c8b_a58f_7a91_50841c8f74d1 -->|calls| 9bb1c1ce_4618_e68d_330b_fc8221783511
  5f6a40f0_a897_8297_c98a_2c0e5e90c306["patchTSX()"]
  15e8cb4e_2c8b_a58f_7a91_50841c8f74d1 -->|calls| 5f6a40f0_a897_8297_c98a_2c0e5e90c306
  style 15e8cb4e_2c8b_a58f_7a91_50841c8f74d1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/language-tools/language-server/src/core/utils.ts lines 5–36

export function framework2tsx(
	filePath: string,
	sourceCode: string,
	framework: 'vue' | 'svelte',
): VirtualCode {
	const integrationEditorEntrypoint =
		framework === 'vue' ? importVueIntegration(filePath) : importSvelteIntegration(filePath);

	if (!integrationEditorEntrypoint) {
		const EMPTY_FILE = '';
		return getVirtualCode(EMPTY_FILE);
	}

	const className = classNameFromFilename(filePath);
	const tsx = patchTSX(integrationEditorEntrypoint.toTSX(sourceCode, className), filePath);

	return getVirtualCode(tsx);

	function getVirtualCode(content: string): VirtualCode {
		return {
			id: 'tsx',
			languageId: 'typescript',
			snapshot: {
				getText: (start, end) => content.substring(start, end),
				getLength: () => content.length,
				getChangeRange: () => undefined,
			},
			mappings: [],
			embeddedCodes: [],
		};
	}
}

Domain

Subdomains

Frequently Asked Questions

What does framework2tsx() do?
framework2tsx() is a function in the astro codebase, defined in packages/language-tools/language-server/src/core/utils.ts.
Where is framework2tsx() defined?
framework2tsx() is defined in packages/language-tools/language-server/src/core/utils.ts at line 5.
What does framework2tsx() call?
framework2tsx() calls 4 function(s): classNameFromFilename, importSvelteIntegration, importVueIntegration, patchTSX.

Analyze Your Own Codebase

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

Try Supermodel Free