zudoku 0.30.0 → 0.31.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/config/loader.js +4 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validators/common.d.ts +97 -12
- package/dist/config/validators/common.js +16 -1
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/validate.d.ts +33 -6
- package/dist/lib/components/ThemeSwitch.js +8 -4
- package/dist/lib/components/ThemeSwitch.js.map +1 -1
- package/dist/lib/components/context/ZudokuContext.js +8 -2
- package/dist/lib/components/context/ZudokuContext.js.map +1 -1
- package/dist/lib/core/RouteGuard.js +6 -2
- package/dist/lib/core/RouteGuard.js.map +1 -1
- package/dist/lib/oas/parser/upgrade/index.js +2 -1
- package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +2 -2
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/util/useLatest.d.ts +1 -0
- package/dist/lib/util/useLatest.js +15 -0
- package/dist/lib/util/useLatest.js.map +1 -0
- package/dist/vite/config.js +25 -12
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/plugin-api.js +26 -10
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-mdx.js +31 -26
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/prerender/prerender.d.ts +1 -1
- package/dist/vite/prerender/prerender.js +14 -16
- package/dist/vite/prerender/prerender.js.map +1 -1
- package/dist/vite/prerender/worker.d.ts +6 -4
- package/dist/vite/prerender/worker.js +14 -19
- package/dist/vite/prerender/worker.js.map +1 -1
- package/lib/{AuthenticationPlugin-DeEA69mE.js → AuthenticationPlugin-DjnQ5hs7.js} +2 -2
- package/lib/{AuthenticationPlugin-DeEA69mE.js.map → AuthenticationPlugin-DjnQ5hs7.js.map} +1 -1
- package/lib/{MdxPage-BalfwlsD.js → MdxPage-ZX2oquWw.js} +3 -3
- package/lib/{MdxPage-BalfwlsD.js.map → MdxPage-ZX2oquWw.js.map} +1 -1
- package/lib/{OpenApiRoute-ULLXjfro.js → OpenApiRoute-BP9kzG5k.js} +2 -2
- package/lib/{OpenApiRoute-ULLXjfro.js.map → OpenApiRoute-BP9kzG5k.js.map} +1 -1
- package/lib/{OperationList-Ej-q1c16.js → OperationList-c72qPMtm.js} +6 -7
- package/lib/{OperationList-Ej-q1c16.js.map → OperationList-c72qPMtm.js.map} +1 -1
- package/lib/{Select-BcAbBUmk.js → Select-NSz0gku6.js} +3 -3
- package/lib/{Select-BcAbBUmk.js.map → Select-NSz0gku6.js.map} +1 -1
- package/lib/{createServer-E3cXjB0P.js → createServer-ZDNGmPfQ.js} +2 -2
- package/lib/{createServer-E3cXjB0P.js.map → createServer-ZDNGmPfQ.js.map} +1 -1
- package/lib/hook-Dnj3SwPC.js +1455 -0
- package/lib/hook-Dnj3SwPC.js.map +1 -0
- package/lib/{index-CL0kr7nH.js → index-CZjcfK-H.js} +30 -32
- package/lib/{index-CL0kr7nH.js.map → index-CZjcfK-H.js.map} +1 -1
- package/lib/{hook-NIpDSpau.js → mutation-ByGtmi0-.js} +46 -65
- package/lib/mutation-ByGtmi0-.js.map +1 -0
- package/lib/{useScrollToAnchor-BVCQSeKB.js → useScrollToAnchor-DkVfWsxe.js} +2 -2
- package/lib/{useScrollToAnchor-BVCQSeKB.js.map → useScrollToAnchor-DkVfWsxe.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-openid.js +4 -5
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +519 -489
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +15 -16
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +12 -13
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +2 -2
- package/package.json +3 -1
- package/src/app/main.css +2 -1
- package/src/lib/components/ThemeSwitch.tsx +28 -7
- package/src/lib/components/context/ZudokuContext.ts +13 -2
- package/src/lib/core/RouteGuard.tsx +6 -2
- package/src/lib/oas/parser/upgrade/index.ts +2 -1
- package/src/lib/plugins/openapi/index.tsx +2 -2
- package/src/lib/util/useLatest.ts +18 -0
- package/lib/ZudokuContext-dUyBGMap.js +0 -1229
- package/lib/ZudokuContext-dUyBGMap.js.map +0 -1
- package/lib/hook-NIpDSpau.js.map +0 -1
- package/lib/state-bfQxaDxU.js +0 -211
- package/lib/state-bfQxaDxU.js.map +0 -1
package/dist/vite/config.js
CHANGED
|
@@ -8,6 +8,8 @@ import tailwindConfig from "../app/tailwind.js";
|
|
|
8
8
|
import { logger } from "../cli/common/logger.js";
|
|
9
9
|
import { isPortAvailable } from "../cli/common/utils/ports.js";
|
|
10
10
|
import { tryLoadZudokuConfig } from "../config/loader.js";
|
|
11
|
+
import { CdnUrlSchema } from "../config/validators/common.js";
|
|
12
|
+
import { joinUrl } from "../lib/util/joinUrl.js";
|
|
11
13
|
import { ZuploEnv } from "../zuplo/env.js";
|
|
12
14
|
import vitePlugin from "./plugin.js";
|
|
13
15
|
const getDocsConfigFiles = (docsConfig, baseDir) => {
|
|
@@ -106,6 +108,9 @@ export function getPluginOptions({ dir, mode, }) {
|
|
|
106
108
|
mode,
|
|
107
109
|
};
|
|
108
110
|
}
|
|
111
|
+
// the vite config gets loaded multiple times, so we only log the CDN info once
|
|
112
|
+
let hasLoggedCdnInfo = false;
|
|
113
|
+
const MEDIA_REGEX = /\.(a?png|jpe?g|gif|bmp|svg|webp|tiff|ico|webm|ogg|mp3|wav|m4a|avif|mp4)/i;
|
|
109
114
|
export async function getViteConfig(dir, configEnv, onConfigChange) {
|
|
110
115
|
const { config, publicEnv, envPrefix } = await loadZudokuConfig(configEnv, dir);
|
|
111
116
|
const handleConfigChange = async () => {
|
|
@@ -122,9 +127,16 @@ export async function getViteConfig(dir, configEnv, onConfigChange) {
|
|
|
122
127
|
dir,
|
|
123
128
|
mode: process.env.ZUDOKU_INTERNAL_DEV ? "internal" : "module",
|
|
124
129
|
});
|
|
125
|
-
const
|
|
126
|
-
|
|
130
|
+
const cdnUrl = CdnUrlSchema.parse(config.cdnUrl);
|
|
131
|
+
const base = cdnUrl?.base
|
|
132
|
+
? joinUrl(cdnUrl.base, config.basePath)
|
|
127
133
|
: config.basePath;
|
|
134
|
+
if (cdnUrl && !hasLoggedCdnInfo) {
|
|
135
|
+
logger.info(colors.blue(`Using CDN URL:`));
|
|
136
|
+
logger.info(colors.blue(` base: `) + colors.dim(cdnUrl.base));
|
|
137
|
+
logger.info(colors.blue(` media: `) + colors.dim(cdnUrl.media));
|
|
138
|
+
hasLoggedCdnInfo = true;
|
|
139
|
+
}
|
|
128
140
|
const viteConfig = {
|
|
129
141
|
root: dir,
|
|
130
142
|
base,
|
|
@@ -176,16 +188,17 @@ export async function getViteConfig(dir, configEnv, onConfigChange) {
|
|
|
176
188
|
: undefined,
|
|
177
189
|
},
|
|
178
190
|
},
|
|
179
|
-
experimental:
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
return
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
|
|
191
|
+
experimental: {
|
|
192
|
+
renderBuiltUrl(filename) {
|
|
193
|
+
if (cdnUrl?.base && [".js", ".css"].includes(path.extname(filename))) {
|
|
194
|
+
return joinUrl(cdnUrl.base, filename);
|
|
195
|
+
}
|
|
196
|
+
if (cdnUrl?.media && MEDIA_REGEX.test(filename)) {
|
|
197
|
+
return joinUrl(cdnUrl.media, filename);
|
|
198
|
+
}
|
|
199
|
+
return { relative: true };
|
|
200
|
+
},
|
|
201
|
+
},
|
|
189
202
|
optimizeDeps: {
|
|
190
203
|
entries: [
|
|
191
204
|
configEnv.isSsrBuild
|
package/dist/vite/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/plugin-api.js
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
|
+
import { $RefParser } from "@apidevtools/json-schema-ref-parser";
|
|
2
|
+
import { upgrade, validate } from "@scalar/openapi-parser";
|
|
1
3
|
import fs from "node:fs/promises";
|
|
2
4
|
import path from "node:path";
|
|
3
5
|
import { tsImport } from "tsx/esm/api";
|
|
4
|
-
import yaml from "yaml";
|
|
5
6
|
import { getAllOperations, getAllTags, } from "../lib/oas/graphql/index.js";
|
|
6
|
-
import { upgradeSchema } from "../lib/oas/parser/upgrade/index.js";
|
|
7
7
|
import { generateCode } from "./api/schema-codegen.js";
|
|
8
8
|
const API_COUNT_THRESHOLD = 50;
|
|
9
9
|
const schemaMap = new Map();
|
|
10
|
+
const validateSchema = async (schema, filePath) => {
|
|
11
|
+
const validated = await validate(schema);
|
|
12
|
+
if (validated.errors?.length) {
|
|
13
|
+
// eslint-disable-next-line no-console
|
|
14
|
+
console.warn(`Schema warnings in ${filePath}:`);
|
|
15
|
+
for (const error of validated.errors) {
|
|
16
|
+
// eslint-disable-next-line no-console
|
|
17
|
+
console.warn(error);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return schema;
|
|
21
|
+
};
|
|
10
22
|
async function processSchemas(config,
|
|
11
23
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
24
|
zuploProcessors = []) {
|
|
@@ -23,23 +35,27 @@ zuploProcessors = []) {
|
|
|
23
35
|
}
|
|
24
36
|
const postProcessors = [
|
|
25
37
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
-
(schema) =>
|
|
38
|
+
(schema) => upgrade(schema).specification,
|
|
27
39
|
...(apiConfig.postProcessors ?? []),
|
|
28
40
|
...zuploProcessors,
|
|
29
41
|
];
|
|
30
42
|
const inputs = Array.isArray(apiConfig.input)
|
|
31
43
|
? apiConfig.input
|
|
32
44
|
: [apiConfig.input];
|
|
33
|
-
const inputFiles = await Promise.all(inputs.map(async (input) =>
|
|
34
|
-
|
|
35
|
-
|
|
45
|
+
const inputFiles = await Promise.all(inputs.map(async (input) => {
|
|
46
|
+
const fullPath = path.resolve(config.rootDir, input);
|
|
47
|
+
const parser = new $RefParser();
|
|
48
|
+
const schema = await parser.bundle(fullPath);
|
|
49
|
+
config.__meta.registerDependency(...parser.$refs.paths());
|
|
50
|
+
return validateSchema(schema, input);
|
|
51
|
+
}));
|
|
36
52
|
const processedInputs = await Promise.all(inputFiles.map(async (schema, index) => {
|
|
37
|
-
const processedSchema = await postProcessors.reduce(async (acc, postProcessor) => postProcessor(await acc), schema);
|
|
53
|
+
const processedSchema = await postProcessors.reduce(async (acc, postProcessor) => postProcessor(await acc), Promise.resolve(schema));
|
|
38
54
|
const inputPath = inputs[index];
|
|
39
|
-
const processedPath = path.posix.join(tmpDir, `${path.basename(inputPath)}.js`);
|
|
40
55
|
const code = await generateCode(processedSchema);
|
|
41
|
-
|
|
42
|
-
|
|
56
|
+
const processedFilePath = path.posix.join(tmpDir, `${path.basename(inputPath)}.js`);
|
|
57
|
+
await fs.writeFile(processedFilePath, code);
|
|
58
|
+
schemaMap.set(inputPath, processedFilePath);
|
|
43
59
|
return {
|
|
44
60
|
schema: processedSchema,
|
|
45
61
|
version: processedSchema.info.version || "default",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/vite/plugin-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/vite/plugin-api.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/plugin-mdx.js
CHANGED
|
@@ -13,7 +13,6 @@ import remarkFrontmatter from "remark-frontmatter";
|
|
|
13
13
|
import remarkGfm from "remark-gfm";
|
|
14
14
|
import remarkMdxFrontmatter from "remark-mdx-frontmatter";
|
|
15
15
|
import { EXIT, visit } from "unist-util-visit";
|
|
16
|
-
import { joinUrl } from "../lib/util/joinUrl.js";
|
|
17
16
|
import { remarkStaticGeneration } from "./remarkStaticGeneration.js";
|
|
18
17
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
18
|
const rehypeCodeBlockPlugin = () => (tree) => {
|
|
@@ -23,6 +22,35 @@ const rehypeCodeBlockPlugin = () => (tree) => {
|
|
|
23
22
|
}
|
|
24
23
|
});
|
|
25
24
|
};
|
|
25
|
+
// Convert mdxJsxFlowElement img elements to regular element nodes
|
|
26
|
+
// so rehype-mdx-import-media can pick them up
|
|
27
|
+
const rehypeNormalizeMdxImages = () => (tree) => {
|
|
28
|
+
visit(tree, ["mdxJsxFlowElement", "mdxJsxElement"], (node) => {
|
|
29
|
+
if (node.type !== "mdxJsxFlowElement" || node.name !== "img")
|
|
30
|
+
return;
|
|
31
|
+
const hasStringSrc = node.attributes.some(
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
|
+
(attr) => attr.type === "mdxJsxAttribute" &&
|
|
34
|
+
attr.name === "src" &&
|
|
35
|
+
typeof attr.value === "string");
|
|
36
|
+
if (!hasStringSrc)
|
|
37
|
+
return;
|
|
38
|
+
node.type = "element";
|
|
39
|
+
node.tagName = "img";
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
|
+
node.properties = {};
|
|
42
|
+
for (const attr of node.attributes) {
|
|
43
|
+
if (attr.type === "mdxJsxAttribute" && typeof attr.value === "string") {
|
|
44
|
+
node.properties[attr.name] = attr.value;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
delete node.name;
|
|
48
|
+
delete node.attributes;
|
|
49
|
+
delete node.children;
|
|
50
|
+
delete node.data;
|
|
51
|
+
delete node.position;
|
|
52
|
+
});
|
|
53
|
+
};
|
|
26
54
|
const remarkLinkRewritePlugin = (basePath = "") => (tree) => {
|
|
27
55
|
visit(tree, "link", (node) => {
|
|
28
56
|
if (!node.url)
|
|
@@ -40,29 +68,6 @@ const remarkLinkRewritePlugin = (basePath = "") => (tree) => {
|
|
|
40
68
|
node.url = node.url.replace(/\.mdx?(#.*?)?/, "$1");
|
|
41
69
|
});
|
|
42
70
|
};
|
|
43
|
-
const rehypeMediaBase = (rootDir, base = "") =>
|
|
44
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
-
(tree, vfile) => {
|
|
46
|
-
visit(tree, "element", (node) => {
|
|
47
|
-
if (!base)
|
|
48
|
-
return;
|
|
49
|
-
if (node.tagName !== "img" && node.tagName !== "video")
|
|
50
|
-
return;
|
|
51
|
-
if (node.properties.src && !node.properties.src.startsWith("http")) {
|
|
52
|
-
node.properties.src = joinUrl(base, node.properties.src);
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
// `rehype-mdx-import-media` doesn't handle images in mdxJsxFlowElement so we do it manually
|
|
56
|
-
visit(tree, ["mdxJsxFlowElement", "mdxJsxElement"], (node) => {
|
|
57
|
-
if (node.name !== "img" && node.name !== "video")
|
|
58
|
-
return;
|
|
59
|
-
const src = node.attributes.find((attr) => attr?.name === "src");
|
|
60
|
-
if (typeof src?.value !== "string" || /^(http|\/)/i.test(src.value))
|
|
61
|
-
return;
|
|
62
|
-
const relativePath = path.dirname(path.relative(rootDir, vfile.path));
|
|
63
|
-
src.value = "./" + path.join(base, relativePath, src.value);
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
71
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
67
72
|
const rehypeExcerptWithMdxExport = () => (tree) => {
|
|
68
73
|
let excerpt;
|
|
@@ -134,12 +139,12 @@ const viteMdxPlugin = (getConfig) => {
|
|
|
134
139
|
rehypeSlug,
|
|
135
140
|
rehypeCodeBlockPlugin,
|
|
136
141
|
rehypeMetaAsAttributes,
|
|
137
|
-
rehypeMdxImportMedia,
|
|
138
|
-
[rehypeMediaBase, config.rootDir, config.basePath],
|
|
139
142
|
withToc,
|
|
140
143
|
withTocExport,
|
|
141
144
|
rehypeExcerptWithMdxExport,
|
|
142
145
|
...(config.build?.rehypePlugins ?? []),
|
|
146
|
+
rehypeNormalizeMdxImages,
|
|
147
|
+
rehypeMdxImportMedia,
|
|
143
148
|
],
|
|
144
149
|
}),
|
|
145
150
|
name: "zudoku-mdx-plugin",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,9 +31,6 @@ export const prerender = async ({ html, dir, basePath = "", serverConfigFilename
|
|
|
31
31
|
const getRoutes = module.getRoutesByConfig;
|
|
32
32
|
const routes = getRoutes(config);
|
|
33
33
|
const paths = routesToPaths(routes);
|
|
34
|
-
const pool = new Piscina({
|
|
35
|
-
filename: new URL("./worker.js", import.meta.url).href,
|
|
36
|
-
});
|
|
37
34
|
const start = performance.now();
|
|
38
35
|
const LOG_INTERVAL_MS = 30_000; // Log every 30 seconds
|
|
39
36
|
const INACTIVITY_TIMEOUT_MS = 10_000; // Timeout after 10 seconds of inactivity
|
|
@@ -52,25 +49,27 @@ export const prerender = async ({ html, dir, basePath = "", serverConfigFilename
|
|
|
52
49
|
const checkInactivity = () => {
|
|
53
50
|
const inactiveTime = performance.now() - lastActivityTime;
|
|
54
51
|
if (inactiveTime >= INACTIVITY_TIMEOUT_MS) {
|
|
52
|
+
clearTimeout(timeoutId);
|
|
55
53
|
reject(new Error(`Prerender timed out after ${INACTIVITY_TIMEOUT_MS}ms of inactivity`));
|
|
56
54
|
return;
|
|
57
55
|
}
|
|
58
|
-
timeoutId = setTimeout(checkInactivity, 1000);
|
|
56
|
+
timeoutId = setTimeout(checkInactivity, 1000);
|
|
59
57
|
};
|
|
60
58
|
timeoutId = setTimeout(checkInactivity, 1000);
|
|
61
59
|
});
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
await pool.run({
|
|
60
|
+
const serverOutDir = path.join(distDir, "server");
|
|
61
|
+
const pool = new Piscina({
|
|
62
|
+
filename: new URL("./worker.js", import.meta.url).href,
|
|
63
|
+
idleTimeout: 1000,
|
|
64
|
+
workerData: {
|
|
68
65
|
template: html,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
distDir,
|
|
67
|
+
serverConfigPath: path.join(serverOutDir, serverConfigFilename),
|
|
68
|
+
entryServerPath: path.join(serverOutDir, "entry.server.js"),
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
const prerenderTasks = Promise.all(paths.map(async (urlPath) => {
|
|
72
|
+
const outputPath = await pool.run({ urlPath });
|
|
74
73
|
completedCount++;
|
|
75
74
|
lastActivityTime = performance.now();
|
|
76
75
|
if (isTTY()) {
|
|
@@ -91,7 +90,6 @@ export const prerender = async ({ html, dir, basePath = "", serverConfigFilename
|
|
|
91
90
|
clearTimeout(timeoutId);
|
|
92
91
|
const seconds = ((performance.now() - start) / 1000).toFixed(1);
|
|
93
92
|
writeLine(`prerendered ${paths.length} routes in ${seconds} seconds\n`);
|
|
94
|
-
await pool.destroy();
|
|
95
93
|
await generateSitemap({
|
|
96
94
|
basePath: config.basePath,
|
|
97
95
|
outputUrls: paths,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../../src/vite/prerender/prerender.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,aAAa,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,OAAO,GAAG,aAAwD,CAAC;AAEzE,MAAM,aAAa,GAAG,CAAC,MAA4C,EAAE,EAAE;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,CAAC,MAA4C,EAAE,EAAE;QAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,wBAAwB;YACxB,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,IAAI,EACJ,GAAG,EACH,QAAQ,GAAG,EAAE,EACb,oBAAoB,GAMrB,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAiB,MAAM,MAAM,CACvC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAI,CACvE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,IAAI,CACjE,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,iBAA6C,CAAC;IAEvE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,
|
|
1
|
+
{"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../../src/vite/prerender/prerender.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,aAAa,MAAM,SAAS,CAAC;AAGpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,OAAO,GAAG,aAAwD,CAAC;AAEzE,MAAM,aAAa,GAAG,CAAC,MAA4C,EAAE,EAAE;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,CAAC,MAA4C,EAAE,EAAE;QAChE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,wBAAwB;YACxB,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,IAAI,EACJ,GAAG,EACH,QAAQ,GAAG,EAAE,EACb,oBAAoB,GAMrB,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,MAAM,GAAiB,MAAM,MAAM,CACvC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAI,CACvE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,IAAI,CACjE,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,iBAA6C,CAAC;IAEvE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,uBAAuB;IACvD,MAAM,qBAAqB,GAAG,MAAM,CAAC,CAAC,yCAAyC;IAC/E,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,MAAM,aAAa,GAAG,QAAQ,CAC5B,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE;QAChD,SAAS,CAAC,iBAAiB,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC,CACF,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACb,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,MAAM,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,SAAoD,CAAC;IAEzD,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACzD,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;YAC1D,IAAI,YAAY,IAAI,qBAAqB,EAAE,CAAC;gBAC1C,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,MAAM,CACJ,IAAI,KAAK,CACP,6BAA6B,qBAAqB,kBAAkB,CACrE,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC;QACF,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;QACvB,QAAQ,EAAE,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI;QACtD,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE;YACV,QAAQ,EAAE,IAAI;YACd,OAAO;YACP,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC;YAC/D,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC;SACjC;KAC7B,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAChC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC1B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAuB,CAAC,CAAC;QAEpE,cAAc,EAAE,CAAC;QACjB,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAErC,IAAI,KAAK,EAAE,EAAE,CAAC;YACZ,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC9B,IACE,GAAG,GAAG,WAAW,IAAI,eAAe;gBACpC,cAAc,KAAK,KAAK,CAAC,MAAM,EAC/B,CAAC;gBACD,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,IAAI,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;gBACpE,WAAW,GAAG,GAAG,CAAC;YACpB,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7E,YAAY,CAAC,SAAS,CAAC,CAAC;IAExB,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChE,SAAS,CAAC,eAAe,KAAK,CAAC,MAAM,cAAc,OAAO,YAAY,CAAC,CAAC;IAExE,MAAM,eAAe,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,MAAM,CAAC,OAAO;QACtB,aAAa,EAAE,OAAO;KACvB,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type StaticWorkerData = {
|
|
2
2
|
template: string;
|
|
3
|
-
|
|
4
|
-
url: string;
|
|
3
|
+
distDir: string;
|
|
5
4
|
serverConfigPath: string;
|
|
6
5
|
entryServerPath: string;
|
|
7
6
|
};
|
|
8
|
-
|
|
7
|
+
export type WorkerData = {
|
|
8
|
+
urlPath: string;
|
|
9
|
+
};
|
|
10
|
+
declare const renderPage: ({ urlPath }: WorkerData) => Promise<string>;
|
|
9
11
|
export default renderPage;
|
|
@@ -1,27 +1,22 @@
|
|
|
1
|
+
import path from "node:path";
|
|
1
2
|
import { pathToFileURL } from "node:url";
|
|
3
|
+
import Piscina from "piscina";
|
|
4
|
+
import { joinUrl } from "../../lib/util/joinUrl.js";
|
|
2
5
|
import { FileWritingResponse } from "./FileWritingResponse.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
]);
|
|
13
|
-
renderFn = module.render;
|
|
14
|
-
config = configModule.default;
|
|
15
|
-
initialized = true;
|
|
16
|
-
};
|
|
17
|
-
const renderPage = async (data) => {
|
|
18
|
-
await initialize(data);
|
|
19
|
-
const { url, template, outputPath } = data;
|
|
6
|
+
const { template, distDir, serverConfigPath, entryServerPath } = Piscina.workerData;
|
|
7
|
+
const [render, config] = (await Promise.all([
|
|
8
|
+
import(pathToFileURL(entryServerPath).href).then((m) => m.render),
|
|
9
|
+
import(pathToFileURL(serverConfigPath).href).then((m) => m.default),
|
|
10
|
+
]));
|
|
11
|
+
const renderPage = async ({ urlPath }) => {
|
|
12
|
+
const filename = urlPath === "/" ? "/index.html" : `${urlPath}.html`;
|
|
13
|
+
const url = joinUrl("http://localhost", config.basePath, urlPath);
|
|
14
|
+
const outputPath = path.join(distDir, filename);
|
|
20
15
|
const request = new Request(url);
|
|
21
16
|
const response = new FileWritingResponse(outputPath);
|
|
22
|
-
await
|
|
17
|
+
await render({ template, request, response, config });
|
|
23
18
|
await response.isSent();
|
|
24
|
-
return
|
|
19
|
+
return outputPath;
|
|
25
20
|
};
|
|
26
21
|
export default renderPage;
|
|
27
22
|
//# sourceMappingURL=worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/prerender/worker.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/vite/prerender/worker.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAW/D,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAC5D,OAAO,CAAC,UAA8B,CAAC;AAEzC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC;IAC1C,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;CACpE,CAAC,CAAwC,CAAC;AAE3C,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,OAAO,EAAc,EAAmB,EAAE;IACpE,MAAM,QAAQ,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,CAAC;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAErD,MAAM,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;IAExB,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { j as o } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
|
2
2
|
import { LogOutIcon as a } from "lucide-react";
|
|
3
3
|
import { useEffect as i } from "react";
|
|
4
4
|
import { b as u, a as r } from "./chunk-SYFQ2XB5-QijJrSf0.js";
|
|
5
|
-
import {
|
|
5
|
+
import { i as s } from "./hook-Dnj3SwPC.js";
|
|
6
6
|
const c = () => {
|
|
7
7
|
const t = s(), [e] = u();
|
|
8
8
|
return i(() => {
|
|
@@ -55,4 +55,4 @@ class d {
|
|
|
55
55
|
export {
|
|
56
56
|
d as A
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=AuthenticationPlugin-
|
|
58
|
+
//# sourceMappingURL=AuthenticationPlugin-DjnQ5hs7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationPlugin-
|
|
1
|
+
{"version":3,"file":"AuthenticationPlugin-DjnQ5hs7.js","sources":["../src/lib/authentication/components/SignIn.tsx","../src/lib/authentication/components/SignOut.tsx","../src/lib/authentication/components/SignUp.tsx","../src/lib/authentication/AuthenticationPlugin.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignIn = () => {\n const context = useZudoku();\n const [search] = useSearchParams();\n useEffect(() => {\n void context.authentication?.signIn({\n redirectTo: search.get(\"redirect\") ?? undefined,\n });\n }, [context.authentication, search]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignOut = () => {\n const context = useZudoku();\n const navigate = useNavigate();\n\n useEffect(() => {\n void context.authentication?.signOut().then(() => navigate(\"/\"));\n }, []);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignUp = () => {\n const context = useZudoku();\n useEffect(() => {\n void (context.authentication?.signUp() ?? context.authentication?.signIn());\n }, [context.authentication]);\n\n return null;\n};\n","import { LogOutIcon } from \"lucide-react\";\nimport {\n CommonPlugin,\n NavigationPlugin,\n ProfileMenuPlugin,\n} from \"../core/plugins.js\";\nimport { SignIn } from \"./components/SignIn.js\";\nimport { SignOut } from \"./components/SignOut.js\";\nimport { SignUp } from \"./components/SignUp.js\";\n\ntype PluginInterface = NavigationPlugin & CommonPlugin & ProfileMenuPlugin;\n\nexport class AuthenticationPlugin implements PluginInterface {\n getRoutes() {\n return [\n {\n path: \"/signout\",\n element: <SignOut />,\n },\n {\n path: \"/signin\",\n element: <SignIn />,\n },\n {\n path: \"/signup\",\n element: <SignUp />,\n },\n ];\n }\n\n getProfileMenuItems() {\n return [\n {\n label: \"Logout\",\n path: \"/signout\",\n category: \"bottom\",\n icon: LogOutIcon,\n } as const,\n ];\n }\n}\n"],"names":["SignIn","context","useZudoku","search","useSearchParams","useEffect","_a","SignOut","navigate","useNavigate","SignUp","_b","AuthenticationPlugin","LogOutIcon"],"mappings":";;;;;AAIO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAUC,EAAU,GACpB,CAACC,CAAM,IAAIC,EAAgB;AACjC,SAAAC,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,OAAO;AAAA,MAClC,YAAYH,EAAO,IAAI,UAAU,KAAK;AAAA,IAAA;AAAA,EAEvC,GAAA,CAACF,EAAQ,gBAAgBE,CAAM,CAAC,GAE5B;AACT,GCVaI,IAAU,MAAM;AAC3B,QAAMN,IAAUC,EAAU,GACpBM,IAAWC,EAAY;AAE7B,SAAAJ,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,UAAU,KAAK,MAAME,EAAS,GAAG;AAAA,EAChE,GAAG,EAAE,GAEE;AACT,GCVaE,IAAS,MAAM;AAC1B,QAAMT,IAAUC,EAAU;AAC1B,SAAAG,EAAU,MAAM;;AACd,MAAMC,IAAAL,EAAQ,mBAAR,gBAAAK,EAAwB,eAAYK,IAAAV,EAAQ,mBAAR,QAAAU,EAAwB;AAAA,EAAO,GACxE,CAACV,EAAQ,cAAc,CAAC,GAEpB;AACT;ACEO,MAAMW,EAAgD;AAAA,EAC3D,YAAY;AACH,WAAA;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,+BAAUL,GAAQ,CAAA,CAAA;AAAA,MACpB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUP,GAAO,CAAA,CAAA;AAAA,MACnB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUU,GAAO,CAAA,CAAA;AAAA,MAAA;AAAA,IAErB;AAAA,EAAA;AAAA,EAGF,sBAAsB;AACb,WAAA;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,MAAMG;AAAA,MAAA;AAAA,IAEV;AAAA,EAAA;AAEJ;"}
|
|
@@ -5,10 +5,10 @@ import { useRef as b, useState as H, useEffect as A } from "react";
|
|
|
5
5
|
import { d as I, L as N } from "./chunk-SYFQ2XB5-QijJrSf0.js";
|
|
6
6
|
import { C as S } from "./CategoryHeading-MYL1u_6K.js";
|
|
7
7
|
import { u as $, P as L, H as g } from "./Markdown-8mv9nhGd.js";
|
|
8
|
-
import { b as D, d as M } from "./
|
|
8
|
+
import { b as D, d as M } from "./hook-Dnj3SwPC.js";
|
|
9
9
|
import { c as p } from "./cn-qaFjX9_3.js";
|
|
10
10
|
import { ListTreeIcon as q } from "lucide-react";
|
|
11
|
-
import { A as B, u as V } from "./useScrollToAnchor-
|
|
11
|
+
import { A as B, u as V } from "./useScrollToAnchor-DkVfWsxe.js";
|
|
12
12
|
const R = "data-active", w = ({
|
|
13
13
|
item: s,
|
|
14
14
|
children: t,
|
|
@@ -190,4 +190,4 @@ const R = "data-active", w = ({
|
|
|
190
190
|
export {
|
|
191
191
|
te as MdxPage
|
|
192
192
|
};
|
|
193
|
-
//# sourceMappingURL=MdxPage-
|
|
193
|
+
//# sourceMappingURL=MdxPage-ZX2oquWw.js.map
|