zudoku 0.8.0 → 0.10.0
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/dist/app/main.js +19 -0
- package/dist/app/main.js.map +1 -1
- package/dist/config/validators/validate.d.ts +122 -0
- package/dist/config/validators/validate.js +44 -0
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.d.ts +2 -0
- package/dist/lib/core/DevPortalContext.d.ts +1 -0
- package/dist/vite/prerender.js +7 -0
- package/dist/vite/prerender.js.map +1 -1
- package/dist/vite/sitemap.d.ts +19 -0
- package/dist/vite/sitemap.js +40 -0
- package/dist/vite/sitemap.js.map +1 -0
- package/lib/zudoku.components.js.map +1 -1
- package/package.json +2 -1
- package/src/app/main.tsx +22 -1
- package/src/lib/core/DevPortalContext.ts +1 -1
package/dist/app/main.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { redirect } from "react-router-dom";
|
|
2
3
|
import { configuredApiKeysPlugin } from "virtual:zudoku-api-keys-plugin";
|
|
3
4
|
import { configuredApiPlugins } from "virtual:zudoku-api-plugins";
|
|
4
5
|
import { configuredAuthProvider } from "virtual:zudoku-auth";
|
|
@@ -10,6 +11,8 @@ import { DevPortal, Layout, RouterError } from "zudoku/components";
|
|
|
10
11
|
import { isNavigationPlugin } from "zudoku/internal";
|
|
11
12
|
import { customPagePlugin } from "zudoku/plugins/custom-page";
|
|
12
13
|
import { inkeepSearchPlugin } from "zudoku/plugins/search-inkeep";
|
|
14
|
+
import { traverseSidebar } from "../lib/components/navigation/utils.js";
|
|
15
|
+
import { joinPath } from "../lib/util/joinPath.js";
|
|
13
16
|
export const convertZudokuConfigToOptions = (config) => {
|
|
14
17
|
const fallbackLogoLight = config.page?.logoUrl ??
|
|
15
18
|
"https://cdn.zudoku.dev/logos/zudoku-logo-full-light.svg";
|
|
@@ -64,8 +67,24 @@ export const getRoutesByConfig = (config) => {
|
|
|
64
67
|
? [options.authentication.getAuthenticationPlugin()]
|
|
65
68
|
: []),
|
|
66
69
|
];
|
|
70
|
+
const topNavRedirects = options.topNavigation?.flatMap((topNavItem) => {
|
|
71
|
+
if (!options.sidebars?.[topNavItem.id])
|
|
72
|
+
return [];
|
|
73
|
+
const first = topNavItem.default ??
|
|
74
|
+
traverseSidebar(options.sidebars[topNavItem.id], (item) => {
|
|
75
|
+
if (item.type === "doc")
|
|
76
|
+
return joinPath(topNavItem.id, item.id);
|
|
77
|
+
});
|
|
78
|
+
if (!first)
|
|
79
|
+
return [];
|
|
80
|
+
return {
|
|
81
|
+
path: topNavItem.id,
|
|
82
|
+
loader: () => redirect(joinPath(first)),
|
|
83
|
+
};
|
|
84
|
+
}) ?? [];
|
|
67
85
|
const routes = allPlugins
|
|
68
86
|
.flatMap((plugin) => (isNavigationPlugin(plugin) ? plugin.getRoutes() : []))
|
|
87
|
+
.concat(topNavRedirects)
|
|
69
88
|
.concat({
|
|
70
89
|
path: "*",
|
|
71
90
|
loader: () => {
|
package/dist/app/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,47 @@ declare const ApiSchema: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
|
|
|
37
37
|
server?: string | undefined;
|
|
38
38
|
navigationId?: string | undefined;
|
|
39
39
|
}>]>;
|
|
40
|
+
declare const SiteMapSchema: z.ZodOptional<z.ZodObject<{
|
|
41
|
+
/**
|
|
42
|
+
* Base url of your website
|
|
43
|
+
*/
|
|
44
|
+
siteUrl: z.ZodString;
|
|
45
|
+
/**
|
|
46
|
+
* Change frequency.
|
|
47
|
+
* @default 'daily'
|
|
48
|
+
*/
|
|
49
|
+
changefreq: z.ZodOptional<z.ZodEnum<["always", "hourly", "daily", "weekly", "monthly", "yearly", "never"]>>;
|
|
50
|
+
/**
|
|
51
|
+
* Priority
|
|
52
|
+
* @default 0.7
|
|
53
|
+
*/
|
|
54
|
+
priority: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
outDir: z.ZodOptional<z.ZodString>;
|
|
56
|
+
/**
|
|
57
|
+
* Add <lastmod/> property.
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
60
|
+
autoLastmod: z.ZodOptional<z.ZodBoolean>;
|
|
61
|
+
/**
|
|
62
|
+
* Array of relative paths to exclude from listing on sitemap.xml or sitemap-*.xml.
|
|
63
|
+
* @example ['/page-0', '/page/example']
|
|
64
|
+
*/
|
|
65
|
+
exclude: z.ZodOptional<z.ZodUnion<[z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodPromise<z.ZodArray<z.ZodString, "many">>>, z.ZodArray<z.ZodString, "many">]>>;
|
|
66
|
+
}, "strip", z.ZodTypeAny, {
|
|
67
|
+
siteUrl: string;
|
|
68
|
+
exclude?: string[] | ((...args: unknown[]) => Promise<string[]>) | undefined;
|
|
69
|
+
changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
|
|
70
|
+
priority?: number | undefined;
|
|
71
|
+
outDir?: string | undefined;
|
|
72
|
+
autoLastmod?: boolean | undefined;
|
|
73
|
+
}, {
|
|
74
|
+
siteUrl: string;
|
|
75
|
+
exclude?: string[] | ((...args: unknown[]) => Promise<string[]>) | undefined;
|
|
76
|
+
changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
|
|
77
|
+
priority?: number | undefined;
|
|
78
|
+
outDir?: string | undefined;
|
|
79
|
+
autoLastmod?: boolean | undefined;
|
|
80
|
+
}>>;
|
|
40
81
|
declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
41
82
|
basePath: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
42
83
|
page: z.ZodOptional<z.ZodObject<{
|
|
@@ -119,12 +160,15 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
119
160
|
topNavigation: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
120
161
|
label: z.ZodString;
|
|
121
162
|
id: z.ZodString;
|
|
163
|
+
default: z.ZodOptional<z.ZodString>;
|
|
122
164
|
}, "strip", z.ZodTypeAny, {
|
|
123
165
|
id: string;
|
|
124
166
|
label: string;
|
|
167
|
+
default?: string | undefined;
|
|
125
168
|
}, {
|
|
126
169
|
id: string;
|
|
127
170
|
label: string;
|
|
171
|
+
default?: string | undefined;
|
|
128
172
|
}>, "many">>;
|
|
129
173
|
sidebar: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodType<import("./InputSidebarSchema.js").InputSidebarItem, z.ZodTypeDef, import("./InputSidebarSchema.js").InputSidebarItem>, "many">>>;
|
|
130
174
|
slotlets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<ReactNode, z.ZodTypeDef, ReactNode>>>;
|
|
@@ -623,6 +667,47 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
623
667
|
element: NonNullable<ReactNode>;
|
|
624
668
|
}>, "many">>;
|
|
625
669
|
plugins: z.ZodOptional<z.ZodArray<z.ZodType<DevPortalPlugin, z.ZodTypeDef, DevPortalPlugin>, "many">>;
|
|
670
|
+
sitemap: z.ZodOptional<z.ZodOptional<z.ZodObject<{
|
|
671
|
+
/**
|
|
672
|
+
* Base url of your website
|
|
673
|
+
*/
|
|
674
|
+
siteUrl: z.ZodString;
|
|
675
|
+
/**
|
|
676
|
+
* Change frequency.
|
|
677
|
+
* @default 'daily'
|
|
678
|
+
*/
|
|
679
|
+
changefreq: z.ZodOptional<z.ZodEnum<["always", "hourly", "daily", "weekly", "monthly", "yearly", "never"]>>;
|
|
680
|
+
/**
|
|
681
|
+
* Priority
|
|
682
|
+
* @default 0.7
|
|
683
|
+
*/
|
|
684
|
+
priority: z.ZodOptional<z.ZodNumber>;
|
|
685
|
+
outDir: z.ZodOptional<z.ZodString>;
|
|
686
|
+
/**
|
|
687
|
+
* Add <lastmod/> property.
|
|
688
|
+
* @default true
|
|
689
|
+
*/
|
|
690
|
+
autoLastmod: z.ZodOptional<z.ZodBoolean>;
|
|
691
|
+
/**
|
|
692
|
+
* Array of relative paths to exclude from listing on sitemap.xml or sitemap-*.xml.
|
|
693
|
+
* @example ['/page-0', '/page/example']
|
|
694
|
+
*/
|
|
695
|
+
exclude: z.ZodOptional<z.ZodUnion<[z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodPromise<z.ZodArray<z.ZodString, "many">>>, z.ZodArray<z.ZodString, "many">]>>;
|
|
696
|
+
}, "strip", z.ZodTypeAny, {
|
|
697
|
+
siteUrl: string;
|
|
698
|
+
exclude?: string[] | ((...args: unknown[]) => Promise<string[]>) | undefined;
|
|
699
|
+
changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
|
|
700
|
+
priority?: number | undefined;
|
|
701
|
+
outDir?: string | undefined;
|
|
702
|
+
autoLastmod?: boolean | undefined;
|
|
703
|
+
}, {
|
|
704
|
+
siteUrl: string;
|
|
705
|
+
exclude?: string[] | ((...args: unknown[]) => Promise<string[]>) | undefined;
|
|
706
|
+
changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
|
|
707
|
+
priority?: number | undefined;
|
|
708
|
+
outDir?: string | undefined;
|
|
709
|
+
autoLastmod?: boolean | undefined;
|
|
710
|
+
}>>>;
|
|
626
711
|
build: z.ZodOptional<z.ZodType<{
|
|
627
712
|
remarkPlugins?: Options["remarkPlugins"];
|
|
628
713
|
rehypePlugins?: Options["rehypePlugins"];
|
|
@@ -719,6 +804,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
719
804
|
topNavigation?: {
|
|
720
805
|
id: string;
|
|
721
806
|
label: string;
|
|
807
|
+
default?: string | undefined;
|
|
722
808
|
}[] | undefined;
|
|
723
809
|
authentication?: {
|
|
724
810
|
type: "clerk";
|
|
@@ -794,6 +880,14 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
794
880
|
path: string;
|
|
795
881
|
element: NonNullable<ReactNode>;
|
|
796
882
|
}[] | undefined;
|
|
883
|
+
sitemap?: {
|
|
884
|
+
siteUrl: string;
|
|
885
|
+
exclude?: string[] | ((...args: unknown[]) => Promise<string[]>) | undefined;
|
|
886
|
+
changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
|
|
887
|
+
priority?: number | undefined;
|
|
888
|
+
outDir?: string | undefined;
|
|
889
|
+
autoLastmod?: boolean | undefined;
|
|
890
|
+
} | undefined;
|
|
797
891
|
build?: {
|
|
798
892
|
remarkPlugins?: Options["remarkPlugins"];
|
|
799
893
|
rehypePlugins?: Options["rehypePlugins"];
|
|
@@ -887,6 +981,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
887
981
|
topNavigation?: {
|
|
888
982
|
id: string;
|
|
889
983
|
label: string;
|
|
984
|
+
default?: string | undefined;
|
|
890
985
|
}[] | undefined;
|
|
891
986
|
authentication?: {
|
|
892
987
|
type: "clerk";
|
|
@@ -962,6 +1057,14 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
962
1057
|
path: string;
|
|
963
1058
|
element: NonNullable<ReactNode>;
|
|
964
1059
|
}[] | undefined;
|
|
1060
|
+
sitemap?: {
|
|
1061
|
+
siteUrl: string;
|
|
1062
|
+
exclude?: string[] | ((...args: unknown[]) => Promise<string[]>) | undefined;
|
|
1063
|
+
changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
|
|
1064
|
+
priority?: number | undefined;
|
|
1065
|
+
outDir?: string | undefined;
|
|
1066
|
+
autoLastmod?: boolean | undefined;
|
|
1067
|
+
} | undefined;
|
|
965
1068
|
build?: {
|
|
966
1069
|
remarkPlugins?: Options["remarkPlugins"];
|
|
967
1070
|
rehypePlugins?: Options["rehypePlugins"];
|
|
@@ -1055,6 +1158,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1055
1158
|
topNavigation?: {
|
|
1056
1159
|
id: string;
|
|
1057
1160
|
label: string;
|
|
1161
|
+
default?: string | undefined;
|
|
1058
1162
|
}[] | undefined;
|
|
1059
1163
|
authentication?: {
|
|
1060
1164
|
type: "clerk";
|
|
@@ -1130,6 +1234,14 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1130
1234
|
path: string;
|
|
1131
1235
|
element: NonNullable<ReactNode>;
|
|
1132
1236
|
}[] | undefined;
|
|
1237
|
+
sitemap?: {
|
|
1238
|
+
siteUrl: string;
|
|
1239
|
+
exclude?: string[] | ((...args: unknown[]) => Promise<string[]>) | undefined;
|
|
1240
|
+
changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
|
|
1241
|
+
priority?: number | undefined;
|
|
1242
|
+
outDir?: string | undefined;
|
|
1243
|
+
autoLastmod?: boolean | undefined;
|
|
1244
|
+
} | undefined;
|
|
1133
1245
|
build?: {
|
|
1134
1246
|
remarkPlugins?: Options["remarkPlugins"];
|
|
1135
1247
|
rehypePlugins?: Options["rehypePlugins"];
|
|
@@ -1223,6 +1335,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1223
1335
|
topNavigation?: {
|
|
1224
1336
|
id: string;
|
|
1225
1337
|
label: string;
|
|
1338
|
+
default?: string | undefined;
|
|
1226
1339
|
}[] | undefined;
|
|
1227
1340
|
authentication?: {
|
|
1228
1341
|
type: "clerk";
|
|
@@ -1298,6 +1411,14 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1298
1411
|
path: string;
|
|
1299
1412
|
element: NonNullable<ReactNode>;
|
|
1300
1413
|
}[] | undefined;
|
|
1414
|
+
sitemap?: {
|
|
1415
|
+
siteUrl: string;
|
|
1416
|
+
exclude?: string[] | ((...args: unknown[]) => Promise<string[]>) | undefined;
|
|
1417
|
+
changefreq?: "never" | "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | undefined;
|
|
1418
|
+
priority?: number | undefined;
|
|
1419
|
+
outDir?: string | undefined;
|
|
1420
|
+
autoLastmod?: boolean | undefined;
|
|
1421
|
+
} | undefined;
|
|
1301
1422
|
build?: {
|
|
1302
1423
|
remarkPlugins?: Options["remarkPlugins"];
|
|
1303
1424
|
rehypePlugins?: Options["rehypePlugins"];
|
|
@@ -1305,5 +1426,6 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1305
1426
|
}>;
|
|
1306
1427
|
export type ZudokuApiConfig = z.infer<typeof ApiSchema>;
|
|
1307
1428
|
export type ZudokuConfig = z.infer<typeof ConfigSchema>;
|
|
1429
|
+
export type ZudokuSiteMapConfig = z.infer<typeof SiteMapSchema>;
|
|
1308
1430
|
export declare function validateConfig(config: unknown): void;
|
|
1309
1431
|
export {};
|
|
@@ -64,6 +64,48 @@ const LogoSchema = z.object({
|
|
|
64
64
|
alt: z.string().optional(),
|
|
65
65
|
width: z.string().optional(),
|
|
66
66
|
});
|
|
67
|
+
const SiteMapSchema = z
|
|
68
|
+
.object({
|
|
69
|
+
/**
|
|
70
|
+
* Base url of your website
|
|
71
|
+
*/
|
|
72
|
+
siteUrl: z.string(),
|
|
73
|
+
/**
|
|
74
|
+
* Change frequency.
|
|
75
|
+
* @default 'daily'
|
|
76
|
+
*/
|
|
77
|
+
changefreq: z.optional(z.enum([
|
|
78
|
+
"always",
|
|
79
|
+
"hourly",
|
|
80
|
+
"daily",
|
|
81
|
+
"weekly",
|
|
82
|
+
"monthly",
|
|
83
|
+
"yearly",
|
|
84
|
+
"never",
|
|
85
|
+
])),
|
|
86
|
+
/**
|
|
87
|
+
* Priority
|
|
88
|
+
* @default 0.7
|
|
89
|
+
*/
|
|
90
|
+
priority: z.optional(z.number()),
|
|
91
|
+
outDir: z.string().optional(),
|
|
92
|
+
/**
|
|
93
|
+
* Add <lastmod/> property.
|
|
94
|
+
* @default true
|
|
95
|
+
*/
|
|
96
|
+
autoLastmod: z.boolean().optional(),
|
|
97
|
+
/**
|
|
98
|
+
* Array of relative paths to exclude from listing on sitemap.xml or sitemap-*.xml.
|
|
99
|
+
* @example ['/page-0', '/page/example']
|
|
100
|
+
*/
|
|
101
|
+
exclude: z
|
|
102
|
+
.union([
|
|
103
|
+
z.function().returns(z.promise(z.array(z.string()))),
|
|
104
|
+
z.array(z.string()),
|
|
105
|
+
])
|
|
106
|
+
.optional(),
|
|
107
|
+
})
|
|
108
|
+
.optional();
|
|
67
109
|
const ConfigSchema = z
|
|
68
110
|
.object({
|
|
69
111
|
basePath: z.string().optional(),
|
|
@@ -86,6 +128,7 @@ const ConfigSchema = z
|
|
|
86
128
|
topNavigation: z.array(z.object({
|
|
87
129
|
label: z.string(),
|
|
88
130
|
id: z.string(),
|
|
131
|
+
default: z.string().optional(),
|
|
89
132
|
})),
|
|
90
133
|
sidebar: z.record(InputSidebarSchema),
|
|
91
134
|
slotlets: z.record(z.string(), z.custom()),
|
|
@@ -160,6 +203,7 @@ const ConfigSchema = z
|
|
|
160
203
|
element: z.custom(),
|
|
161
204
|
})),
|
|
162
205
|
plugins: z.array(z.custom()),
|
|
206
|
+
sitemap: SiteMapSchema,
|
|
163
207
|
build: z.custom(),
|
|
164
208
|
})
|
|
165
209
|
.partial()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/config/validators/validate.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC;KACD,OAAO,EAAE,CAAC;AAEb,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IACxB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACrD,KAAK,CAAC,eAAe,CAAC;IACzB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACtD,KAAK,CAAC,eAAe,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CACnC;QACD,OAAO,EAAE,CAAC;aACP,MAAM,CAEL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC;aACT,MAAM,CAEL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,oBAAoB,EAAE,CAAC;aACpB,MAAM,CAKL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC;aACT,MAAM,CAKL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;KACd,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAA0B;YAC3C,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAClD,QAAQ,EAAE;YACb,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACpC,CAAC;aACD,QAAQ,EAAE;KACd,CAAC;SACD,OAAO,EAAE;IACZ,aAAa,EAAE,CAAC,CAAC,KAAK,CACpB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/config/validators/validate.ts"],"names":[],"mappings":"AAGA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC;KACD,OAAO,EAAE,CAAC;AAEb,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IACxB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACrD,KAAK,CAAC,eAAe,CAAC;IACzB,CAAC;SACE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;SACtD,KAAK,CAAC,eAAe,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5B,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;QACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CACnC;QACD,OAAO,EAAE,CAAC;aACP,MAAM,CAEL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC;aACT,MAAM,CAEL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,oBAAoB,EAAE,CAAC;aACpB,MAAM,CAKL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;QACb,SAAS,EAAE,CAAC;aACT,MAAM,CAKL,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,UAAU,CAAC;aACpC,QAAQ,EAAE;KACd,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB;;;OAGG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CACpB,CAAC,CAAC,IAAI,CAAC;QACL,QAAQ;QACR,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,OAAO;KACR,CAAC,CACH;IACD;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC;;;OAGG;IACH,OAAO,EAAE,CAAC;SACP,KAAK,CAAC;QACL,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACpB,CAAC;SACD,QAAQ,EAAE;CACd,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAA0B;YAC3C,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAClD,QAAQ,EAAE;YACb,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACpC,CAAC;aACD,QAAQ,EAAE;KACd,CAAC;SACD,OAAO,EAAE;IACZ,aAAa,EAAE,CAAC,CAAC,KAAK,CACpB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC,CACH;IACD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAa,CAAC;IACrD,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,WAAW;KAClB,CAAC;SACD,OAAO,EAAE;IACZ,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;QAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC;SACD,OAAO,EAAE;IACZ,GAAG,EAAE,CAAC;SACH,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAqB;KAC1C,CAAC;SACD,OAAO,EAAE;IACZ,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,WAAW,EAAE,CAAC,CAAC,MAAM,CACnB,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CACrE;YACD,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9C,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;YACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5C,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9C,CAAC;KACH,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC7B,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE;KACpC,CAAC;IACF,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,cAAc,EAAE,CAAC;aACd,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE;YAChB,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;SAC1B,CAAC;aACD,OAAO,EAAE;KACb,CAAC;SACD,OAAO,EAAE;IACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,KAAK,CAClB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAA0B;KAC5C,CAAC,CACH;IACD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAmB,CAAC;IAC7C,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAGX;CACL,CAAC;KACD,OAAO,EAAE;KACT,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC3B,mDAAmD;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO;IAErD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE9D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CACxD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAClC,CAAC;IAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,eAAe,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;+BAChD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAML,MAAM,UAAU,cAAc,CAAC,MAAe;IAC5C,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAExD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC9B,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
|
|
@@ -5,11 +5,13 @@ export declare const useApiIdentities: () => import("@tanstack/react-query").Use
|
|
|
5
5
|
export declare const useTopNavigationItem: () => {
|
|
6
6
|
id: string;
|
|
7
7
|
label: string;
|
|
8
|
+
default?: string;
|
|
8
9
|
} | undefined;
|
|
9
10
|
export declare const useNavigation: () => import("@tanstack/react-query").UseSuspenseQueryResult<{
|
|
10
11
|
items: import("../../../config/validators/SidebarSchema.js").SidebarItem[];
|
|
11
12
|
currentTopNavItem: {
|
|
12
13
|
id: string;
|
|
13
14
|
label: string;
|
|
15
|
+
default?: string;
|
|
14
16
|
} | undefined;
|
|
15
17
|
}, Error>;
|
package/dist/vite/prerender.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { joinPath } from "../lib/util/joinPath.js";
|
|
4
|
+
import { generateSitemap } from "./sitemap.js";
|
|
4
5
|
export class FileWritingResponse {
|
|
5
6
|
fileName;
|
|
6
7
|
buffer = "";
|
|
@@ -73,6 +74,12 @@ export const prerender = async (html, dir) => {
|
|
|
73
74
|
await response.isSent();
|
|
74
75
|
writtenFiles.push(filename);
|
|
75
76
|
}
|
|
77
|
+
await generateSitemap({
|
|
78
|
+
basePath: config.basePath,
|
|
79
|
+
outputUrls: paths,
|
|
80
|
+
config: config.sitemap,
|
|
81
|
+
baseOutputDir: path.join(dir, "dist"),
|
|
82
|
+
});
|
|
76
83
|
// eslint-disable-next-line no-console
|
|
77
84
|
console.log(`Prerendered ${paths.length} pages`);
|
|
78
85
|
return writtenFiles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ZudokuSiteMapConfig } from "../config/validators/validate.js";
|
|
2
|
+
export declare function generateSitemap({ outputUrls, basePath, baseOutputDir, config, }: {
|
|
3
|
+
/**
|
|
4
|
+
* The base path of the site (e.g. `/docs`).
|
|
5
|
+
*/
|
|
6
|
+
basePath: string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* The URLs of generated pages
|
|
9
|
+
*/
|
|
10
|
+
outputUrls: string[];
|
|
11
|
+
/**
|
|
12
|
+
* The base output directory
|
|
13
|
+
*/
|
|
14
|
+
baseOutputDir: string;
|
|
15
|
+
/**
|
|
16
|
+
* The site map configuration
|
|
17
|
+
*/
|
|
18
|
+
config: ZudokuSiteMapConfig;
|
|
19
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createWriteStream, existsSync } from "fs";
|
|
2
|
+
import { mkdir } from "fs/promises";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { SitemapStream } from "sitemap";
|
|
5
|
+
import { joinPath } from "../lib/util/joinPath.js";
|
|
6
|
+
export async function generateSitemap({ outputUrls, basePath, baseOutputDir, config, }) {
|
|
7
|
+
if (!config) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const sitemap = new SitemapStream({ hostname: config.siteUrl });
|
|
11
|
+
const outputDir = path.resolve(baseOutputDir, config.outDir ?? "");
|
|
12
|
+
// Ensure the output directory exists
|
|
13
|
+
if (!existsSync(outputDir) === false) {
|
|
14
|
+
await mkdir(outputDir, { recursive: true });
|
|
15
|
+
}
|
|
16
|
+
const sitemapOutputPath = path.join(outputDir, "sitemap.xml");
|
|
17
|
+
const writeStream = createWriteStream(sitemapOutputPath);
|
|
18
|
+
sitemap.pipe(writeStream);
|
|
19
|
+
let lastmod;
|
|
20
|
+
if (config.autoLastmod !== false) {
|
|
21
|
+
lastmod = new Date().toISOString();
|
|
22
|
+
}
|
|
23
|
+
const exclude = (typeof config.exclude === "function"
|
|
24
|
+
? await config.exclude()
|
|
25
|
+
: config.exclude) ?? [];
|
|
26
|
+
for (const url of outputUrls) {
|
|
27
|
+
if (!exclude.includes(url) && !url.includes("*")) {
|
|
28
|
+
sitemap.write({
|
|
29
|
+
url: new URL(joinPath(basePath, url), config.siteUrl).toString(),
|
|
30
|
+
lastmod,
|
|
31
|
+
changefreq: config.changefreq ?? "daily",
|
|
32
|
+
priority: config.priority ?? 0.7,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
sitemap.end();
|
|
37
|
+
// eslint-disable-next-line no-console
|
|
38
|
+
console.debug(`Wrote sitemap to ${sitemapOutputPath}`);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=sitemap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sitemap.js","sourceRoot":"","sources":["../../src/vite/sitemap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,UAAU,EACV,QAAQ,EACR,aAAa,EACb,MAAM,GAkBP;IACC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAEnE,qCAAqC;IACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE1B,IAAI,OAA2B,CAAC;IAChC,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACjC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,OAAO,GACX,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU;QACnC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE;QACxB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAE5B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC;gBACZ,GAAG,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;gBAChE,OAAO;gBACP,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO;gBACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,oBAAoB,iBAAiB,EAAE,CAAC,CAAC;AACzD,CAAC"}
|