@xyd-js/sources 0.0.0-build

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/ISSUES.md +10 -0
  3. package/LICENSE +21 -0
  4. package/README.md +3 -0
  5. package/TODO.md +9 -0
  6. package/__fixtures__/-1.typescript/package.json +5 -0
  7. package/__fixtures__/-1.typescript/src/index.ts +0 -0
  8. package/__fixtures__/-1.typescript/src/settings.ts +592 -0
  9. package/__fixtures__/-1.typescript/tsconfig.json +8 -0
  10. package/__fixtures__/-2.react.basic/1.flat-interface.output.json +114 -0
  11. package/__fixtures__/-2.react.basic/2.file-connect-interface.output.json +60 -0
  12. package/__fixtures__/-2.react.basic/2a.file-connect-interface-advanced.output.json +92 -0
  13. package/__fixtures__/-2.react.basic/3.props-as-variants.output.json +166 -0
  14. package/__fixtures__/-2.react.basic/4.outside-interface.output.json +60 -0
  15. package/__fixtures__/-2.react.basic/5.inline-props.output.json +60 -0
  16. package/__fixtures__/-2.react.basic/5.outside-inline-props.output.json +60 -0
  17. package/__fixtures__/-2.react.basic/5a.inline-props+outside.output.json +60 -0
  18. package/__fixtures__/-2.react.basic/5b.inline-props+interfaces.output.json +92 -0
  19. package/__fixtures__/-2.react.basic/package.json +4 -0
  20. package/__fixtures__/-2.react.basic/src/1.flat-interface.tsx +41 -0
  21. package/__fixtures__/-2.react.basic/src/2.file-connect-interface.tsx +28 -0
  22. package/__fixtures__/-2.react.basic/src/2a.file-connect-interace+advanced.tsx +54 -0
  23. package/__fixtures__/-2.react.basic/src/3.props-as-variants.tsx +67 -0
  24. package/__fixtures__/-2.react.basic/src/4.outside-interface.tsx +13 -0
  25. package/__fixtures__/-2.react.basic/src/4.outside-interface2.ts +15 -0
  26. package/__fixtures__/-2.react.basic/src/5.inline-props.tsx +19 -0
  27. package/__fixtures__/-2.react.basic/src/5a.inline-props+outside.tsx +19 -0
  28. package/__fixtures__/-2.react.basic/src/5b.inline-props+interfaces.tsx +62 -0
  29. package/__fixtures__/-2.react.basic/src/index.ts +0 -0
  30. package/__fixtures__/-2.react.basic/tsconfig.json +8 -0
  31. package/__tests__/sourcesToUniform.test.ts +167 -0
  32. package/__tests__/testResolvePropertySymbol.ts +838 -0
  33. package/__tests__/types.ts +12 -0
  34. package/__tests__/utils.ts +108 -0
  35. package/dist/index.cjs +2 -0
  36. package/dist/index.cjs.map +1 -0
  37. package/dist/index.d.cts +2 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/react.cjs +237 -0
  42. package/dist/react.cjs.map +1 -0
  43. package/dist/react.d.cts +6 -0
  44. package/dist/react.d.ts +6 -0
  45. package/dist/react.js +212 -0
  46. package/dist/react.js.map +1 -0
  47. package/dist/ts.cjs +1794 -0
  48. package/dist/ts.cjs.map +1 -0
  49. package/dist/ts.d.cts +14 -0
  50. package/dist/ts.d.ts +14 -0
  51. package/dist/ts.js +1760 -0
  52. package/dist/ts.js.map +1 -0
  53. package/package.json +41 -0
  54. package/packages/react/index.ts +1 -0
  55. package/packages/react/uniformToReactUniform.ts +275 -0
  56. package/packages/ts/SignatureText.ts +233 -0
  57. package/packages/ts/TypeDocTransformer.ts +1519 -0
  58. package/packages/ts/__fixtures__/packages/package-a/package.json +4 -0
  59. package/packages/ts/__fixtures__/packages/package-a/src/index.ts +56 -0
  60. package/packages/ts/__fixtures__/packages/package-a/tsconfig.json +23 -0
  61. package/packages/ts/__fixtures__/packages/package-b/package.json +7 -0
  62. package/packages/ts/__fixtures__/packages/package-b/src/billing.ts +193 -0
  63. package/packages/ts/__fixtures__/packages/package-b/src/index.ts +8 -0
  64. package/packages/ts/__fixtures__/packages/package-b/tsconfig.json +20 -0
  65. package/packages/ts/__fixtures__/packages2/package-a/package.json +4 -0
  66. package/packages/ts/__fixtures__/packages2/package-a/src/index.ts +496 -0
  67. package/packages/ts/__fixtures__/packages2/package-a/tsconfig.json +6 -0
  68. package/packages/ts/__fixtures__/packages3/package-a/package.json +4 -0
  69. package/packages/ts/__fixtures__/packages3/package-a/src/index.ts +488 -0
  70. package/packages/ts/__fixtures__/packages3/package-a/tsconfig.json +6 -0
  71. package/packages/ts/__fixtures__/packages3/project.json +171 -0
  72. package/packages/ts/__fixtures__/react/react-a/package.json +5 -0
  73. package/packages/ts/__fixtures__/react/react-a/src/TestAbc.tsx +90 -0
  74. package/packages/ts/__fixtures__/react/react-a/src/TestBasic.tsx +27 -0
  75. package/packages/ts/__fixtures__/react/react-a/src/TestNamedParameters.tsx +27 -0
  76. package/packages/ts/__fixtures__/react/react-a/src/TestNamedParameters2.tsx +26 -0
  77. package/packages/ts/__fixtures__/react/react-a/src/TestUnion.tsx +32 -0
  78. package/packages/ts/__fixtures__/react/react-a/src/index.ts +1 -0
  79. package/packages/ts/__fixtures__/react/react-a/tsconfig.json +8 -0
  80. package/packages/ts/__fixtures__/references-output-project.json +344 -0
  81. package/packages/ts/__fixtures__/references-output-react.json +68 -0
  82. package/packages/ts/__fixtures__/references-output.json +129 -0
  83. package/packages/ts/__tests__/sourcesToUniform.test.ts +106 -0
  84. package/packages/ts/context.ts +0 -0
  85. package/packages/ts/converterts/ts-class.ts +0 -0
  86. package/packages/ts/converterts/ts-enum.ts +0 -0
  87. package/packages/ts/converterts/ts-function.ts +0 -0
  88. package/packages/ts/converterts/ts-interface.ts +0 -0
  89. package/packages/ts/converterts/ts-type.ts +0 -0
  90. package/packages/ts/index.ts +129 -0
  91. package/packages/ts/ts-core.ts +0 -0
  92. package/packages/ts/uniformToMiniUniform.ts +486 -0
  93. package/src/index.ts +0 -0
  94. package/test-cmd/index.ts +62 -0
  95. package/tsconfig.json +38 -0
  96. package/tsup.config.ts +39 -0
  97. package/vitest.config.ts +34 -0
