polen 0.10.0-next.3 → 0.10.0-next.4
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.
- package/README.md +49 -376
- package/build/api/api.d.ts +1 -0
- package/build/api/api.d.ts.map +1 -1
- package/build/api/api.js +1 -0
- package/build/api/api.js.map +1 -1
- package/build/api/static/index.d.ts +2 -0
- package/build/api/static/index.d.ts.map +1 -0
- package/build/api/static/index.js +2 -0
- package/build/api/static/index.js.map +1 -0
- package/build/api/static/manifest.d.ts +18 -0
- package/build/api/static/manifest.d.ts.map +1 -0
- package/build/api/static/manifest.js +13 -0
- package/build/api/static/manifest.js.map +1 -0
- package/build/api/static/rebase.d.ts +14 -0
- package/build/api/static/rebase.d.ts.map +1 -0
- package/build/api/static/rebase.js +110 -0
- package/build/api/static/rebase.js.map +1 -0
- package/build/api/static/static.d.ts +3 -0
- package/build/api/static/static.d.ts.map +1 -0
- package/build/api/static/static.js +3 -0
- package/build/api/static/static.js.map +1 -0
- package/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +22 -1
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/cli/commands/static/$default.d.ts +3 -0
- package/build/cli/commands/static/$default.d.ts.map +1 -0
- package/build/cli/commands/static/$default.js +38 -0
- package/build/cli/commands/static/$default.js.map +1 -0
- package/build/cli/commands/static/rebase.d.ts +2 -0
- package/build/cli/commands/static/rebase.d.ts.map +1 -0
- package/build/cli/commands/static/rebase.js +26 -0
- package/build/cli/commands/static/rebase.js.map +1 -0
- package/build/cli/commands/static.d.ts +3 -0
- package/build/cli/commands/static.d.ts.map +1 -0
- package/build/cli/commands/static.js +5 -0
- package/build/cli/commands/static.js.map +1 -0
- package/build/lib/demos/builder.d.ts +83 -0
- package/build/lib/demos/builder.d.ts.map +1 -0
- package/build/lib/demos/builder.js +237 -0
- package/build/lib/demos/builder.js.map +1 -0
- package/build/lib/demos/config-schema.d.ts +243 -0
- package/build/lib/demos/config-schema.d.ts.map +1 -0
- package/build/lib/demos/config-schema.js +52 -0
- package/build/lib/demos/config-schema.js.map +1 -0
- package/build/lib/demos/config.d.ts +40 -0
- package/build/lib/demos/config.d.ts.map +1 -0
- package/build/lib/demos/config.js +180 -0
- package/build/lib/demos/config.js.map +1 -0
- package/build/lib/demos/index.d.ts +9 -0
- package/build/lib/demos/index.d.ts.map +1 -0
- package/build/lib/demos/index.js +8 -0
- package/build/lib/demos/index.js.map +1 -0
- package/build/lib/demos/ui/components.d.ts +33 -0
- package/build/lib/demos/ui/components.d.ts.map +1 -0
- package/build/lib/demos/ui/components.js +699 -0
- package/build/lib/demos/ui/components.js.map +1 -0
- package/build/lib/demos/ui/data-collector.d.ts +88 -0
- package/build/lib/demos/ui/data-collector.d.ts.map +1 -0
- package/build/lib/demos/ui/data-collector.js +174 -0
- package/build/lib/demos/ui/data-collector.js.map +1 -0
- package/build/lib/demos/ui/landing-page-cli.d.ts +3 -0
- package/build/lib/demos/ui/landing-page-cli.d.ts.map +1 -0
- package/build/lib/demos/ui/landing-page-cli.js +21 -0
- package/build/lib/demos/ui/landing-page-cli.js.map +1 -0
- package/build/lib/demos/ui/landing-page.d.ts +32 -0
- package/build/lib/demos/ui/landing-page.d.ts.map +1 -0
- package/build/lib/demos/ui/landing-page.js +83 -0
- package/build/lib/demos/ui/landing-page.js.map +1 -0
- package/build/lib/demos/ui/page-renderer.d.ts +26 -0
- package/build/lib/demos/ui/page-renderer.d.ts.map +1 -0
- package/build/lib/demos/ui/page-renderer.js +104 -0
- package/build/lib/demos/ui/page-renderer.js.map +1 -0
- package/build/lib/demos/utils.d.ts +14 -0
- package/build/lib/demos/utils.d.ts.map +1 -0
- package/build/lib/demos/utils.js +37 -0
- package/build/lib/demos/utils.js.map +1 -0
- package/build/lib/deployment/$$.d.ts +3 -0
- package/build/lib/deployment/$$.d.ts.map +1 -0
- package/build/lib/deployment/$$.js +3 -0
- package/build/lib/deployment/$$.js.map +1 -0
- package/build/lib/deployment/$.d.ts +2 -0
- package/build/lib/deployment/$.d.ts.map +1 -0
- package/build/lib/deployment/$.js +2 -0
- package/build/lib/deployment/$.js.map +1 -0
- package/build/lib/deployment/metadata.d.ts +32 -0
- package/build/lib/deployment/metadata.d.ts.map +1 -0
- package/build/lib/deployment/metadata.js +37 -0
- package/build/lib/deployment/metadata.js.map +1 -0
- package/build/lib/deployment/path-manager.d.ts +41 -0
- package/build/lib/deployment/path-manager.d.ts.map +1 -0
- package/build/lib/deployment/path-manager.js +157 -0
- package/build/lib/deployment/path-manager.js.map +1 -0
- package/build/lib/github-actions/git-controller.d.ts +50 -0
- package/build/lib/github-actions/git-controller.d.ts.map +1 -0
- package/build/lib/github-actions/git-controller.js +90 -0
- package/build/lib/github-actions/git-controller.js.map +1 -0
- package/build/lib/github-actions/github-actions.d.ts +7 -0
- package/build/lib/github-actions/github-actions.d.ts.map +1 -0
- package/build/lib/github-actions/github-actions.js +7 -0
- package/build/lib/github-actions/github-actions.js.map +1 -0
- package/build/lib/github-actions/index.d.ts +2 -0
- package/build/lib/github-actions/index.d.ts.map +1 -0
- package/build/lib/github-actions/index.js +2 -0
- package/build/lib/github-actions/index.js.map +1 -0
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts +12 -0
- package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +1 -0
- package/build/lib/github-actions/lib/get-pr-deployments.js +51 -0
- package/build/lib/github-actions/lib/get-pr-deployments.js.map +1 -0
- package/build/lib/github-actions/pr-controller.d.ts +39 -0
- package/build/lib/github-actions/pr-controller.d.ts.map +1 -0
- package/build/lib/github-actions/pr-controller.js +122 -0
- package/build/lib/github-actions/pr-controller.js.map +1 -0
- package/build/lib/github-actions/run-step-cli.d.ts +9 -0
- package/build/lib/github-actions/run-step-cli.d.ts.map +1 -0
- package/build/lib/github-actions/run-step-cli.js +71 -0
- package/build/lib/github-actions/run-step-cli.js.map +1 -0
- package/build/lib/github-actions/runner.d.ts +17 -0
- package/build/lib/github-actions/runner.d.ts.map +1 -0
- package/build/lib/github-actions/runner.js +195 -0
- package/build/lib/github-actions/runner.js.map +1 -0
- package/build/lib/github-actions/schemas/context.d.ts +933 -0
- package/build/lib/github-actions/schemas/context.d.ts.map +1 -0
- package/build/lib/github-actions/schemas/context.js +407 -0
- package/build/lib/github-actions/schemas/context.js.map +1 -0
- package/build/lib/github-actions/schemas/index.d.ts +5 -0
- package/build/lib/github-actions/schemas/index.d.ts.map +1 -0
- package/build/lib/github-actions/schemas/index.js +5 -0
- package/build/lib/github-actions/schemas/index.js.map +1 -0
- package/build/lib/github-actions/search-module.d.ts +38 -0
- package/build/lib/github-actions/search-module.d.ts.map +1 -0
- package/build/lib/github-actions/search-module.js +40 -0
- package/build/lib/github-actions/search-module.js.map +1 -0
- package/build/lib/github-actions/step.d.ts +163 -0
- package/build/lib/github-actions/step.d.ts.map +1 -0
- package/build/lib/github-actions/step.js +121 -0
- package/build/lib/github-actions/step.js.map +1 -0
- package/build/lib/helpers.d.ts.map +1 -1
- package/build/lib/helpers.js +5 -3
- package/build/lib/helpers.js.map +1 -1
- package/build/lib/kit-temp.d.ts +54 -0
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +80 -14
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/kit-temp.test-d.d.ts +2 -0
- package/build/lib/kit-temp.test-d.d.ts.map +1 -0
- package/build/lib/kit-temp.test-d.js +75 -0
- package/build/lib/kit-temp.test-d.js.map +1 -0
- package/build/lib/mask/$$.d.ts +3 -0
- package/build/lib/mask/$$.d.ts.map +1 -0
- package/build/lib/mask/$$.js +3 -0
- package/build/lib/mask/$$.js.map +1 -0
- package/build/lib/mask/$.d.ts +2 -0
- package/build/lib/mask/$.d.ts.map +1 -0
- package/build/lib/mask/$.js +2 -0
- package/build/lib/mask/$.js.map +1 -0
- package/build/lib/mask/apply.d.ts +86 -0
- package/build/lib/mask/apply.d.ts.map +1 -0
- package/build/lib/mask/apply.js +86 -0
- package/build/lib/mask/apply.js.map +1 -0
- package/build/lib/mask/mask.d.ts +124 -0
- package/build/lib/mask/mask.d.ts.map +1 -0
- package/build/lib/mask/mask.js +137 -0
- package/build/lib/mask/mask.js.map +1 -0
- package/build/lib/mask/mask.test-d.d.ts +2 -0
- package/build/lib/mask/mask.test-d.d.ts.map +1 -0
- package/build/lib/mask/mask.test-d.js +102 -0
- package/build/lib/mask/mask.test-d.js.map +1 -0
- package/build/lib/task/$$.d.ts +3 -0
- package/build/lib/task/$$.d.ts.map +1 -0
- package/build/lib/task/$$.js +3 -0
- package/build/lib/task/$$.js.map +1 -0
- package/build/lib/task/$.d.ts +2 -0
- package/build/lib/task/$.d.ts.map +1 -0
- package/build/lib/task/$.js +2 -0
- package/build/lib/task/$.js.map +1 -0
- package/build/lib/task/report.d.ts +28 -0
- package/build/lib/task/report.d.ts.map +1 -0
- package/build/lib/task/report.js +33 -0
- package/build/lib/task/report.js.map +1 -0
- package/build/lib/task/task.d.ts +44 -0
- package/build/lib/task/task.d.ts.map +1 -0
- package/build/lib/task/task.js +63 -0
- package/build/lib/task/task.js.map +1 -0
- package/build/lib/version-history/index.d.ts +3 -0
- package/build/lib/version-history/index.d.ts.map +1 -0
- package/build/lib/version-history/index.js +2 -0
- package/build/lib/version-history/index.js.map +1 -0
- package/build/lib/version-history/types.d.ts +64 -0
- package/build/lib/version-history/types.d.ts.map +1 -0
- package/build/lib/version-history/types.js +5 -0
- package/build/lib/version-history/types.js.map +1 -0
- package/build/lib/version-history/version-history.d.ts +85 -0
- package/build/lib/version-history/version-history.d.ts.map +1 -0
- package/build/lib/version-history/version-history.js +248 -0
- package/build/lib/version-history/version-history.js.map +1 -0
- package/build/sandbox.d.ts +2 -0
- package/build/sandbox.d.ts.map +1 -0
- package/build/sandbox.js +3 -0
- package/build/sandbox.js.map +1 -0
- package/build/template/components/Link.jsx +1 -1
- package/package.json +16 -9
- package/src/api/api.ts +1 -0
- package/src/api/singletons/markdown/markdown.test.ts +1 -1
- package/src/api/static/index.ts +1 -0
- package/src/api/static/manifest.test.ts +106 -0
- package/src/api/static/manifest.ts +16 -0
- package/src/api/static/rebase.test.ts +229 -0
- package/src/api/static/rebase.ts +140 -0
- package/src/api/static/static.ts +2 -0
- package/src/api/utils/asset-url/asset-url.test.ts +4 -4
- package/src/api/vite/plugins/build.ts +25 -1
- package/src/api/vite/plugins/core.ts +1 -1
- package/src/cli/commands/static/$default.ts +43 -0
- package/src/cli/commands/static/rebase.ts +37 -0
- package/src/cli/commands/static.ts +6 -0
- package/src/lib/demos/builder.ts +298 -0
- package/src/lib/demos/config-schema.ts +56 -0
- package/src/lib/demos/config.test.ts +193 -0
- package/src/lib/demos/config.ts +205 -0
- package/src/lib/demos/index.ts +9 -0
- package/src/lib/demos/ui/components.ts +739 -0
- package/src/lib/demos/ui/data-collector.ts +246 -0
- package/src/lib/demos/ui/landing-page-cli.ts +23 -0
- package/src/lib/demos/ui/landing-page.ts +126 -0
- package/src/lib/demos/ui/page-renderer.ts +124 -0
- package/src/lib/demos/utils.ts +43 -0
- package/src/lib/deployment/$$.ts +2 -0
- package/src/lib/deployment/$.test.ts +53 -0
- package/src/lib/deployment/$.ts +1 -0
- package/src/lib/deployment/metadata.ts +40 -0
- package/src/lib/deployment/path-manager.ts +186 -0
- package/src/lib/github-actions/git-controller.ts +151 -0
- package/src/lib/github-actions/github-actions.ts +6 -0
- package/src/lib/github-actions/index.ts +1 -0
- package/src/lib/github-actions/lib/get-pr-deployments.ts +76 -0
- package/src/lib/github-actions/pr-controller.test.ts +172 -0
- package/src/lib/github-actions/pr-controller.ts +183 -0
- package/src/lib/github-actions/run-step-cli.ts +84 -0
- package/src/lib/github-actions/runner.test.ts +192 -0
- package/src/lib/github-actions/runner.ts +226 -0
- package/src/lib/github-actions/schemas/context.ts +424 -0
- package/src/lib/github-actions/schemas/index.ts +5 -0
- package/src/lib/github-actions/search-module.test.ts +110 -0
- package/src/lib/github-actions/search-module.ts +76 -0
- package/src/lib/github-actions/step.test.ts +149 -0
- package/src/lib/github-actions/step.ts +232 -0
- package/src/lib/helpers.ts +4 -3
- package/src/lib/kit-temp.test-d.ts +115 -0
- package/src/lib/kit-temp.test.ts +127 -0
- package/src/lib/kit-temp.ts +126 -14
- package/src/lib/mask/$$.ts +2 -0
- package/src/lib/mask/$.test.ts +248 -0
- package/src/lib/mask/$.ts +1 -0
- package/src/lib/mask/apply.ts +134 -0
- package/src/lib/mask/mask.test-d.ts +144 -0
- package/src/lib/mask/mask.ts +244 -0
- package/src/lib/shiki/shiki.test.ts +1 -1
- package/src/lib/task/$$.ts +2 -0
- package/src/lib/task/$.test.ts +209 -0
- package/src/lib/task/$.ts +1 -0
- package/src/lib/task/report.ts +72 -0
- package/src/lib/task/task.ts +112 -0
- package/src/lib/version-history/index.test.ts +188 -0
- package/src/lib/version-history/index.ts +4 -0
- package/src/lib/version-history/types.ts +68 -0
- package/src/lib/version-history/version-history.ts +293 -0
- package/src/sandbox.ts +1 -0
- package/src/template/components/Link.tsx +1 -1
@@ -0,0 +1,205 @@
|
|
1
|
+
import { gte as semverGte, parse as semverParse } from '@vltpkg/semver'
|
2
|
+
import { readFileSync } from 'node:fs'
|
3
|
+
import type { DemoConfigData } from './config-schema.ts'
|
4
|
+
import { DemoConfigSchema, LegacyDemoConfigSchema } from './config-schema.ts'
|
5
|
+
|
6
|
+
// Try to import the TypeScript config
|
7
|
+
let importedConfig: DemoConfigData | null = null
|
8
|
+
try {
|
9
|
+
// @ts-ignore - This import might fail if the file doesn't exist
|
10
|
+
const configModule = await import('../../../.github/demo-config.ts')
|
11
|
+
importedConfig = configModule.default || configModule.demoConfig
|
12
|
+
} catch {
|
13
|
+
// Config file doesn't exist or failed to load
|
14
|
+
}
|
15
|
+
|
16
|
+
// Default configuration
|
17
|
+
const DEFAULT_CONFIG: DemoConfigData = {
|
18
|
+
examples: {
|
19
|
+
exclude: [],
|
20
|
+
order: [],
|
21
|
+
minimumPolenVersion: '0.1.0',
|
22
|
+
},
|
23
|
+
deployment: {
|
24
|
+
basePaths: {},
|
25
|
+
redirects: [],
|
26
|
+
gc: {
|
27
|
+
retainStableVersions: true,
|
28
|
+
retainCurrentCycle: true,
|
29
|
+
retainDays: 30,
|
30
|
+
},
|
31
|
+
},
|
32
|
+
ui: {
|
33
|
+
theme: {
|
34
|
+
primaryColor: '#000',
|
35
|
+
backgroundColor: '#fff',
|
36
|
+
textColor: '#000',
|
37
|
+
mutedTextColor: '#666',
|
38
|
+
},
|
39
|
+
branding: {
|
40
|
+
title: 'Polen Demos',
|
41
|
+
description: 'Interactive GraphQL API documentation',
|
42
|
+
},
|
43
|
+
},
|
44
|
+
metadata: {
|
45
|
+
disabledDemos: {
|
46
|
+
github: {
|
47
|
+
title: 'GitHub API',
|
48
|
+
description: "Browse GitHub's extensive GraphQL API with over 1600 types.",
|
49
|
+
reason: 'Currently disabled due to build performance.',
|
50
|
+
},
|
51
|
+
},
|
52
|
+
},
|
53
|
+
}
|
54
|
+
|
55
|
+
export class DemoConfig {
|
56
|
+
private data: DemoConfigData
|
57
|
+
private configPath: string
|
58
|
+
|
59
|
+
constructor(configPath: string = '.github/demo-config') {
|
60
|
+
this.configPath = configPath
|
61
|
+
this.data = this.loadConfig()
|
62
|
+
}
|
63
|
+
|
64
|
+
private loadConfig(): DemoConfigData {
|
65
|
+
// Check if we're loading the default config path and have an imported TypeScript config
|
66
|
+
if (this.configPath === '.github/demo-config' && importedConfig) {
|
67
|
+
const parsed = DemoConfigSchema.safeParse(importedConfig)
|
68
|
+
if (parsed.success) {
|
69
|
+
return parsed.data
|
70
|
+
}
|
71
|
+
}
|
72
|
+
|
73
|
+
// Try JSON config
|
74
|
+
try {
|
75
|
+
const jsonConfigPath = `${this.configPath}.json`
|
76
|
+
const raw = JSON.parse(readFileSync(jsonConfigPath, 'utf-8'))
|
77
|
+
|
78
|
+
// Try to parse as modern config first
|
79
|
+
const modernParse = DemoConfigSchema.safeParse(raw)
|
80
|
+
if (modernParse.success) {
|
81
|
+
return modernParse.data
|
82
|
+
}
|
83
|
+
|
84
|
+
// Fall back to legacy config format
|
85
|
+
const legacyParse = LegacyDemoConfigSchema.safeParse(raw)
|
86
|
+
if (legacyParse.success) {
|
87
|
+
const legacy = legacyParse.data
|
88
|
+
return {
|
89
|
+
...DEFAULT_CONFIG,
|
90
|
+
examples: {
|
91
|
+
...DEFAULT_CONFIG.examples,
|
92
|
+
exclude: legacy.excludeDemos || DEFAULT_CONFIG.examples.exclude,
|
93
|
+
order: legacy.order || DEFAULT_CONFIG.examples.order,
|
94
|
+
minimumPolenVersion: legacy.minimumPolenVersion || legacy.minimumVersion
|
95
|
+
|| DEFAULT_CONFIG.examples.minimumPolenVersion,
|
96
|
+
},
|
97
|
+
}
|
98
|
+
}
|
99
|
+
|
100
|
+
throw new Error('Invalid config format')
|
101
|
+
} catch (e) {
|
102
|
+
console.warn(`No config file found at ${this.configPath}.json, using defaults`)
|
103
|
+
return DEFAULT_CONFIG
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
get excludeDemos(): string[] {
|
108
|
+
return this.data.examples.exclude
|
109
|
+
}
|
110
|
+
|
111
|
+
get minimumPolenVersion(): string {
|
112
|
+
return this.data.examples.minimumPolenVersion
|
113
|
+
}
|
114
|
+
|
115
|
+
get order(): string[] {
|
116
|
+
return this.data.examples.order
|
117
|
+
}
|
118
|
+
|
119
|
+
get fullConfig(): DemoConfigData {
|
120
|
+
return this.data
|
121
|
+
}
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Check if a Polen version meets the minimum requirement
|
125
|
+
*/
|
126
|
+
meetsMinimumPolenVersion(polenVersion: string): boolean {
|
127
|
+
const versionParsed = semverParse(polenVersion)
|
128
|
+
const minVersionParsed = semverParse(this.minimumPolenVersion)
|
129
|
+
|
130
|
+
if (!versionParsed || !minVersionParsed) {
|
131
|
+
return false
|
132
|
+
}
|
133
|
+
|
134
|
+
return semverGte(versionParsed, minVersionParsed)
|
135
|
+
}
|
136
|
+
|
137
|
+
/**
|
138
|
+
* Check if a demo is excluded
|
139
|
+
*/
|
140
|
+
isDemoExcluded(demoName: string): boolean {
|
141
|
+
return this.data.examples.exclude.includes(demoName)
|
142
|
+
}
|
143
|
+
|
144
|
+
/**
|
145
|
+
* Get ordered list of demos (non-excluded)
|
146
|
+
* @param availableDemos List of all available demo names
|
147
|
+
* @returns Ordered list with configured order first, then alphabetical
|
148
|
+
*/
|
149
|
+
getOrderedDemos(availableDemos: string[]): string[] {
|
150
|
+
const nonExcluded = availableDemos.filter(demo => !this.isDemoExcluded(demo))
|
151
|
+
const orderedDemos: string[] = []
|
152
|
+
const remainingDemos = [...nonExcluded]
|
153
|
+
|
154
|
+
// Add demos in the specified order
|
155
|
+
for (const demo of this.order) {
|
156
|
+
if (nonExcluded.includes(demo)) {
|
157
|
+
orderedDemos.push(demo)
|
158
|
+
const index = remainingDemos.indexOf(demo)
|
159
|
+
if (index > -1) {
|
160
|
+
remainingDemos.splice(index, 1)
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
|
165
|
+
// Add remaining demos in alphabetical order
|
166
|
+
remainingDemos.sort()
|
167
|
+
orderedDemos.push(...remainingDemos)
|
168
|
+
|
169
|
+
return orderedDemos
|
170
|
+
}
|
171
|
+
|
172
|
+
/**
|
173
|
+
* Get deployment path for a version
|
174
|
+
*/
|
175
|
+
getDeploymentPath(version: string, isStable: boolean = false): string {
|
176
|
+
return isStable ? '/latest/' : `/${version}/`
|
177
|
+
}
|
178
|
+
|
179
|
+
/**
|
180
|
+
* Get all disabled demos with metadata
|
181
|
+
*/
|
182
|
+
getDisabledDemos(): Record<string, { title: string; description: string; reason?: string }> {
|
183
|
+
return this.data.metadata.disabledDemos
|
184
|
+
}
|
185
|
+
}
|
186
|
+
|
187
|
+
// Singleton instance for convenience
|
188
|
+
let defaultConfig: DemoConfig | null = null
|
189
|
+
|
190
|
+
export function getDemoConfig(configPath?: string): DemoConfig {
|
191
|
+
if (configPath) {
|
192
|
+
// Always create new instance when path is provided
|
193
|
+
return new DemoConfig(configPath)
|
194
|
+
}
|
195
|
+
|
196
|
+
if (!defaultConfig) {
|
197
|
+
defaultConfig = new DemoConfig()
|
198
|
+
}
|
199
|
+
return defaultConfig
|
200
|
+
}
|
201
|
+
|
202
|
+
// For testing only
|
203
|
+
export function resetDemoConfig(): void {
|
204
|
+
defaultConfig = null
|
205
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
/**
|
2
|
+
* Public API for the demos library
|
3
|
+
*/
|
4
|
+
|
5
|
+
export { demoBuilder } from './builder.ts'
|
6
|
+
export type { DemoConfigData } from './config-schema.ts'
|
7
|
+
export { DemoConfig, getDemoConfig, resetDemoConfig } from './config.ts'
|
8
|
+
export { buildDemosHome, buildDemosHomeWithCatalog, type CatalogOptions, type Options } from './ui/landing-page.ts'
|
9
|
+
export { getDemoExamples } from './utils.ts'
|