Skip to content

Commit 192cb07

Browse files
committed
fix types
1 parent 6884e0a commit 192cb07

File tree

4 files changed

+41
-93
lines changed

4 files changed

+41
-93
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
"semver": "^7.6.3",
108108
"svelte": "^5.0.0-next.245",
109109
"svelte2tsx": "^0.7.19",
110-
"typescript": "~5.5.4",
110+
"typescript": "~5.6.2",
111111
"typescript-eslint-parser-for-extra-files": "^0.7.0"
112112
},
113113
"publishConfig": {

src/parser/compat.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,9 @@ export function getOptionsFromRoot(
4040
fragment: {
4141
type: "Fragment",
4242
nodes: [],
43-
transparent: true,
4443
},
4544
start: root.options.start,
4645
end: root.options.end,
47-
parent: null as any,
4846
};
4947
}
5048
return null;

src/parser/html.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ function parseAttribute(state: State): Compiler.Attribute {
8686
value: true,
8787
start,
8888
end: keyEnd,
89-
metadata: null as any,
90-
parent: null,
9189
};
9290
}
9391
state.skipSpaces();
@@ -98,8 +96,6 @@ function parseAttribute(state: State): Compiler.Attribute {
9896
value: true,
9997
start,
10098
end: keyEnd,
101-
metadata: null as any,
102-
parent: null,
10399
};
104100
}
105101
// parse value
@@ -110,8 +106,6 @@ function parseAttribute(state: State): Compiler.Attribute {
110106
value: [value],
111107
start,
112108
end: state.index,
113-
metadata: null as any,
114-
parent: null,
115109
};
116110
}
117111

@@ -149,8 +143,6 @@ function parseAttributeValue(
149143
expression,
150144
start,
151145
end,
152-
metadata: null as any,
153-
parent: null,
154146
};
155147
}
156148
}
@@ -164,7 +156,6 @@ function parseAttributeValue(
164156
raw: quote,
165157
start,
166158
end: state.index,
167-
parent: null,
168159
};
169160
}
170161
let c: string | undefined;
@@ -179,7 +170,6 @@ function parseAttributeValue(
179170
raw: data,
180171
start: start + 1,
181172
end: end - 1,
182-
parent: null,
183173
};
184174
}
185175
}
@@ -198,7 +188,6 @@ function parseAttributeValue(
198188
raw: data,
199189
start,
200190
end,
201-
parent: null,
202191
};
203192
}
204193

src/parser/svelte-ast-types-for-v5.ts

Lines changed: 40 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -2,84 +2,52 @@
22
// we work around this by extracting the type from the parse function.
33
// See also https://github.com/sveltejs/svelte/issues/12292
44

5-
import type { parse } from "svelte/compiler";
5+
import type { AST } from "svelte/compiler";
66

7-
export type Root = ModernParseReturnType<typeof parse>;
8-
export type Fragment = Root["fragment"];
9-
export type SvelteOptions = Root["options"];
10-
export type Script = Root["instance"];
11-
type FragmentChild = Fragment["nodes"][number];
7+
export type Root = AST.Root;
8+
export type Fragment = AST.Fragment;
9+
export type SvelteOptions = AST.SvelteOptions;
10+
export type Script = AST.Script;
1211

13-
export type Text = Extract<FragmentChild, { type: "Text" }>;
12+
export type Text = AST.Text;
1413

15-
export type ExpressionTag = Extract<FragmentChild, { type: "ExpressionTag" }>;
16-
export type HtmlTag = Extract<FragmentChild, { type: "HtmlTag" }>;
17-
export type ConstTag = Extract<FragmentChild, { type: "ConstTag" }>;
18-
export type DebugTag = Extract<FragmentChild, { type: "DebugTag" }>;
19-
export type RenderTag = Extract<FragmentChild, { type: "RenderTag" }>;
14+
export type ExpressionTag = AST.ExpressionTag;
15+
export type HtmlTag = AST.HtmlTag;
16+
export type ConstTag = AST.ConstTag;
17+
export type DebugTag = AST.DebugTag;
18+
export type RenderTag = AST.RenderTag;
2019