@@ -0,0 +1,488 @@
1
+ // #region MetaTags
2
+ /**
3
+ * Interface representing all possible meta tags that can be used in HTML documents.
4
+ * This includes standard meta tags, Open Graph tags, Twitter cards, and various other
5
+ * specialized meta tags for different content types.
6
+ *
7
+ */
8
+ export interface MetaTags {
9
+ //
10
+ // Standard
11
+ //
12
+
13
+ /** Standard meta tag for controlling search engine crawling and indexing
14
+ * @example "index, follow"
15
+ * @example "noindex, nofollow"
16
+ */
17
+ robots: string;
18
+
19
+ /** Character encoding for the document
20
+ * @example "UTF-8"
21
+ */
22
+ charset: string;
23
+
24
+ /** Viewport settings for responsive design
25
+ * @example "width=device-width, initial-scale=1"
26
+ * @example "width=device-width, initial-scale=1, maximum-scale=1"
27
+ */
28
+ viewport: string;
29
+
30
+ /** Brief description of the page content
31
+ * @example "A comprehensive guide to web development"
32
+ */
33
+ description: string;
34
+
35
+ /** Keywords relevant to the page content
36
+ * @example "web development, javascript, typescript"
37
+ */
38
+ keywords: string;
39
+
40
+ /** Author of the page content
41
+ * @example "John Doe"
42
+ */
43
+ author: string;
44
+
45
+ /** Google-specific crawling instructions
46
+ * @example "index, follow"
47
+ * @example "noarchive"
48
+ */
49
+ googlebot: string;
50
+
51
+ /** Google-specific settings
52
+ * @example "notranslate"
53
+ */
54
+ google: string;
55
+
56
+ /** Google Search Console verification token
57
+ * @example "verification_token"
58
+ */
59
+ "google-site-verification": string;
60
+
61
+ /** Software used to generate the page
62
+ * @example "Next.js"
63
+ * @example "WordPress"
64
+ */
65
+ generator: string;
66
+
67
+ /** Theme color for browser UI
68
+ * @example "#ffffff"
69
+ * @example "#000000"
70
+ */
71
+ "theme-color": string;
72
+
73
+ /** Color scheme preference
74
+ * @example "light dark"
75
+ * @example "light"
76
+ */
77
+ "color-scheme": string;
78
+
79
+ /** Format detection settings
80
+ * @example "telephone=no"
81
+ * @example "date=no"
82
+ */
83
+ "format-detection": string;
84
+
85
+ /** Referrer policy
86
+ * @example "origin"
87
+ * @example "no-referrer"
88
+ */
89
+ referrer: string;
90
+
91
+ /** Page refresh settings
92
+ * @example "0;url=https://example.com"
93
+ */
94
+ refresh: string;
95
+
96
+ /** Content rating
97
+ * @example "general"
98
+ * @example "mature"
99
+ */
100
+ rating: string;
101
+
102
+ /** Crawl frequency suggestion
103
+ * @example "7 days"
104
+ */
105
+ "revisit-after": string;
106
+
107
+ /** Page language
108
+ * @example "en-US"
109
+ * @example "fr-FR"
110
+ */
111
+ language: string;
112
+
113
+ /** Copyright information
114
+ * @example "Copyright 2024"
115
+ */
116
+ copyright: string;
117
+
118
+ /** Reply-to email address
119
+ * @example "contact@example.com"
120
+ */
121
+ "reply-to": string;
122
+
123
+ /** Content distribution scope
124
+ * @example "global"
125
+ */
126
+ distribution: string;
127
+
128
+ /** Content coverage area
129
+ * @example "Worldwide"
130
+ */
131
+ coverage: string;
132
+
133
+ /** Content category
134
+ * @example "Technology"
135
+ */
136
+ category: string;
137
+
138
+ /** Target audience
139
+ * @example "all"
140
+ */
141
+ target: string;
142
+
143
+ /** Mobile device compatibility
144
+ * @example "true"
145
+ */
146
+ HandheldFriendly: string;
147
+
148
+ /** Mobile optimization settings
149
+ * @example "width"
150
+ */
151
+ MobileOptimized: string;
152
+
153
+ //
154
+ // Apple
155
+ //
156
+
157
+ /** iOS web app capability
158
+ * @example "yes"
159
+ */
160
+ "apple-mobile-web-app-capable": string;
161
+
162
+ /** iOS status bar style
163
+ * @example "black"
164
+ * @example "black-translucent"
165
+ */
166
+ "apple-mobile-web-app-status-bar-style": string;
167
+
168
+ /** iOS web app title
169
+ * @example "App Name"
170
+ */
171
+ "apple-mobile-web-app-title": string;
172
+
173
+ /** Web application name
174
+ * @example "My App"
175
+ */
176
+ "application-name": string;
177
+
178
+ //
179
+ // Windows
180
+ //
181
+
182
+ /** Windows tile color
183
+ * @example "#2b5797"
184
+ */
185
+ "msapplication-TileColor": string;
186
+
187
+ /** Windows tile image
188
+ * @example "/mstile-144x144.png"a
189
+ */
190
+ "msapplication-TileImage": string;
191
+
192
+ /** Windows browser config
193
+ * @example "/browserconfig.xml"
194
+ */
195
+ "msapplication-config": string;
196
+
197
+ //
198
+ // Open Graph
199
+ //
200
+
201
+ /** Open Graph title
202
+ * @example "Page Title"
203
+ */
204
+ "og:title": string;
205
+
206
+ /** Open Graph content type
207
+ * @example "website"
208
+ * @example "article"
209
+ */
210
+ "og:type": string;
211
+
212
+ /** Open Graph URL
213
+ * @example "https://example.com"
214
+ */
215
+ "og:url": string;
216
+
217
+ /** Open Graph image
218
+ * @example "https://example.com/image.jpg"
219
+ */
220
+ "og:image": string;
221
+
222
+ /** Open Graph description
223
+ * @example "A brief description for social media"
224
+ */
225
+ "og:description": string;
226
+
227
+ /** Open Graph site name
228
+ * @example "Site Name"
229
+ */
230
+ "og:site_name": string;
231
+
232
+ /** Open Graph locale
233
+ * @example "en_US"
234
+ */
235
+ "og:locale": string;
236
+
237
+ /** Open Graph video
238
+ * @example "https://example.com/video.mp4"
239
+ */
240
+ "og:video": string;
241
+
242
+ /** Open Graph audio
243
+ * @example "https://example.com/audio.mp3"
244
+ */
245
+ "og:audio": string;
246
+
247
+ //
248
+ // Twitter
249
+ //
250
+
251
+ /** Twitter card type
252
+ * @example "summary_large_image"
253
+ * @example "summary"
254
+ */
255
+ "twitter:card": string;
256
+
257
+ /** Twitter site handle
258
+ * @example "@username"
259
+ */
260
+ "twitter:site": string;
261
+
262
+ /** Twitter creator handle
263
+ * @example "@author"
264
+ */
265
+ "twitter:creator": string;
266
+
267
+ /** Twitter title
268
+ * @example "Page Title"
269
+ */
270
+ "twitter:title": string;
271
+
272
+ /** Twitter description
273
+ * @example "A brief description for Twitter"
274
+ */
275
+ "twitter:description": string;
276
+
277
+ /** Twitter image
278
+ * @example "https://example.com/image.jpg"
279
+ */
280
+ "twitter:image": string;
281
+
282
+ /** Twitter image alt text
283
+ * @example "Image description"
284
+ */
285
+ "twitter:image:alt": string;
286
+
287
+ /** Twitter player URL
288
+ * @example "https://example.com/player"
289
+ */
290
+ "twitter:player": string;
291
+
292
+ /** Twitter player width
293
+ * @example "480"
294
+ */
295
+ "twitter:player:width": string;
296
+
297
+ /** Twitter player height
298
+ * @example "480"
299
+ */
300
+ "twitter:player:height": string;
301
+
302
+ /** Twitter iOS app name
303
+ * @example "App Name"
304
+ */
305
+ "twitter:app:name:iphone": string;
306
+
307
+ /** Twitter iOS app ID
308
+ * @example "123456789"
309
+ */
310
+ "twitter:app:id:iphone": string;
311
+
312
+ /** Twitter iOS app URL
313
+ * @example "app://"
314
+ */
315
+ "twitter:app:url:iphone": string;
316
+
317
+ //
318
+ // Article
319
+ //
320
+
321
+ /** Article publication time
322
+ * @example "2024-03-20T12:00:00Z"
323
+ */
324
+ "article:published_time": string;
325
+
326
+ /** Article modification time
327
+ * @example "2024-03-21T15:30:00Z"
328
+ */
329
+ "article:modified_time": string;
330
+
331
+ /** Article expiration time
332
+ * @example "2024-04-20T12:00:00Z"
333
+ */
334
+ "article:expiration_time": string;
335
+
336
+ /** Article author
337
+ * @example "John Doe"
338
+ */
339
+ "article:author": string;
340
+
341
+ /** Article section
342
+ * @example "Technology"
343
+ */
344
+ "article:section": string;
345
+
346
+ /** Article tags
347
+ * @example "Web Development"
348
+ */
349
+ "article:tag": string;
350
+
351
+ //
352
+ // Book
353
+ //
354
+
355
+ /** Book author
356
+ * @example "Jane Smith"
357
+ */
358
+ "book:author": string;
359
+
360
+ /** Book ISBN
361
+ * @example "978-3-16-148410-0"
362
+ */
363
+ "book:isbn": string;
364
+
365
+ /** Book release date
366
+ * @example "2024-01-01"
367
+ */
368
+ "book:release_date": string;
369
+
370
+ /** Book tags
371
+ * @example "Fiction"
372
+ */
373
+ "book:tag": string;
374
+
375
+ //
376
+ // Profile
377
+ //
378
+
379
+ /** Profile first name
380
+ * @example "John"
381
+ */
382
+ "profile:first_name": string;
383
+
384
+ /** Profile last name
385
+ * @example "Doe"
386
+ */
387
+ "profile:last_name": string;
388
+
389
+ /** Profile username
390
+ * @example "johndoe"
391
+ */
392
+ "profile:username": string;
393
+
394
+ /** Profile gender
395
+ * @example "male"
396
+ */
397
+ "profile:gender": string;
398
+
399
+ //
400
+ // Music
401
+ //
402
+
403
+ /** Music duration in seconds
404
+ * @example "180"
405
+ */
406
+ "music:duration": string;
407
+
408
+ /** Music album name
409
+ * @example "Album Name"
410
+ */
411
+ "music:album": string;
412
+
413
+ /** Music album disc number
414
+ * @example "1"
415
+ */
416
+ "music:album:disc": string;
417
+
418
+ /** Music album track number
419
+ * @example "1"
420
+ */
421
+ "music:album:track": string;
422
+
423
+ /** Music musician/artist
424
+ * @example "Artist Name"
425
+ */
426
+ "music:musician": string;
427
+
428
+ /** Music song name
429
+ * @example "Song Name"
430
+ */
431
+ "music:song": string;
432
+
433
+ /** Music song disc number
434
+ * @example "1"
435
+ */
436
+ "music:song:disc": string;
437
+
438
+ /** Music song track number
439
+ * @example "1"
440
+ */
441
+ "music:song:track": string;
442
+
443
+ //
444
+ // Video
445
+ //
446
+
447
+ /** Video actor name
448
+ * @example "Actor Name"
449
+ */
450
+ "video:actor": string;
451
+
452
+ /** Video actor role
453
+ * @example "Character Name"
454
+ */
455
+ "video:actor:role": string;
456
+
457
+ /** Video director
458
+ * @example "Director Name"
459
+ */
460
+ "video:director": string;
461
+
462
+ /** Video writer
463
+ * @example "Writer Name"
464
+ */
465
+ "video:writer": string;
466
+
467
+ /** Video duration in seconds
468
+ * @example "120"
469
+ */
470
+ "video:duration": string;
471
+
472
+ /** Video release date
473
+ * @example "2024-01-01"
474
+ */
475
+ "video:release_date": string;
476
+
477
+ /** Video tags
478
+ * @example "Action"
479
+ */
480
+ "video:tag": string;
481
+
482
+ /** Video series name
483
+ * @example "Series Name"
484
+ */
485
+ "video:series": string;
486
+ }
487
+ // #endregion MetaTags
488
+
@@ -0,0 +1,6 @@
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "./dist",
4
+ "skipLibCheck": true
5
+ }
6
+ }
@@ -0,0 +1,171 @@
1
+ {
2
+ "schemaVersion": "2.0",
3
+ "id": 4,
4
+ "name": "@xyd-sources-examples/package-a",
5
+ "variant": "project",
6
+ "kind": 1,
7
+ "flags": {},
8
+ "children": [
9
+ {
10
+ "id": 5,
11
+ "name": "MetaTags",
12
+ "variant": "declaration",
13
+ "kind": 256,
14
+ "flags": {},
15
+ "comment": {
16
+ "summary": [
17
+ {
18
+ "kind": "text",
19
+ "text": "Meta tags for the page"
20
+ }
21
+ ]
22
+ },
23
+ "children": [
24
+ {
25
+ "id": 6,
26
+ "name": "charset",
27
+ "variant": "declaration",
28
+ "kind": 1024,
29
+ "flags": {},
30
+ "comment": {
31
+ "summary": [
32
+ {
33
+ "kind": "text",
34
+ "text": "Character encoding for the document"
35
+ }
36
+ ],
37
+ "blockTags": [
38
+ {
39
+ "tag": "@example",
40
+ "content": [
41
+ {
42
+ "kind": "code",
43
+ "text": "```ts\n\"UTF-8\"\n```"
44
+ }
45
+ ]
46
+ }
47
+ ]
48
+ },
49
+ "sources": [
50
+ {
51
+ "fileName": "index.ts",
52
+ "line": 19,
53
+ "character": 4
54
+ }
55
+ ],
56
+ "type": {
57
+ "type": "intrinsic",
58
+ "name": "string"
59
+ }
60
+ },
61
+ {
62
+ "id": 7,
63
+ "name": "robots",
64
+ "variant": "declaration",
65
+ "kind": 1024,
66
+ "flags": {},
67
+ "comment": {
68
+ "summary": [
69
+ {
70
+ "kind": "text",
71
+ "text": "Standard meta tag for controlling search engine crawling and indexing"
72
+ }
73
+ ],
74
+ "blockTags": [
75
+ {
76
+ "tag": "@example",
77
+ "content": [
78
+ {
79
+ "kind": "code",
80
+ "text": "```ts\n\"index, follow\"\n```"
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "tag": "@example",
86
+ "content": [
87
+ {
88
+ "kind": "code",
89
+ "text": "```ts\n\"noindex, nofollow\"\n```"
90
+ }
91
+ ]
92
+ }
93
+ ]
94
+ },
95
+ "sources": [
96
+ {
97
+ "fileName": "index.ts",
98
+ "line": 14,
99
+ "character": 4
100
+ }
101
+ ],
102
+ "type": {
103
+ "type": "intrinsic",
104
+ "name": "string"
105
+ }
106
+ }
107
+ ],
108
+ "groups": [
109
+ {
110
+ "title": "Properties",
111
+ "children": [
112
+ 6,
113
+ 7
114
+ ]
115
+ }
116
+ ],
117
+ "sources": [
118
+ {
119
+ "fileName": "index.ts",
120
+ "line": 5,
121
+ "character": 17
122
+ }
123
+ ]
124
+ }
125
+ ],
126
+ "groups": [
127
+ {
128
+ "title": "Interfaces",
129
+ "children": [
130
+ 5
131
+ ]
132
+ }
133
+ ],
134
+ "packageName": "@xyd-js/sources",
135
+ "readme": [
136
+ {
137
+ "kind": "text",
138
+ "text": "# @xyd-js/sources\n\nAutomatic documentation from code sources, for xyd."
139
+ }
140
+ ],
141
+ "symbolIdMap": {
142
+ "4": {
143
+ "packageName": "@xyd-sources-examples/package-a",
144
+ "packagePath": "src/index.ts",
145
+ "qualifiedName": ""
146
+ },
147
+ "5": {
148
+ "packageName": "@xyd-sources-examples/package-a",
149
+ "packagePath": "src/index.ts",
150
+ "qualifiedName": "MetaTags"
151
+ },
152
+ "6": {
153
+ "packageName": "@xyd-sources-examples/package-a",
154
+ "packagePath": "src/index.ts",
155
+ "qualifiedName": "MetaTags.charset"
156
+ },
157
+ "7": {
158
+ "packageName": "@xyd-sources-examples/package-a",
159
+ "packagePath": "src/index.ts",
160
+ "qualifiedName": "MetaTags.robots"
161
+ }
162
+ },
163
+ "files": {
164
+ "entries": {
165
+ "1": "package-a/src/index.ts"
166
+ },
167
+ "reflections": {
168
+ "1": 4
169
+ }
170
+ }
171
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@xyd-sources-examples/react",
3
+ "main": "dist/index.js"
4
+ }
5
+