@@ -84,12 +84,22 @@ const langs = [
84
84
85
85
for ( const lang of langs ) {
86
86
if ( lang . supported ) {
87
+ localeWorker ( lang ) ;
87
88
templateWorker ( lang ) ;
88
89
sfcWorker ( lang ) ;
89
90
modelWorker ( lang ) ;
90
91
}
91
92
}
92
93
94
+ function localeWorker ( lang ) {
95
+
96
+ const data = langs . map ( ( { name, url } ) => ( { name, url } ) ) ;
97
+
98
+ const writePath = path . resolve ( __dirname , '../data/locale.json' ) ;
99
+ fs . writeFileSync ( writePath , JSON . stringify ( data , null , 2 ) ) ;
100
+ console . log ( writePath ) ;
101
+ }
102
+
93
103
async function sfcWorker ( lang ) {
94
104
95
105
const sfcDoc = await fetchText ( lang . repoUrl + 'HEAD/src/api/sfc-spec.md' , lang . url ) ;
@@ -115,10 +125,7 @@ async function sfcWorker(lang) {
115
125
// { name: 'gql' },
116
126
// { name: 'graphql' },
117
127
] ,
118
- references : langs . map ( lang => ( {
119
- name : lang . name ,
120
- url : `${ lang . url } api/sfc-spec.html#pre-processors` ,
121
- } ) ) ,
128
+ references : 'api/sfc-spec.html#pre-processors' ,
122
129
} ;
123
130
/**
124
131
* @type {import('vscode-html-languageservice').IAttributeData }
@@ -129,10 +136,7 @@ async function sfcWorker(lang) {
129
136
kind : 'markdown' ,
130
137
value : sfcDoc . split ( '\n## ' ) [ 5 ] . split ( '\n' ) . slice ( 1 ) . join ( '\n' ) . trim ( ) ,
131
138
} ,
132
- references : langs . map ( lang => ( {
133
- name : lang . name ,
134
- url : `${ lang . url } api/sfc-spec.html#src-imports` ,
135
- } ) ) ,
139
+ references : 'api/sfc-spec.html#src-imports' ,
136
140
} ;
137
141
const languageBlocks = sfcDoc
138
142
. split ( '\n## ' ) [ 2 ]
@@ -151,10 +155,7 @@ async function sfcWorker(lang) {
151
155
kind : 'markdown' ,
152
156
value : lines . slice ( 1 ) . join ( '\n' ) ,
153
157
} ,
154
- references : langs . map ( lang => ( {
155
- name : lang . name ,
156
- url : `${ lang . url } api/sfc-spec.html#${ normalizeHash ( name ) } ` ,
157
- } ) ) ,
158
+ references : `api/sfc-spec.html#${ normalizeHash ( name ) } ` ,
158
159
} ;
159
160
if ( name === 'template' ) {
160
161
data . attributes . push ( {
@@ -196,10 +197,7 @@ async function sfcWorker(lang) {
196
197
kind : 'markdown' ,
197
198
value : cssFeaturesDoc . split ( '\n## ' ) [ 1 ] . split ( '\n' ) . slice ( 1 ) . join ( '\n' ) . trim ( ) ,
198
199
} ,
199
- references : langs . map ( lang => ( {
200
- name : lang . name ,
201
- url : `${ lang . url } api/sfc-css-features.html#scoped-css` ,
202
- } ) ) ,
200
+ references : 'api/sfc-css-features.html#scoped-css' ,
203
201
} ) ;
204
202
data . attributes . push ( {
205
203
name : 'module' ,
@@ -208,10 +206,7 @@ async function sfcWorker(lang) {
208
206
kind : 'markdown' ,
209
207
value : cssFeaturesDoc . split ( '\n## ' ) [ 2 ] . split ( '\n' ) . slice ( 1 ) . join ( '\n' ) . trim ( ) ,
210
208
} ,
211
- references : langs . map ( lang => ( {
212
- name : lang . name ,
213
- url : `${ lang . url } api/sfc-css-features.html#css-modules` ,
214
- } ) ) ,
209
+ references : 'api/sfc-css-features.html#css-modules' ,
215
210
} ) ;
216
211
}
217
212
return data ;
@@ -265,10 +260,7 @@ async function modelWorker(lang) {
265
260
kind : 'markdown' ,
266
261
value : lines . slice ( 1 ) . join ( '\n' ) . trim ( ) ,
267
262
} ,
268
- references : langs . map ( lang => ( {
269
- name : lang . name ,
270
- url : `${ lang . url } guide/essentials/forms.html#${ normalizeHash ( name ) } ` ,
271
- } ) ) ,
263
+ references : `guide/essentials/forms.html#${ normalizeHash ( name ) } ` ,
272
264
} ;
273
265
return data ;
274
266
} ) ;
@@ -310,10 +302,7 @@ async function templateWorker(lang) {
310
302
value : lines . slice ( 1 ) . join ( '\n' ) ,
311
303
} ,
312
304
attributes : [ ] ,
313
- references : langs . map ( lang => ( {
314
- name : lang . name ,
315
- url : `${ lang . url } api/built-in-components.html#${ normalizeHash ( name ) } ` ,
316
- } ) ) ,
305
+ references : `api/built-in-components.html#${ normalizeHash ( name ) } ` ,
317
306
} ;
318
307
return data ;
319
308
} ) ;
@@ -333,10 +322,7 @@ async function templateWorker(lang) {
333
322
value : lines . slice ( 1 ) . join ( '\n' ) ,
334
323
} ,
335
324
attributes : [ ] ,
336
- references : langs . map ( lang => ( {
337
- name : lang . name ,
338
- url : `${ lang . url } api/built-in-special-elements.html#${ normalizeHash ( name ) } ` ,
339
- } ) ) ,
325
+ references : `api/built-in-special-elements.html#${ normalizeHash ( name ) } ` ,
340
326
} ;
341
327
return data ;
342
328
} ) ;
@@ -361,10 +347,7 @@ async function templateWorker(lang) {
361
347
kind : 'markdown' ,
362
348
value : lines . slice ( 1 ) . join ( '\n' ) . trim ( ) ,
363
349
} ,
364
- references : langs . map ( lang => ( {
365
- name : lang . name ,
366
- url : `${ lang . url } api/built-in-directives.html#${ normalizeHash ( name ) } ` ,
367
- } ) ) ,
350
+ references : `api/built-in-directives.html#${ normalizeHash ( name ) } ` ,
368
351
} ;
369
352
return data ;
370
353
} ) ;
@@ -383,10 +366,7 @@ async function templateWorker(lang) {
383
366
kind : 'markdown' ,
384
367
value : lines . slice ( 1 ) . join ( '\n' ) . trim ( ) ,
385
368
} ,
386
- references : langs . map ( lang => ( {
387
- name : lang . name ,
388
- url : `${ lang . url } api/built-in-special-attributes.html#${ normalizeHash ( name ) } ` ,
389
- } ) ) ,
369
+ references : `api/built-in-special-attributes.html#${ normalizeHash ( name ) } ` ,
390
370
} ;
391
371
return data ;
392
372
} ) ;
@@ -397,18 +377,15 @@ async function templateWorker(lang) {
397
377
const lines = section . split ( '\n' ) ;
398
378
const name = 'data-allow-mismatch' ;
399
379
/**
400
- * @type {import('vscode-html-languageservice').ITagData }
380
+ * @type {import('vscode-html-languageservice').IAttributeData }
401
381
*/
402
382
const data = {
403
383
name,
404
384
description : {
405
385
kind : 'markdown' ,
406
386
value : lines . slice ( 1 ) . join ( '\n' ) ,
407
387
} ,
408
- references : langs . map ( lang => ( {
409
- name : lang . name ,
410
- url : `${ lang . url } api/ssr.html#${ normalizeHash ( name ) } ` ,
411
- } ) ) ,
388
+ references : `api/ssr.html#${ normalizeHash ( name ) } ` ,
412
389
} ;
413
390
return data ;
414
391
} ) [ 0 ] ;
0 commit comments