zudoku 0.19.0 → 0.20.1

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 (68) hide show
  1. package/dist/cli/common/outdated.js +2 -1
  2. package/dist/cli/common/outdated.js.map +1 -1
  3. package/dist/config/common.d.ts +8 -0
  4. package/dist/config/common.js +2 -0
  5. package/dist/config/common.js.map +1 -0
  6. package/dist/config/config.d.ts +3 -2
  7. package/dist/config/loader.d.ts +12 -0
  8. package/dist/config/loader.js +117 -0
  9. package/dist/config/loader.js.map +1 -0
  10. package/dist/config/validators/common.d.ts +4651 -0
  11. package/dist/config/validators/common.js +269 -0
  12. package/dist/config/validators/common.js.map +1 -0
  13. package/dist/config/validators/validate.d.ts +350 -584
  14. package/dist/config/validators/validate.js +9 -246
  15. package/dist/config/validators/validate.js.map +1 -1
  16. package/dist/lib/components/Heading.d.ts +1 -1
  17. package/dist/lib/components/TopNavigation.d.ts +1 -1
  18. package/dist/lib/components/navigation/SidebarCategory.d.ts +1 -2
  19. package/dist/lib/components/navigation/SidebarCategory.js +3 -4
  20. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  21. package/dist/lib/components/navigation/SidebarItem.d.ts +1 -3
  22. package/dist/lib/components/navigation/SidebarItem.js +4 -9
  23. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  24. package/dist/lib/components/navigation/SidebarWrapper.js +1 -1
  25. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  26. package/dist/lib/core/ZudokuContext.d.ts +1 -1
  27. package/dist/lib/plugins/markdown/index.d.ts +1 -1
  28. package/dist/lib/plugins/markdown/resolver.js.map +1 -1
  29. package/dist/lib/plugins/redirect/index.d.ts +1 -1
  30. package/dist/lib/ui/Command.d.ts +1 -1
  31. package/dist/lib/util/MdxComponents.d.ts +2 -3
  32. package/dist/lib/util/MdxComponents.js.map +1 -1
  33. package/dist/vite/build.js +4 -1
  34. package/dist/vite/build.js.map +1 -1
  35. package/dist/vite/config.d.ts +1 -3
  36. package/dist/vite/config.js +2 -4
  37. package/dist/vite/config.js.map +1 -1
  38. package/dist/vite/dev-server.js.map +1 -1
  39. package/dist/vite/output.d.ts +1 -1
  40. package/dist/vite/output.js.map +1 -1
  41. package/dist/vite/plugin-config-reload.d.ts +1 -2
  42. package/dist/vite/plugin-config-reload.js.map +1 -1
  43. package/dist/vite/plugin.d.ts +1 -2
  44. package/dist/vite/plugin.js.map +1 -1
  45. package/dist/vite/prerender.d.ts +2 -1
  46. package/dist/vite/prerender.js +2 -2
  47. package/dist/vite/prerender.js.map +1 -1
  48. package/dist/vite/sitemap.d.ts +1 -1
  49. package/dist/zuplo/env.d.ts +6 -0
  50. package/dist/zuplo/env.js +9 -0
  51. package/dist/zuplo/env.js.map +1 -0
  52. package/dist/zuplo/with-zuplo.d.ts +2 -2
  53. package/dist/zuplo/with-zuplo.js.map +1 -1
  54. package/lib/Markdown-ievDDhFT.js.map +1 -1
  55. package/lib/zudoku.components.js +259 -271
  56. package/lib/zudoku.components.js.map +1 -1
  57. package/lib/zudoku.plugin-markdown.js.map +1 -1
  58. package/lib/zudoku.plugin-redirect.js.map +1 -1
  59. package/package.json +2 -2
  60. package/src/lib/components/TopNavigation.tsx +1 -1
  61. package/src/lib/components/navigation/SidebarCategory.tsx +7 -9
  62. package/src/lib/components/navigation/SidebarItem.tsx +3 -16
  63. package/src/lib/components/navigation/SidebarWrapper.tsx +1 -1
  64. package/src/lib/core/ZudokuContext.ts +1 -1
  65. package/src/lib/plugins/markdown/index.tsx +1 -1
  66. package/src/lib/plugins/markdown/resolver.ts +2 -4
  67. package/src/lib/plugins/redirect/index.tsx +1 -1
  68. package/src/lib/util/MdxComponents.tsx +2 -5
