@xyd-js/sources 0.1.1-xyd.3 → 0.1.1-xyd.5

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 (109) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/ISSUES.md +10 -0
  3. package/TODO.md +5 -2
  4. package/__fixtures__/-1.typescript/package.json +5 -0
  5. package/__fixtures__/-1.typescript/src/index.ts +0 -0
  6. package/__fixtures__/-1.typescript/src/settings.ts +595 -0
  7. package/__fixtures__/-1.typescript/tsconfig.json +8 -0
  8. package/__fixtures__/-2.react.basic/1.flat-interface.output.json +90 -0
  9. package/__fixtures__/-2.react.basic/2.file-connect-interface.output.json +60 -0
  10. package/__fixtures__/-2.react.basic/2a.file-connect-interface-advanced.output.json +92 -0
  11. package/__fixtures__/-2.react.basic/3.props-as-variants.output.json +166 -0
  12. package/__fixtures__/-2.react.basic/4.outside-interface.output.json +60 -0
  13. package/__fixtures__/-2.react.basic/5.inline-props.output.json +60 -0
  14. package/__fixtures__/-2.react.basic/5.outside-inline-props.output.json +60 -0
  15. package/__fixtures__/-2.react.basic/5a.inline-props+outside.output.json +60 -0
  16. package/__fixtures__/-2.react.basic/5b.inline-props+interfaces.output.json +92 -0
  17. package/__fixtures__/-2.react.basic/package.json +4 -0
  18. package/__fixtures__/-2.react.basic/src/1.flat-interface.tsx +41 -0
  19. package/__fixtures__/-2.react.basic/src/2.file-connect-interface.tsx +28 -0
  20. package/__fixtures__/-2.react.basic/src/2a.file-connect-interace+advanced.tsx +54 -0
  21. package/__fixtures__/-2.react.basic/src/3.props-as-variants.tsx +67 -0
  22. package/__fixtures__/-2.react.basic/src/4.outside-interface.tsx +13 -0
  23. package/__fixtures__/-2.react.basic/src/4.outside-interface2.ts +15 -0
  24. package/__fixtures__/-2.react.basic/src/5.inline-props.tsx +19 -0
  25. package/__fixtures__/-2.react.basic/src/5a.inline-props+outside.tsx +19 -0
  26. package/__fixtures__/-2.react.basic/src/5b.inline-props+interfaces.tsx +62 -0
  27. package/__fixtures__/-2.react.basic/src/index.ts +0 -0
  28. package/__fixtures__/-2.react.basic/tsconfig.json +8 -0
  29. package/__tests__/sourcesToUniform.test.ts +155 -0
  30. package/__tests__/testResolvePropertySymbol.ts +838 -0
  31. package/__tests__/types.ts +12 -0
  32. package/__tests__/utils.ts +108 -0
  33. package/dist/index.cjs +0 -645
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.cts +1 -82
  36. package/dist/index.d.ts +1 -82
  37. package/dist/index.js +0 -611
  38. package/dist/index.js.map +1 -1
  39. package/dist/react.cjs +236 -0
  40. package/dist/react.cjs.map +1 -0
  41. package/dist/react.d.cts +6 -0
  42. package/dist/react.d.ts +6 -0
  43. package/dist/react.js +211 -0
  44. package/dist/react.js.map +1 -0
  45. package/dist/ts.cjs +1794 -0
  46. package/dist/ts.cjs.map +1 -0
  47. package/dist/ts.d.cts +14 -0
  48. package/dist/ts.d.ts +14 -0
  49. package/dist/ts.js +1760 -0
  50. package/dist/ts.js.map +1 -0
  51. package/package.json +22 -4
  52. package/packages/react/index.ts +1 -0
  53. package/packages/react/uniformToReactUniform.ts +274 -0
  54. package/{src → packages/ts}/SignatureText.ts +26 -7
  55. package/packages/ts/TypeDocTransformer.ts +1519 -0
  56. package/packages/ts/__fixtures__/packages2/package-a/package.json +4 -0
  57. package/packages/ts/__fixtures__/packages2/package-a/src/index.ts +496 -0
  58. package/packages/ts/__fixtures__/packages2/package-a/tsconfig.json +6 -0
  59. package/packages/ts/__fixtures__/packages3/package-a/package.json +4 -0
  60. package/packages/ts/__fixtures__/packages3/package-a/src/index.ts +488 -0
  61. package/packages/ts/__fixtures__/packages3/package-a/tsconfig.json +6 -0
  62. package/packages/ts/__fixtures__/packages3/project.json +171 -0
  63. package/packages/ts/__fixtures__/react/react-a/package.json +5 -0
  64. package/packages/ts/__fixtures__/react/react-a/src/TestAbc.tsx +90 -0
  65. package/packages/ts/__fixtures__/react/react-a/src/TestBasic.tsx +27 -0
  66. package/packages/ts/__fixtures__/react/react-a/src/TestNamedParameters.tsx +27 -0
  67. package/packages/ts/__fixtures__/react/react-a/src/TestNamedParameters2.tsx +26 -0
  68. package/packages/ts/__fixtures__/react/react-a/src/TestUnion.tsx +32 -0
  69. package/packages/ts/__fixtures__/react/react-a/src/index.ts +1 -0
  70. package/packages/ts/__fixtures__/react/react-a/tsconfig.json +8 -0
  71. package/packages/ts/__fixtures__/references-output-project.json +344 -0
  72. package/packages/ts/__fixtures__/references-output-react.json +68 -0
  73. package/packages/ts/__fixtures__/references-output.json +129 -0
  74. package/packages/ts/__tests__/sourcesToUniform.test.ts +95 -0
  75. package/packages/ts/context.ts +0 -0
  76. package/packages/ts/converterts/ts-class.ts +0 -0
  77. package/packages/ts/converterts/ts-enum.ts +0 -0
  78. package/packages/ts/converterts/ts-function.ts +0 -0
  79. package/packages/ts/converterts/ts-interface.ts +0 -0
  80. package/packages/ts/converterts/ts-type.ts +0 -0
  81. package/packages/ts/index.ts +129 -0
  82. package/packages/ts/ts-core.ts +0 -0
  83. package/packages/ts/uniformToMiniUniform.ts +486 -0
  84. package/src/index.ts +0 -45
  85. package/tsconfig.json +9 -1
  86. package/tsup.config.ts +4 -4
  87. package/vitest.config.ts +34 -0
  88. package/dist/example.cjs +0 -642
  89. package/dist/example.cjs.map +0 -1
  90. package/dist/example.d.cts +0 -2
  91. package/dist/example.d.ts +0 -2
  92. package/dist/example.js +0 -618
  93. package/dist/example.js.map +0 -1
  94. package/docs/README.md +0 -20
  95. package/docs/classes/ExampleClass.md +0 -35
  96. package/docs/functions/gqlSchemaToReferences.md +0 -27
  97. package/docs/functions/helloWorld.md +0 -17
  98. package/docs/functions/helloWorldV2.md +0 -33
  99. package/docs/functions/helloWorldV3.md +0 -35
  100. package/docs.json +0 -551
  101. package/references_todo.json +0 -220
  102. package/src/TypeDocTransformer.ts +0 -572
  103. /package/{example → packages/ts/__fixtures__/packages}/package-a/package.json +0 -0
  104. /package/{example → packages/ts/__fixtures__/packages}/package-a/src/index.ts +0 -0
  105. /package/{example → packages/ts/__fixtures__/packages}/package-a/tsconfig.json +0 -0
  106. /package/{example → packages/ts/__fixtures__/packages}/package-b/package.json +0 -0
  107. /package/{example → packages/ts/__fixtures__/packages}/package-b/src/billing.ts +0 -0
  108. /package/{example → packages/ts/__fixtures__/packages}/package-b/src/index.ts +0 -0
  109. /package/{example → packages/ts/__fixtures__/packages}/package-b/tsconfig.json +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @xyd-js/sources
