From 8f02f1e8e425ef0603358db5e4e7cadcaf9b1f51 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 21 Nov 2024 13:27:58 -0500 Subject: [PATCH] add ElementWithPath interface --- packages/svelte/src/compiler/phases/types.d.ts | 7 ++----- packages/svelte/src/compiler/types/template.d.ts | 5 +++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/svelte/src/compiler/phases/types.d.ts b/packages/svelte/src/compiler/phases/types.d.ts index 0476f2929b..7f9babc952 100644 --- a/packages/svelte/src/compiler/phases/types.d.ts +++ b/packages/svelte/src/compiler/phases/types.d.ts @@ -1,4 +1,4 @@ -import type { AST, Binding, Css, SvelteNode, TemplateNode } from '#compiler'; +import type { AST, Binding, Css, ElementWithPath, SvelteNode } from '#compiler'; import type { Identifier, LabeledStatement, Program, VariableDeclaration } from 'estree'; import type { Scope, ScopeRoot } from './scope.js'; @@ -37,10 +37,7 @@ export interface ComponentAnalysis extends Analysis { instance: Js; template: Template; /** Used for CSS pruning and scoping */ - elements: Array<{ - node: AST.RegularElement | AST.SvelteElement | AST.RenderTag; - path: SvelteNode[]; - }>; + elements: ElementWithPath[]; runes: boolean; exports: Array<{ name: string; alias: string | null }>; /** Whether the component uses `$$props` */ diff --git a/packages/svelte/src/compiler/types/template.d.ts b/packages/svelte/src/compiler/types/template.d.ts index fd1824d3b3..20f3dd6f5f 100644 --- a/packages/svelte/src/compiler/types/template.d.ts +++ b/packages/svelte/src/compiler/types/template.d.ts @@ -514,6 +514,11 @@ export type TemplateNode = export type SvelteNode = Node | TemplateNode | AST.Fragment | Css.Node; +export interface ElementWithPath { + node: AST.RegularElement | AST.SvelteElement | AST.RenderTag; + path: SvelteNode[]; +} + declare module 'estree' { export interface BaseNode { /** Added by the Svelte parser */