File tree 5 files changed +204
-1
lines changed
tests/parser-modern/samples/options
5 files changed +204
-1
lines changed Original file line number Diff line number Diff line change @@ -11,7 +11,8 @@ export default function read_options(node) {
11
11
/** @type {import('#compiler').SvelteOptions } */
12
12
const component_options = {
13
13
start : node . start ,
14
- end : node . end
14
+ end : node . end ,
15
+ attributes : node . attributes
15
16
} ;
16
17
17
18
if ( ! node ) {
Original file line number Diff line number Diff line change @@ -93,6 +93,7 @@ export interface SvelteOptions {
93
93
*/
94
94
extend ?: ArrowFunctionExpression | Identifier ;
95
95
} ;
96
+ attributes : Array < Attribute | SpreadAttribute | Directive > ;
96
97
}
97
98
98
99
/** Static text */
Original file line number Diff line number Diff line change
1
+ <svelte:options customElement ="my-custom-element" runes ={true } />
2
+
3
+ <script context =" module" lang =" ts" >
4
+ </script >
5
+
6
+ <script lang =" ts" >
7
+ </script >
Original file line number Diff line number Diff line change
1
+ {
2
+ "css" : null ,
3
+ "js" : [],
4
+ "start" : 0 ,
5
+ "end" : 112 ,
6
+ "type" : " Root" ,
7
+ "fragment" : {
8
+ "type" : " Fragment" ,
9
+ "nodes" : [
10
+ {
11
+ "type" : " Text" ,
12
+ "start" : 65 ,
13
+ "end" : 67 ,
14
+ "raw" : " \n\n " ,
15
+ "data" : " \n\n "
16
+ },
17
+ {
18
+ "type" : " Text" ,
19
+ "start" : 112 ,
20
+ "end" : 114 ,
21
+ "raw" : " \n\n " ,
22
+ "data" : " \n\n "
23
+ }
24
+ ],
25
+ "transparent" : false
26
+ },
27
+ "options" : {
28
+ "start" : 0 ,
29
+ "end" : 65 ,
30
+ "attributes" : [
31
+ {
32
+ "type" : " Attribute" ,
33
+ "start" : 16 ,
34
+ "end" : 49 ,
35
+ "name" : " customElement" ,
36
+ "value" : [
37
+ {
38
+ "start" : 31 ,
39
+ "end" : 48 ,
40
+ "type" : " Text" ,
41
+ "raw" : " my-custom-element" ,
42
+ "data" : " my-custom-element" ,
43
+ "parent" : null
44
+ }
45
+ ],
46
+ "parent" : null ,
47
+ "metadata" : {
48
+ "dynamic" : false ,
49
+ "delegated" : null
50
+ }
51
+ },
52
+ {
53
+ "type" : " Attribute" ,
54
+ "start" : 50 ,
55
+ "end" : 62 ,
56
+ "name" : " runes" ,
57
+ "value" : [
58
+ {
59
+ "type" : " ExpressionTag" ,
60
+ "start" : 56 ,
61
+ "end" : 62 ,
62
+ "expression" : {
63
+ "type" : " Literal" ,
64
+ "start" : 57 ,
65
+ "end" : 61 ,
66
+ "loc" : {
67
+ "start" : {
68
+ "line" : 1 ,
69
+ "column" : 57
70
+ },
71
+ "end" : {
72
+ "line" : 1 ,
73
+ "column" : 61
74
+ }
75
+ },
76
+ "value" : true ,
77
+ "raw" : " true"
78
+ },
79
+ "parent" : null ,
80
+ "metadata" : {
81
+ "contains_call_expression" : false ,
82
+ "dynamic" : false
83
+ }
84
+ }
85
+ ],
86
+ "parent" : null ,
87
+ "metadata" : {
88
+ "dynamic" : false ,
89
+ "delegated" : null
90
+ }
91
+ }
92
+ ],
93
+ "customElement" : {
94
+ "tag" : " my-custom-element"
95
+ },
96
+ "runes" : true
97
+ },
98
+ "module" : {
99
+ "type" : " Script" ,
100
+ "start" : 67 ,
101
+ "end" : 112 ,
102
+ "context" : " module" ,
103
+ "content" : {
104
+ "type" : " Program" ,
105
+ "start" : 102 ,
106
+ "end" : 103 ,
107
+ "loc" : {
108
+ "start" : {
109
+ "line" : 1 ,
110
+ "column" : 0
111
+ },
112
+ "end" : {
113
+ "line" : 4 ,
114
+ "column" : 0
115
+ }
116
+ },
117
+ "body" : [],
118
+ "sourceType" : " module"
119
+ },
120
+ "attributes" : [
121
+ {
122
+ "type" : " Attribute" ,
123
+ "start" : 75 ,
124
+ "end" : 91 ,
125
+ "name" : " context" ,
126
+ "value" : [
127
+ {
128
+ "start" : 84 ,
129
+ "end" : 90 ,
130
+ "type" : " Text" ,
131
+ "raw" : " module" ,
132
+ "data" : " module"
133
+ }
134
+ ]
135
+ },
136
+ {
137
+ "type" : " Attribute" ,
138
+ "start" : 92 ,
139
+ "end" : 101 ,
140
+ "name" : " lang" ,
141
+ "value" : [
142
+ {
143
+ "start" : 98 ,
144
+ "end" : 100 ,
145
+ "type" : " Text" ,
146
+ "raw" : " ts" ,
147
+ "data" : " ts"
148
+ }
149
+ ]
150
+ }
151
+ ]
152
+ },
153
+ "instance" : {
154
+ "type" : " Script" ,
155
+ "start" : 114 ,
156
+ "end" : 142 ,
157
+ "context" : " default" ,
158
+ "content" : {
159
+ "type" : " Program" ,
160
+ "start" : 132 ,
161
+ "end" : 133 ,
162
+ "loc" : {
163
+ "start" : {
164
+ "line" : 1 ,
165
+ "column" : 0
166
+ },
167
+ "end" : {
168
+ "line" : 7 ,
169
+ "column" : 0
170
+ }
171
+ },
172
+ "body" : [],
173
+ "sourceType" : " module"
174
+ },
175
+ "attributes" : [
176
+ {
177
+ "type" : " Attribute" ,
178
+ "start" : 122 ,
179
+ "end" : 131 ,
180
+ "name" : " lang" ,
181
+ "value" : [
182
+ {
183
+ "start" : 128 ,
184
+ "end" : 130 ,
185
+ "type" : " Text" ,
186
+ "raw" : " ts" ,
187
+ "data" : " ts"
188
+ }
189
+ ]
190
+ }
191
+ ]
192
+ }
193
+ }
Original file line number Diff line number Diff line change @@ -1316,6 +1316,7 @@ declare module 'svelte/compiler' {
1316
1316
*/
1317
1317
extend ?: ArrowFunctionExpression | Identifier ;
1318
1318
} ;
1319
+ attributes : Array < Attribute | SpreadAttribute | Directive > ;
1319
1320
}
1320
1321
1321
1322
/** Static text */
You can’t perform that action at this time.
0 commit comments