2
2
 
3
+ ## 0.1.1-xyd.5
4
+
5
+ ### Patch Changes
6
+
7
+ - test
8
+ - Updated dependencies
9
+ - @xyd-js/uniform@0.1.0-xyd.17
10
+
11
+ ## 0.1.1-xyd.4
12
+
13
+ ### Patch Changes
14
+
15
+ - update packages
16
+ - Updated dependencies
17
+ - @xyd-js/uniform@0.1.0-xyd.16
18
+
3
19
  ## 0.1.1-xyd.3
4
20
 
5
21
  ### Patch Changes
package/ISSUES.md ADDED
@@ -0,0 +1,10 @@
1
+ 1. for outside interface imported interface filename must be different in react
2
+ eg:
3
+
4
+ X !!!!
5
+ ```ts MyComponent.tsx
6
+ import { MyComponent } from './MyComponent';
7
+ ```
8
+
9
+ ```ts MyComponent.ts
10
+ ```
package/TODO.md CHANGED
@@ -1,6 +1,9 @@
1
1
  1. use doc extractors:
2
2
  * go - godoc
3
3
  * python - https://github.com/mkdocstrings/griffe
4
- * js - https://github.com/TypeStrong/typedoc
5
4
 
6
- 2. issues with: https://github.com/TypeStrong/typedoc/blob/3a3976da192126139c36dd711ab636f840d0c0ce/src/lib/application.ts#L51
5
+ 2. add docs for generation requirements: <--- maybe find better solution in the future?
6
+ 1. tsconfig is needed
7
+ 2. package.json is needed
8
+ 3. "outDir": "./dist", in tsconfig compilerOptions is needed
9
+ 4. main is needed in package.json
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@xyd-js/sources",
3
+ "main": "dist/index.js"
4
+ }
5
+
File without changes
@@ -0,0 +1,595 @@
1
+ import * as React from "react";
2
+
3
+ import type { Theme as SyntaxHighlight } from "@code-hike/lighter";
4
+
5
+ /**
6
+ * Main settings interface for the application
7
+ */
8
+ export interface Settings {
9
+ /** Theme configuration for the application */
10
+ theme?: Theme
11
+
12
+ /** Navigation configuration */
13
+ navigation?: Navigation
14
+
15
+ /** API configuration */
16
+ api?: API
17
+
18
+ /** Integrations configuration */
19
+ integrations?: Integrations
20
+
21
+ /** Plugins configuration */
22
+ plugins?: Plugins
23
+
24
+ /**
25
+ * @unsafe
26
+ *
27
+ * Redirects configuration
28
+ */
29
+ redirects?: Redirects[]
30
+
31
+ /**
32
+ * @unsafe
33
+ * SEO configuration
34
+ */
35
+ seo?: SEO
36
+
37
+ /** Engine configuration */
38
+ engine?: Engine
39
+ }
40
+
41
+ // ------ START settings for theme START ------
42
+ // #region Theme
43
+ /**
44
+ * Theme configuration that changes the look and feel of the project
45
+ */
46
+ export interface Theme {
47
+ /**
48
+ * A preset theme configuration that changes the look and feel of the project.
49
+ * A theme is a set of default styling configurations.
50
+ *
51
+ * Example built-in themes: `cosmo`, `gusto`, `poetry`, `picasso`
52
+ */
53
+ readonly name: ThemePresetName | (string & {})
54
+
55
+ /** Markdown configuration for the theme, including options like syntax highlighting */
56
+ markdown?: Markdown
57
+
58
+ /**
59
+ * Path to logo image or object with path to "light" and "dark" mode logo images, and where the logo links to.
60
+ * SVG format is recommended as it does not pixelate and the file size is generally smaller.
61
+ */
62
+ logo?: string | Logo | React.JSX.Element
63
+
64
+ /**
65
+ * Banner configuration for the theme.
66
+ */
67
+ banner?: Banner
68
+
69
+ /** Path to the favicon image. For example: /path/to/favicon.svg */
70
+ favicon?: string;
71
+
72
+ /** The defult level of the table of contents. */
73
+ maxTocDepth?: number
74
+
75
+ /** Head configuration */
76
+ head?: HeadConfig[]
77
+
78
+ /** The iconify library */
79
+ icons?: Icons
80
+ }
81
+ // #endregion Theme
82
+
83
+ /**
84
+ * Configuration type for head elements that can be added to the HTML head.
85
+ * Format: [tagName, attributes]
86
+ *
87
+ * @example: ['script', { src: 'https://example.com/script.js', defer: true }]
88
+ */
89
+ type HeadConfig =
90
+ | [string, Record<string, string | boolean>]
91
+
92
+ /**
93
+ * Markdown configuration interface
94
+ */
95
+ export interface Markdown {
96
+ /** Syntax highlighting configuration */
97
+ syntaxHighlight?: SyntaxHighlight
98
+ }
99
+
100
+ /**
101
+ * Logo configuration interface
102
+ */
103
+ export interface Logo {
104
+ /** Path to the logo in light mode. For example: `/path/to/logo.svg` */
105
+ light?: string;
106
+
107
+ /** Path to the logo in dark mode. For example: `/path/to/logo.svg` */
108
+ dark?: string;
109
+
110
+ /** Where clicking on the logo links you to */
111
+ href?: string;
112
+ }
113
+
114
+ /**
115
+ * Banner configuration interface
116
+ */
117
+ export interface Banner {
118
+ /**
119
+ * Banner content.
120
+ */
121
+ content: string | React.JSX.Element
122
+ }
123
+
124
+ export interface IconLibrary {
125
+ /** The iconify library name */
126
+ name: string
127
+
128
+ /** The iconify library version */
129
+ version?: string
130
+
131
+ /** The default iconify icon name */
132
+ default?: boolean
133
+
134
+ /** Merge icons from the library into the default iconify library */
135
+ noprefix?: boolean
136
+ }
137
+
138
+ export interface Icons {
139
+ /** The iconify library */
140
+ library?: string | string[] | IconLibrary | IconLibrary[]
141
+ }
142
+
143
+ /** Available theme preset names */
144
+ export type ThemePresetName = "poetry" | "cosmo" | "opener" | "picasso"
145
+
146
+ /** Search bar location options */
147
+ export type SearchType = "side" | "top"
148
+
149
+ // ------ END settings for theme END ------
150
+
151
+
152
+ // ------ START settings for navigation START ------
153
+ /**
154
+ * Navigation configuration interface
155
+ */
156
+ export interface Navigation {
157
+ /** Definition of sidebar - an array of groups with all the pages within that group */
158
+ sidebar: (SidebarRoute | Sidebar)[]
159
+
160
+ /** Array of headers */
161
+ header?: Header[]
162
+
163
+ /** Array of sub headers */
164
+ subheader?: SubHeader[]
165
+
166
+ /**
167
+ * Array of version names. Only use this if you want to show different versions of docs
168
+ * with a dropdown in the navigation bar.
169
+ */
170
+ // versions?: string[]
171
+
172
+ /** Anchors, includes the icon, name, and url */
173
+ anchors?: AnchorRoot
174
+ }
175
+
176
+ /**
177
+ * Sidebar multi-group configuration
178
+ */
179
+ export interface SidebarRoute {
180
+ /** Route for this sidebar group */
181
+ route: string
182
+
183
+ /** Sidebar items within this group */
184
+ items: Sidebar[]
185
+ }
186
+
187
+ /**
188
+ * Sidebar configuration
189
+ */
190
+ export interface Sidebar {
191
+ /** The name of the group */
192
+ group?: string
193
+
194
+ /**
195
+ * The relative paths to the markdown files that will serve as pages.
196
+ * Note: groups are recursive, so to add a sub-folder add another group object in the page array.
197
+ */
198
+ pages?: PageURL[]
199
+
200
+ /**
201
+ * The icon of the group.
202
+ */
203
+ icon?: string
204
+
205
+ /**
206
+ * The sort order of the group.
207
+ */
208
+ sort?: number
209
+ }
210
+
211
+ /**
212
+ * Page URL type
213
+ */
214
+ export type PageURL = string | VirtualPage | Sidebar
215
+
216
+ /**
217
+ * @internal
218
+ *
219
+ * Virtual page type
220
+ *
221
+ * Virtual pages are composition of pages, needed for templating e.g in uniform
222
+ *
223
+ * Example:
224
+ *
225
+ * {
226
+ * pages: [0
227
+ * ".xyd/.cache/.content/docs/rest/todo:docs/rest/todo",
228
+ * ]
229
+ * }
230
+ *
231
+ * above will be rendered as docs/rest/todo.md using composition from xyd's `.content`
232
+ */
233
+ export type VirtualPage = string | {
234
+ /** The virtual page to use for the page */
235
+ virtual: string
236
+
237
+ /** The page to use for the page */
238
+ page: string
239
+
240
+ /** The template to use for the page */
241
+ templates?: string | string[]
242
+ }
243
+
244
+
245
+ /**
246
+ * Sub-header configuration
247
+ */
248
+ export interface SubHeader {
249
+ /** Route for this sub-header */
250
+ route: string
251
+
252
+ /** Name of this sub-header */
253
+ name: string
254
+
255
+ /** Items within this sub-header */
256
+ items: Header[]
257
+ }
258
+
259
+ /**
260
+ * Header configuration
261
+ */
262
+ export type Header = {
263
+ /** The name of the button */
264
+ name?: string
265
+
266
+ /** The url once you click on the button */
267
+ url?: string
268
+
269
+ /** Float the header to the right */
270
+ float?: "right"
271
+ }
272
+
273
+ /**
274
+ * Anchor configuration
275
+ */
276
+ export interface Anchor {
277
+ /** The iconify icon name */
278
+ icon?: string
279
+
280
+ /** The name of the anchor label */
281
+ name?: string
282
+
283
+ /**
284
+ * The start of the URL that marks what pages go in the anchor.
285
+ * Generally, this is the name of the folder you put your pages in.
286
+ */
287
+ url?: string
288
+ }
289
+
290
+ /**
291
+ * Anchor root configuration
292
+ */
293
+ export interface AnchorRoot {
294
+ /** Bottom anchors */
295
+ bottom?: Anchor[]
296
+ }
297
+
298
+ // ------ END settings for structure END ------
299
+
300
+
301
+ // ------ START settings for API START ------
302
+ /**
303
+ * API configuration interface
304
+ */
305
+ export interface API {
306
+ /**
307
+ * OpenAPI configuration
308
+ */
309
+ openapi?: APIFile
310
+
311
+ /**
312
+ * GraphQL configuration
313
+ */
314
+ graphql?: APIFile
315
+
316
+ /**
317
+ * Sources configuration
318
+ */
319
+ sources?: APIFile
320
+ }
321
+
322
+ /**
323
+ * API file configuration. Can be a path, an array of paths, a map of paths, or an advanced configuration
324
+ */
325
+ export type APIFile = string | string[] | APIFileMap | APIFileAdvanced
326
+
327
+ /**
328
+ * API file map type
329
+ */
330
+ export type APIFileMap = {
331
+ [name: string]: string | APIFileAdvanced
332
+ }
333
+
334
+ /**
335
+ * API file advanced type
336
+ */
337
+ export type APIFileAdvanced = {
338
+ /** API information configuration */
339
+ info?: APIInfo
340
+
341
+ /** Route configuration */
342
+ route: string
343
+ }
344
+
345
+ /**
346
+ * API file type - can be a string, array of strings, or a map of strings
347
+ */
348
+
349
+ /**
350
+ * API information configuration
351
+ */
352
+ export interface APIInfo {
353
+ /**
354
+ * The base url for all API endpoints. If baseUrl is an array, it will enable
355
+ * for multiple base url options that the user can toggle.
356
+ */
357
+ baseUrl?: string
358
+
359
+ /** Authentication information */
360
+ auth?: APIAuth
361
+
362
+ /**
363
+ * The name of the authentication parameter used in the API playground.
364
+ * If method is basic, the format should be [usernameName]:[passwordName]
365
+ */
366
+ name?: string
367
+
368
+ /**
369
+ * The default value that's designed to be a prefisx for the authentication input field.
370
+ * E.g. If an inputPrefix of AuthKey would inherit the default input result of the authentication field as AuthKey.
371
+ */
372
+ inputPrefix?: string
373
+
374
+ /** Configurations for the API playground */
375
+ playground?: APIPlayground
376
+
377
+ /** Request configuration */
378
+ request?: APIInfoRequest
379
+ }
380
+
381
+ /**
382
+ * API authentication configuration
383
+ */
384
+ export interface APIAuth {
385
+ /** The authentication strategy used for all API endpoints */
386
+ method: "bearer" | "basic" | "key"
387
+ }
388
+
389
+ /**
390
+ * API playground configuration
391
+ */
392
+ export interface APIPlayground {
393
+ /** Playground display mode */
394
+ mode?: "show" | "simple" | "hide"
395
+ }
396
+
397
+ /**
398
+ * API request configuration
399
+ */
400
+ export interface APIInfoRequest {
401
+ /** Configurations for the auto-generated API request examples */
402
+ example?: {
403
+ /**
404
+ * An array of strings that determine the order of the languages of the auto-generated request examples.
405
+ * You can either define custom languages utilizing x-codeSamples or use our default languages which include
406
+ * bash, python, javascript, php, go, java
407
+ */
408
+ languages?: string[]
409
+ }
410
+ }
411
+
412
+ // ------ END settings for API END ------
413
+
414
+
415
+ // ------ START settings for integrations START ------
416
+ /**
417
+ * Integrations configuration
418
+ */
419
+ export interface Integrations {
420
+ /**
421
+ * Configurations to add third-party analytics integrations.
422
+ * See full list of supported analytics here.
423
+ */
424
+ analytics?: IntegrationAnalytics
425
+
426
+ /**
427
+ * Configurations to add third-party search integrations.
428
+ * See full list of supported search here.
429
+ */
430
+ search?: IntegrationSearch
431
+ }
432
+
433
+ // #region IntegrationAnalytics
434
+ /**
435
+ * Analytics configuration
436
+ */
437
+ export interface IntegrationAnalytics {
438
+ /** Livesession analytics configuration */
439
+ livesession?: {
440
+ /** Livesession's TrackID */
441
+ trackId: string
442
+ }
443
+ }
444
+ // #endregion IntegrationAnalytics
445
+
446
+ /**
447
+ * Search configuration
448
+ */
449
+ export interface IntegrationSearch {
450
+ /** Algolia search configuration */
451
+ algolia?: {
452
+ /** Algolia application ID */
453
+ appId: string
454
+
455
+ /** Algolia API key */
456
+ apiKey: string
457
+ }
458
+
459
+ orama?: {
460
+ /** Orama endpoint */
461
+ endpoint: string
462
+
463
+ /** Orama API key */
464
+ apiKey: string
465
+
466
+ /** Orama suggestions */
467
+ suggestions?: string[]
468
+ } | boolean
469
+ }
470
+
471
+ // ------ END settings for integrations END ------
472
+
473
+ // ------ START settings for plugins START ------
474
+
475
+ /**
476
+ * Plugin configuration
477
+ *
478
+ * @example
479
+ * 1)
480
+ * {
481
+ * plugins: [
482
+ * "livesession",
483
+ * ]
484
+ * }
485
+ *
486
+ * or 2)
487
+ * {
488
+ * plugins: [
489
+ * [
490
+ * "livesession",
491
+ * "accountID.websiteID",
492
+ * {
493
+ * keystrokes: true
494
+ * }
495
+ * ]
496
+ * ]
497
+ * }
498
+ *
499
+ * you can also use the type to define the plugin config in your code:
500
+ *
501
+ * const livesessionPlugin: PluginConfig<"livesession", [string, { keystrokes: boolean }]> = [
502
+ * "livesession",
503
+ * "accountID.websiteID",
504
+ * {
505
+ * keystrokes: true
506
+ * }
507
+ * ]
508
+ */
509
+ export type Plugins = (string | PluginConfig)[]
510
+
511
+ export type PluginConfig<
512
+ PluginName extends string = string,
513
+ PluginArgs extends unknown[] = unknown[]
514
+ > = [PluginName, ...PluginArgs]
515
+
516
+
517
+ // ------ END settings for plugins END ------
518
+
519
+ // ------ START settings for redirecs START ------
520
+ /**
521
+ * Redirects configuration
522
+ */
523
+ export interface Redirects {
524
+ /** Source path to redirect from */
525
+ source: string
526
+
527
+ /** Destination path to redirect to */
528
+ destination: string
529
+ }
530
+
531
+ /**
532
+ * SEO configuration
533
+ */
534
+ export interface SEO {
535
+ /**
536
+ * Domain name
537
+ */
538
+ domain?: string
539
+
540
+ /**
541
+ * Meta tags
542
+ */
543
+ metatags?: {[tag: string]: string} // TODO: in the future type-safe
544
+ }
545
+
546
+ // ------ END settings for redirects END ------
547
+
548
+ // ------ START settings for engine START ------
549
+ /**
550
+ * Config configuration
551
+ */
552
+ export interface Engine {
553
+ /**
554
+ * Path aliases for imports. Avoid long relative paths by creating shortcuts.
555
+ *
556
+ * @example
557
+ * ```json
558
+ * {
559
+ * "paths": {
560
+ * "@my-package/*": ["../my-package/src/*"],
561
+ * "@livesession-go/*": ["https://github.com/livesession/livesession-go/*"]
562
+ * }
563
+ * }
564
+ * ```
565
+ *
566
+ * Usage:
567
+ * ```typescript
568
+ * // Instead of
569
+ * @importCode("../../../my-package/src/components/Badge.tsx")
570
+ *
571
+ * // Use
572
+ * @importCode("@my-package/src/components/Badge.tsx")
573
+ * ```
574
+ */
575
+ paths?: EnginePaths
576
+
577
+ /**
578
+ * @unsafe
579
+ *
580
+ * Uniform configuration
581
+ *
582
+ */
583
+ uniform?: EngineUniform
584
+ }
585
+
586
+ export type EnginePaths = { [key: string]: string[] }
587
+
588
+ export type EngineUniform = {
589
+ /**
590
+ * If `true` then virtual pages will not created and generated content will be stored on disk
591
+ */
592
+ store?: boolean
593
+ }
594
+
595
+ // ------ END settings for config END ------
@@ -0,0 +1,8 @@
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "./dist",
4
+ "jsx": "react-jsx",
5
+ "skipLibCheck": true
6
+ }
7
+ }
8
+