21-
export type Component = Extract<FragmentChild, { type: "Component" }>;
22-
export type TitleElement = Extract<FragmentChild, { type: "TitleElement" }>;
23-
export type SlotElement = Extract<FragmentChild, { type: "SlotElement" }>;
24-
export type RegularElement = Extract<FragmentChild, { type: "RegularElement" }>;
25-
export type SvelteBody = Extract<FragmentChild, { type: "SvelteBody" }>;
26-
export type SvelteComponent = Extract<
27-
FragmentChild,
28-
{ type: "SvelteComponent" }
29-
>;
30-
export type SvelteDocument = Extract<FragmentChild, { type: "SvelteDocument" }>;
31-
export type SvelteElement = Extract<FragmentChild, { type: "SvelteElement" }>;
32-
export type SvelteFragment = Extract<FragmentChild, { type: "SvelteFragment" }>;
33-
export type SvelteHead = Extract<FragmentChild, { type: "SvelteHead" }>;
34-
export type SvelteOptionsRaw = Extract<
35-
FragmentChild,
36-
{ type: "SvelteOptions" }
37-
>;
38-
export type SvelteSelf = Extract<FragmentChild, { type: "SvelteSelf" }>;
39-
export type SvelteWindow = Extract<FragmentChild, { type: "SvelteWindow" }>;
20+
export type Component = AST.Component;
21+
export type TitleElement = AST.TitleElement;
22+
export type SlotElement = AST.SlotElement;
23+
export type RegularElement = AST.RegularElement;
24+
export type SvelteBody = AST.SvelteBody;
25+
export type SvelteComponent = AST.SvelteComponent;
26+
export type SvelteDocument = AST.SvelteDocument;
27+
export type SvelteElement = AST.SvelteElement;
28+
export type SvelteFragment = AST.SvelteFragment;
29+
export type SvelteHead = AST.SvelteHead;
30+
export type SvelteOptionsRaw = AST.SvelteOptionsRaw;
31+
export type SvelteSelf = AST.SvelteSelf;
32+
export type SvelteWindow = AST.SvelteWindow;
4033

41-
export type IfBlock = Extract<FragmentChild, { type: "IfBlock" }>;
42-
export type EachBlock = Extract<FragmentChild, { type: "EachBlock" }>;
43-
export type AwaitBlock = Extract<FragmentChild, { type: "AwaitBlock" }>;
44-
export type KeyBlock = Extract<FragmentChild, { type: "KeyBlock" }>;
45-
export type SnippetBlock = Extract<FragmentChild, { type: "SnippetBlock" }>;
34+
export type IfBlock = AST.IfBlock;
35+
export type EachBlock = AST.EachBlock;
36+
export type AwaitBlock = AST.AwaitBlock;
37+
export type KeyBlock = AST.KeyBlock;
38+
export type SnippetBlock = AST.SnippetBlock;
4639

47-
export type Comment = Extract<FragmentChild, { type: "Comment" }>;
48-
type ComponentAttribute = Component["attributes"][number];
49-
export type Attribute = Extract<ComponentAttribute, { type: "Attribute" }>;
50-
export type SpreadAttribute = Extract<
51-
ComponentAttribute,
52-
{ type: "SpreadAttribute" }
53-
>;
54-
export type AnimateDirective = Extract<
55-
ComponentAttribute,
56-
{ type: "AnimateDirective" }
57-
>;
58-
export type BindDirective = Extract<
59-
ComponentAttribute,
60-
{ type: "BindDirective" }
61-
>;
62-
export type ClassDirective = Extract<
63-
ComponentAttribute,
64-
{ type: "ClassDirective" }
65-
>;
66-
export type LetDirective = Extract<
67-
ComponentAttribute,
68-
{ type: "LetDirective" }
69-
>;
70-
export type OnDirective = Extract<ComponentAttribute, { type: "OnDirective" }>;
71-
export type StyleDirective = Extract<
72-
ComponentAttribute,
73-
{ type: "StyleDirective" }
74-
>;
75-
export type TransitionDirective = Extract<
76-
ComponentAttribute,
77-
{ type: "TransitionDirective" }
78-
>;
79-
export type UseDirective = Extract<
80-
ComponentAttribute,
81-
{ type: "UseDirective" }
82-
>;
40+
export type Comment = AST.Comment;
41+
export type Attribute = AST.Attribute;
42+
export type SpreadAttribute = AST.SpreadAttribute;
43+
export type AnimateDirective = AST.AnimateDirective;
44+
export type BindDirective = AST.BindDirective;
45+
export type ClassDirective = AST.ClassDirective;
46+
export type LetDirective = AST.LetDirective;
47+
export type OnDirective = AST.OnDirective;
48+
export type StyleDirective = AST.StyleDirective;
49+
export type TransitionDirective = AST.TransitionDirective;
50+
export type UseDirective = AST.UseDirective;
8351

8452
export type Tag = ExpressionTag | HtmlTag | ConstTag | DebugTag | RenderTag;
8553
export type ElementLike =
@@ -107,10 +75,3 @@ export type Directive =
10775
| StyleDirective
10876
| TransitionDirective
10977
| UseDirective;
110-
111-
type ModernParseReturnType<T> = T extends {
112-
(source: string, options: { filename?: string; modern: true }): infer R;
113-
(...args: any[]): any;
114-
}
115-
? R
116-
: any;

0 commit comments

Comments
 (0)