@@ -0,0 +1,269 @@
1
+ import z from "zod";
2
+ import { fromError } from "zod-validation-error";
3
+ import { InputSidebarSchema } from "./InputSidebarSchema.js";
4
+ const AnyObject = z.object({}).passthrough();
5
+ const ThemeSchema = z
6
+ .object({
7
+ background: z.string(),
8
+ foreground: z.string(),
9
+ card: z.string(),
10
+ cardForeground: z.string(),
11
+ popover: z.string(),
12
+ popoverForeground: z.string(),
13
+ primary: z.string(),
14
+ primaryForeground: z.string(),
15
+ secondary: z.string(),
16
+ secondaryForeground: z.string(),
17
+ muted: z.string(),
18
+ mutedForeground: z.string(),
19
+ accent: z.string(),
20
+ accentForeground: z.string(),
21
+ destructive: z.string(),
22
+ destructiveForeground: z.string(),
23
+ border: z.string(),
24
+ input: z.string(),
25
+ ring: z.string(),
26
+ radius: z.string(),
27
+ })
28
+ .partial();
29
+ const ApiCatalogCategorySchema = z.object({
30
+ label: z.string(),
31
+ tags: z.array(z.string()),
32
+ });
33
+ const ApiConfigSchema = z.object({
34
+ id: z.string().optional(),
35
+ server: z.string().optional(),
36
+ navigationId: z.string().optional(),
37
+ categories: z.array(ApiCatalogCategorySchema).optional(),
38
+ });
39
+ const ApiPostProcessorSchema = z
40
+ .function()
41
+ .args(AnyObject)
42
+ .returns(z.union([AnyObject, z.promise(AnyObject)]));
43
+ const ApiSchema = z.union([
44
+ z
45
+ .object({ type: z.literal("url"), input: z.string() })
46
+ .merge(ApiConfigSchema),
47
+ z
48
+ .object({ type: z.literal("file"), input: z.string() })
49
+ .merge(ApiConfigSchema)
50
+ .merge(z.object({ postProcessors: ApiPostProcessorSchema.array().optional() })),
51
+ z
52
+ .object({ type: z.literal("raw"), input: z.string() })
53
+ .merge(ApiConfigSchema),
54
+ ]);
55
+ const ApiKeysSchema = z.union([
56
+ z.object({
57
+ enabled: z.boolean(),
58
+ endpoint: z.string(),
59
+ }),
60
+ z.object({
61
+ enabled: z.boolean(),
62
+ getKeys: z.custom((val) => typeof val === "function"),
63
+ rollKey: z
64
+ .custom((val) => typeof val === "function")
65
+ .optional(),
66
+ deleteKey: z
67
+ .custom((val) => typeof val === "function")
68
+ .optional(),
69
+ updateKeyDescription: z
70
+ .custom((val) => typeof val === "function")
71
+ .optional(),
72
+ createKey: z
73
+ .custom((val) => typeof val === "function")
74
+ .optional(),
75
+ }),
76
+ ]);
77
+ const LogoSchema = z.object({
78
+ src: z.object({ light: z.string(), dark: z.string() }),
79
+ alt: z.string().optional(),
80
+ width: z.string().optional(),
81
+ });
82
+ const SiteMapSchema = z
83
+ .object({
84
+ /**
85
+ * Base url of your website
86
+ */
87
+ siteUrl: z.string(),
88
+ /**
89
+ * Change frequency.
90
+ * @default 'daily'
91
+ */
92
+ changefreq: z.optional(z.enum([
93
+ "always",
94
+ "hourly",
95
+ "daily",
96
+ "weekly",
97
+ "monthly",
98
+ "yearly",
99
+ "never",
100
+ ])),
101
+ /**
102
+ * Priority
103
+ * @default 0.7
104
+ */
105
+ priority: z.optional(z.number()),
106
+ outDir: z.string().optional(),
107
+ /**
108
+ * Add <lastmod/> property.
109
+ * @default true
110
+ */
111
+ autoLastmod: z.boolean().optional(),
112
+ /**
113
+ * Array of relative paths to exclude from listing on sitemap.xml or sitemap-*.xml.
114
+ * @example ['/page-0', '/page/example']
115
+ */
116
+ exclude: z
117
+ .union([
118
+ z.function().returns(z.promise(z.array(z.string()))),
119
+ z.array(z.string()),
120
+ ])
121
+ .optional(),
122
+ })
123
+ .optional();
124
+ const DocsConfigSchema = z.object({
125
+ files: z.string(),
126
+ defaultOptions: z
127
+ .object({
128
+ toc: z.boolean(),
129
+ disablePager: z.boolean(),
130
+ })
131
+ .partial()
132
+ .optional(),
133
+ });
134
+ const TopNavigationItemSchema = z.object({
135
+ label: z.string(),
136
+ id: z.string(),
137
+ default: z.string().optional(),
138
+ display: z.enum(["auth", "anon", "always"]).default("always").optional(),
139
+ });
140
+ const Redirect = z.object({
141
+ from: z.string(),
142
+ to: z.string(),
143
+ });
144
+ const SearchSchema = z
145
+ .object({
146
+ type: z.literal("inkeep"),
147
+ apiKey: z.string(),
148
+ integrationId: z.string(),
149
+ organizationId: z.string(),
150
+ primaryBrandColor: z.string(),
151
+ organizationDisplayName: z.string(),
152
+ })
153
+ .optional();
154
+ const AuthenticationSchema = z.union([
155
+ z.object({
156
+ type: z.literal("clerk"),
157
+ clerkPubKey: z.custom((val) => typeof val === "string" ? /^pk_(test|live)_\w+$/.test(val) : false),
158
+ redirectToAfterSignUp: z.string().optional(),
159
+ redirectToAfterSignIn: z.string().optional(),
160
+ redirectToAfterSignOut: z.string().optional(),
161
+ }),
162
+ z.object({
163
+ type: z.literal("openid"),
164
+ clientId: z.string(),
165
+ issuer: z.string(),
166
+ audience: z.string().optional(),
167
+ scopes: z.array(z.string()).optional(),
168
+ redirectToAfterSignUp: z.string().optional(),
169
+ redirectToAfterSignIn: z.string().optional(),
170
+ redirectToAfterSignOut: z.string().optional(),
171
+ }),
172
+ z.object({
173
+ type: z.literal("auth0"),
174
+ clientId: z.string(),
175
+ domain: z.string(),
176
+ audience: z.string().optional(),
177
+ redirectToAfterSignUp: z.string().optional(),
178
+ redirectToAfterSignIn: z.string().optional(),
179
+ redirectToAfterSignOut: z.string().optional(),
180
+ }),
181
+ ]);
182
+ const MetadataSchema = z
183
+ .object({
184
+ title: z.string(),
185
+ description: z.string(),
186
+ logo: z.string(),
187
+ favicon: z.string(),
188
+ generator: z.string(),
189
+ applicationName: z.string(),
190
+ referrer: z.string(),
191
+ keywords: z.array(z.string()),
192
+ authors: z.array(z.string()),
193
+ creator: z.string(),
194
+ publisher: z.string(),
195
+ })
196
+ .partial();
197
+ const PageSchema = z
198
+ .object({
199
+ pageTitle: z.string(),
200
+ logoUrl: z.string(),
201
+ logo: LogoSchema,
202
+ banner: z
203
+ .object({
204
+ message: z.custom(),
205
+ color: z
206
+ .enum(["note", "tip", "info", "caution", "danger"])
207
+ .or(z.string())
208
+ .optional(),
209
+ dismissible: z.boolean().optional(),
210
+ })
211
+ .optional(),
212
+ })
213
+ .partial();
214
+ const ApiCatalogSchema = z.object({
215
+ navigationId: z.string(),
216
+ label: z.string(),
217
+ items: z.array(z.string()).optional(),
218
+ });
219
+ /**
220
+ * These are the config settings that are available in all configuration
221
+ * formats.
222
+ */
223
+ export const CommonConfigSchema = z.object({
224
+ basePath: z.string().optional(),
225
+ page: PageSchema,
226
+ topNavigation: z.array(TopNavigationItemSchema),
227
+ sidebar: z.record(InputSidebarSchema),
228
+ theme: z
229
+ .object({
230
+ light: ThemeSchema,
231
+ dark: ThemeSchema,
232
+ })
233
+ .partial(),
234
+ metadata: MetadataSchema,
235
+ authentication: AuthenticationSchema,
236
+ search: SearchSchema,
237
+ docs: z.union([DocsConfigSchema, z.array(DocsConfigSchema)]),
238
+ apis: z.union([ApiSchema, z.array(ApiSchema)]),
239
+ catalog: z.union([ApiCatalogSchema, z.array(ApiCatalogSchema)]),
240
+ apiKeys: ApiKeysSchema,
241
+ redirects: z.array(Redirect),
242
+ sitemap: SiteMapSchema,
243
+ });
244
+ export const refine = (config, ctx) => {
245
+ // check if sidebar ids are found in top navigation
246
+ if (!config.sidebar || !config.topNavigation)
247
+ return;
248
+ const topNavIds = config.topNavigation.map((item) => item.id);
249
+ const nonExistentKeys = Object.keys(config.sidebar).filter((key) => !topNavIds.includes(key));
250
+ if (nonExistentKeys.length > 0) {
251
+ ctx.addIssue({
252
+ code: z.ZodIssueCode.custom,
253
+ message: `Sidebar ID [${nonExistentKeys.map((v) => `"${v}"`).join(", ")}] not found in top navigation.
254
+ Following IDs are available: ${topNavIds.join(", ")}`,
255
+ });
256
+ }
257
+ };
258
+ const CommonConfigSchemaPartial = CommonConfigSchema.partial();
259
+ export const CommonConfig = CommonConfigSchemaPartial.superRefine(refine);
260
+ export function validateCommonConfig(config) {
261
+ const validationResult = CommonConfig.safeParse(config);
262
+ if (!validationResult.success) {
263
+ // eslint-disable-next-line no-console
264
+ console.log("Validation errors:");
265
+ // eslint-disable-next-line no-console
266
+ console.log(fromError(validationResult.error).toString());
267
+ }
268
+ }
269
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/config/validators/common.ts"],"names":[],"mappings":"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"}