zudoku 0.31.2 → 0.32.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/cli/common/utils/ports.d.ts +1 -1
- package/dist/cli/common/utils/ports.js +16 -15
- package/dist/cli/common/utils/ports.js.map +1 -1
- package/dist/cli/dev/handler.js +9 -12
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/validators/common.d.ts +90 -0
- package/dist/config/validators/common.js +8 -0
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/validate.d.ts +38 -0
- package/dist/lib/MissingIcon.d.ts +2 -0
- package/dist/lib/MissingIcon.js +7 -0
- package/dist/lib/MissingIcon.js.map +1 -0
- package/dist/lib/core/ZudokuContext.d.ts +1 -1
- package/dist/lib/core/plugins.d.ts +2 -0
- package/dist/lib/core/plugins.js +2 -0
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/icons.d.ts +1 -0
- package/dist/lib/icons.js +1 -0
- package/dist/lib/icons.js.map +1 -1
- package/dist/lib/oas/graphql/index.js +3 -2
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/plugins/api-keys/index.d.ts +1 -0
- package/dist/lib/plugins/api-keys/index.js +1 -0
- package/dist/lib/plugins/api-keys/index.js.map +1 -1
- package/dist/lib/plugins/openapi/{OpenApiRoute.d.ts → OasProvider.d.ts} +1 -2
- package/dist/lib/plugins/openapi/OasProvider.js +29 -0
- package/dist/lib/plugins/openapi/OasProvider.js.map +1 -0
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/index.d.ts +8 -0
- package/dist/lib/plugins/openapi/index.js +46 -113
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +5 -5
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js +1 -1
- package/dist/lib/plugins/openapi/playground/result-panel/RequestTab.js.map +1 -1
- package/dist/lib/plugins/openapi/util/createSidebarCategory.d.ts +9 -0
- package/dist/lib/plugins/openapi/util/createSidebarCategory.js +25 -0
- package/dist/lib/plugins/openapi/util/createSidebarCategory.js.map +1 -0
- package/dist/lib/plugins/openapi/util/getRoutes.d.ts +10 -0
- package/dist/lib/plugins/openapi/util/getRoutes.js +74 -0
- package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -0
- package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +2 -0
- package/dist/lib/plugins/openapi/util/methodColorMap.js +10 -0
- package/dist/lib/plugins/openapi/util/methodColorMap.js.map +1 -0
- package/dist/vite/build.js +20 -14
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.js +2 -6
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.d.ts +4 -2
- package/dist/vite/dev-server.js +30 -8
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/error-handler.d.ts +1 -1
- package/dist/vite/error-handler.js +1 -1
- package/dist/vite/error-handler.js.map +1 -1
- package/dist/vite/output.d.ts +14 -2
- package/dist/vite/output.js +12 -14
- package/dist/vite/output.js.map +1 -1
- package/dist/vite/plugin-api-keys.js +2 -2
- package/dist/vite/plugin-api-keys.js.map +1 -1
- package/dist/vite/plugin-sidebar.js +17 -2
- package/dist/vite/plugin-sidebar.js.map +1 -1
- package/dist/vite/prerender/FileWritingResponse.d.ts +7 -3
- package/dist/vite/prerender/FileWritingResponse.js +15 -9
- package/dist/vite/prerender/FileWritingResponse.js.map +1 -1
- package/dist/vite/prerender/prerender.d.ts +10 -2
- package/dist/vite/prerender/prerender.js +5 -4
- package/dist/vite/prerender/prerender.js.map +1 -1
- package/dist/vite/prerender/worker.d.ts +3 -1
- package/dist/vite/prerender/worker.js +11 -4
- package/dist/vite/prerender/worker.js.map +1 -1
- package/lib/{AuthenticationPlugin-DjnQ5hs7.js → AuthenticationPlugin-_YVa673u.js} +2 -2
- package/lib/{AuthenticationPlugin-DjnQ5hs7.js.map → AuthenticationPlugin-_YVa673u.js.map} +1 -1
- package/lib/{MdxPage-ZX2oquWw.js → MdxPage-GM1T5jmO.js} +3 -3
- package/lib/{MdxPage-ZX2oquWw.js.map → MdxPage-GM1T5jmO.js.map} +1 -1
- package/lib/OasProvider-IS9wBrb7.js +34 -0
- package/lib/OasProvider-IS9wBrb7.js.map +1 -0
- package/lib/{OperationList-c72qPMtm.js → OperationList-BTmRbbXk.js} +4 -5
- package/lib/{OperationList-c72qPMtm.js.map → OperationList-BTmRbbXk.js.map} +1 -1
- package/lib/{Select-NSz0gku6.js → Select-D9CKL33X.js} +3 -3
- package/lib/{Select-NSz0gku6.js.map → Select-D9CKL33X.js.map} +1 -1
- package/lib/{createServer-ZDNGmPfQ.js → createServer-DSQiPwjN.js} +2 -5
- package/lib/{createServer-ZDNGmPfQ.js.map → createServer-DSQiPwjN.js.map} +1 -1
- package/lib/{hook-Dnj3SwPC.js → hook-C_t2ISLC.js} +22 -22
- package/lib/{hook-Dnj3SwPC.js.map → hook-C_t2ISLC.js.map} +1 -1
- package/lib/{index-CZjcfK-H.js → index-BANyVRgL.js} +806 -771
- package/lib/index-BANyVRgL.js.map +1 -0
- package/lib/{mutation-ByGtmi0-.js → mutation-Cm3O9f3X.js} +2 -2
- package/lib/{mutation-ByGtmi0-.js.map → mutation-Cm3O9f3X.js.map} +1 -1
- package/lib/{useScrollToAnchor-DkVfWsxe.js → useScrollToAnchor-BGEcH3HM.js} +2 -2
- package/lib/{useScrollToAnchor-DkVfWsxe.js.map → useScrollToAnchor-BGEcH3HM.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 +2 -2
- package/lib/zudoku.components.js +141 -140
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.icons.js +10 -0
- package/lib/zudoku.icons.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +1 -1
- package/lib/zudoku.plugin-api-keys.js +10 -9
- package/lib/zudoku.plugin-api-keys.js.map +1 -1
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +4 -3
- package/lib/zudoku.plugins.js +13 -0
- package/lib/zudoku.plugins.js.map +1 -0
- package/package.json +5 -1
- package/src/lib/MissingIcon.tsx +22 -0
- package/src/lib/core/ZudokuContext.ts +1 -1
- package/src/lib/core/plugins.ts +8 -0
- package/src/lib/icons.ts +1 -0
- package/src/lib/oas/graphql/index.ts +3 -2
- package/src/lib/plugins/api-keys/index.tsx +3 -0
- package/src/lib/plugins/openapi/OasProvider.tsx +51 -0
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +1 -1
- package/src/lib/plugins/openapi/Sidecar.tsx +0 -1
- package/src/lib/plugins/openapi/index.tsx +80 -143
- package/src/lib/plugins/openapi/playground/Playground.tsx +26 -24
- package/src/lib/plugins/openapi/playground/result-panel/RequestTab.tsx +1 -1
- package/src/lib/plugins/openapi/util/createSidebarCategory.tsx +39 -0
- package/src/lib/plugins/openapi/util/getRoutes.tsx +123 -0
- package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -0
- package/dist/lib/plugins/openapi/OpenApiRoute.js +0 -25
- package/dist/lib/plugins/openapi/OpenApiRoute.js.map +0 -1
- package/lib/OpenApiRoute-BP9kzG5k.js +0 -36
- package/lib/OpenApiRoute-BP9kzG5k.js.map +0 -1
- package/lib/index-CZjcfK-H.js.map +0 -1
- package/src/lib/plugins/openapi/OpenApiRoute.tsx +0 -51
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"methodColorMap.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/util/methodColorMap.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA0C;IACnE,GAAG,EAAE,OAAO;IACZ,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,MAAM;CACb,CAAC"}
|
package/dist/vite/build.js
CHANGED
|
@@ -2,6 +2,7 @@ import { mkdir, rename, rm, writeFile } from "node:fs/promises";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { build as viteBuild } from "vite";
|
|
4
4
|
import { findOutputPathOfServerConfig } from "../config/loader.js";
|
|
5
|
+
import invariant from "../lib/util/invariant.js";
|
|
5
6
|
import { joinUrl } from "../lib/util/joinUrl.js";
|
|
6
7
|
import { getViteConfig, loadZudokuConfig } from "./config.js";
|
|
7
8
|
import { getBuildHtml } from "./html.js";
|
|
@@ -42,33 +43,38 @@ export async function runBuild(options) {
|
|
|
42
43
|
cssEntry: joinUrl(viteClientConfig.base, cssEntry),
|
|
43
44
|
});
|
|
44
45
|
const serverConfigFilename = findOutputPathOfServerConfig(serverResult);
|
|
46
|
+
invariant(viteClientConfig.build?.outDir, "Client build outDir is missing");
|
|
47
|
+
invariant(viteServerConfig.build?.outDir, "Server build outDir is missing");
|
|
45
48
|
try {
|
|
46
|
-
const
|
|
49
|
+
const results = await prerender({
|
|
47
50
|
html,
|
|
48
51
|
dir: options.dir,
|
|
49
52
|
basePath: config.basePath,
|
|
50
53
|
serverConfigFilename,
|
|
54
|
+
writeRedirects: process.env.VERCEL === undefined,
|
|
51
55
|
});
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
const indexHtml = path.join(viteClientConfig.build.outDir, "index.html");
|
|
57
|
+
if (!results.find((r) => r.outputPath === indexHtml)) {
|
|
58
|
+
await writeFile(indexHtml, html, "utf-8");
|
|
54
59
|
}
|
|
55
|
-
await
|
|
56
|
-
|
|
57
|
-
|
|
60
|
+
await rm(viteServerConfig.build.outDir, { recursive: true, force: true });
|
|
61
|
+
if (process.env.VERCEL) {
|
|
62
|
+
await mkdir(path.join(options.dir, ".vercel/output/static"), {
|
|
63
|
+
recursive: true,
|
|
64
|
+
});
|
|
65
|
+
await rename(path.join(options.dir, DIST_DIR), path.join(options.dir, ".vercel/output/static"));
|
|
66
|
+
}
|
|
67
|
+
// Write the build output file
|
|
68
|
+
await writeOutput(options.dir, {
|
|
69
|
+
config,
|
|
70
|
+
redirects: results.flatMap((r) => r.redirect ?? []),
|
|
71
|
+
});
|
|
58
72
|
}
|
|
59
73
|
catch (e) {
|
|
60
74
|
// dynamic imports in prerender swallow the stack trace, so we log it here
|
|
61
75
|
// eslint-disable-next-line no-console
|
|
62
76
|
console.error(e);
|
|
63
77
|
}
|
|
64
|
-
if (process.env.VERCEL) {
|
|
65
|
-
await mkdir(path.join(options.dir, ".vercel/output/static"), {
|
|
66
|
-
recursive: true,
|
|
67
|
-
});
|
|
68
|
-
await rename(path.join(options.dir, DIST_DIR), path.join(options.dir, ".vercel/output/static"));
|
|
69
|
-
}
|
|
70
|
-
// Write the build output file
|
|
71
|
-
await writeOutput(options.dir, config);
|
|
72
78
|
return;
|
|
73
79
|
}
|
|
74
80
|
throw new Error("Build failed");
|
package/dist/vite/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/vite/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,MAAM,QAAQ,GAAG,MAAM,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,0DAA0D;IAC1D,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;QACxD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;QACxD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,0DAA0D;IAC1D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC;QACnC,GAAG,gBAAgB;QACnB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CACvC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,EACxC,OAAO,CAAC,GAAG,CACZ,CAAC;IAEF,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;YAC1B,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ;YACtE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ;SACvE,CAAC;QAEF,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;YAChD,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;SACnD,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,4BAA4B,CAAC,YAAY,CAAC,CAAC;QAExE,IAAI,CAAC;YACH,MAAM,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/vite/build.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/config.js
CHANGED
|
@@ -6,7 +6,7 @@ import tailwindcss from "tailwindcss";
|
|
|
6
6
|
import { loadConfigFromFile, mergeConfig, loadEnv as viteLoadEnv, } from "vite";
|
|
7
7
|
import tailwindConfig from "../app/tailwind.js";
|
|
8
8
|
import { logger } from "../cli/common/logger.js";
|
|
9
|
-
import {
|
|
9
|
+
import { findAvailablePort } from "../cli/common/utils/ports.js";
|
|
10
10
|
import { tryLoadZudokuConfig } from "../config/loader.js";
|
|
11
11
|
import { CdnUrlSchema } from "../config/validators/common.js";
|
|
12
12
|
import { joinUrl } from "../lib/util/joinUrl.js";
|
|
@@ -118,11 +118,7 @@ export async function getViteConfig(dir, configEnv, onConfigChange) {
|
|
|
118
118
|
onConfigChange?.(config);
|
|
119
119
|
return config;
|
|
120
120
|
};
|
|
121
|
-
|
|
122
|
-
while (!(await isPortAvailable("localhost", websocketPort)) &&
|
|
123
|
-
websocketPort < 9999) {
|
|
124
|
-
websocketPort++;
|
|
125
|
-
}
|
|
121
|
+
const websocketPort = await findAvailablePort(9800);
|
|
126
122
|
const pluginOptions = getPluginOptions({
|
|
127
123
|
dir,
|
|
128
124
|
mode: process.env.ZUDOKU_INTERNAL_DEV ? "internal" : "module",
|
package/dist/vite/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAIL,kBAAkB,EAClB,WAAW,EACX,OAAO,IAAI,WAAW,GACvB,MAAM,MAAM,CAAC;AACd,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,WAAW,MAAM,aAAa,CAAC;AACtC,OAAO,EAIL,kBAAkB,EAClB,WAAW,EACX,OAAO,IAAI,WAAW,GACvB,MAAM,MAAM,CAAC;AACd,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAMjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,UAAU,MAAM,aAAa,CAAC;AAOrC,MAAM,kBAAkB,GAAG,CACzB,UAAgC,EAChC,OAAe,EACL,EAAE;IACZ,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAExE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,iEAAiE;AACjE,uDAAuD;AACvD,MAAM,iCAAiC,GAAG,CACxC,MAAoB,EACpB,OAAe,EACf,EAAE;IACF,IAAI,CAAC,MAAM,CAAC,IAAI;QAAE,OAAO;IAEzB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,IAAI;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SAChC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAE3C,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,SAAS,OAAO,CAAC,SAAoB,EAAE,OAAe;IACpD,MAAM,SAAS,GAAG;QAChB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,gBAAgB;KACjB,CAAC;IACF,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE;QACb,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA4B,CAC7B,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED,IAAI,MAAgC,CAAC;AACrC,IAAI,SAA+B,CAAC;AACpC,IAAI,SAA6C,CAAC;AAElD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAoB,EACpB,OAAe,EACf,WAAqB;IAMrB,IAAI,CAAC,WAAW,IAAI,MAAM,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QACrD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,OAAO,GAAuC,EAAE,CAAC;QACvD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEjE,iCAAiC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEzD,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EACtC;YACE,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;QAEF,MAAM,GAAG,YAAY,CAAC;QAEtB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE;YACtD,SAAS,EAAE,IAAI;YACf,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IACjB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,CAAC,EAAE;QACvE,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,YAAY;IACnB,oEAAoE;IACpE,6DAA6D;IAC7D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjE,iBAAiB;SAChB,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAExC,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,GAAG,EACH,IAAI,GAIL;IACC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO;QACL,GAAG,MAAO;QACV,OAAO,EAAE,GAAG;QACZ,SAAS;QACT,IAAI;KACL,CAAC;AACJ,CAAC;AACD,+EAA+E;AAC/E,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,MAAM,WAAW,GACf,0EAA0E,CAAC;AAE7E,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,SAA0B,EAC1B,cAA+C;IAE/C,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,gBAAgB,CAC7D,SAAS,EACT,GAAG,CACJ,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAChE,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;QAEzB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,gBAAgB,CAAC;QACrC,GAAG;QACH,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;KAC9D,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI;QACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAEpB,IAAI,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAiB;QAC/B,IAAI,EAAE,GAAG;QACT,IAAI;QACJ,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAa;QACvD,YAAY,EAAE,MAAM;QACpB,SAAS;QACT,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI,CAAC,OAAO,CAC3B,aAAa,CAAC,SAAS,EACvB,4BAA4B,CAC7B;aACF;SACF;QACD,MAAM,EAAE;YACN,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YAChE,GAAG,SAAS;SACb;QACD,GAAG,EAAE;YACH,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,CAAC,eAAe,CAAC;SAC9B;QACD,MAAM,EAAE;YACN,cAAc,EAAE,IAAI;YACpB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,aAAa;aACpB;YACD,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,GAAG,GAAG,OAAO;oBACb,GAAG,GAAG,MAAM;oBACZ,GAAG,GAAG,OAAO;oBACb,GAAG,aAAa,CAAC,SAAS,WAAW;oBACrC,GAAG,aAAa,CAAC,SAAS,UAAU;iBACrC;aACF;SACF;QACD,KAAK,EAAE;YACL,GAAG,EAAE,SAAS,CAAC,UAAU;YACzB,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,OAAO,CAClB,IAAI,CAAC,IAAI,CACP,GAAG,EACH,MAAM,EACN,MAAM,CAAC,QAAQ,IAAI,EAAE,EACrB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CACrC,CACF;YACD,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE;gBACb,KAAK,EACH,SAAS,CAAC,OAAO,KAAK,OAAO;oBAC3B,CAAC,CAAC,SAAS,CAAC,UAAU;wBACpB,CAAC,CAAC,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;wBACrD,CAAC,CAAC,6BAA6B;oBACjC,CAAC,CAAC,SAAS;aAChB;SACF;QACD,YAAY,EAAE;YACZ,cAAc,CAAC,QAAQ;gBACrB,IAAI,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACrE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACxC,CAAC;gBAED,IAAI,MAAM,EAAE,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACzC,CAAC;gBAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5B,CAAC;SACF;QACD,YAAY,EAAE;YACZ,OAAO,EAAE;gBACP,SAAS,CAAC,UAAU;oBAClB,CAAC,CAAC,qBAAqB,EAAE;oBACzB,CAAC,CAAC,qBAAqB,EAAE;aAC5B;YACD,OAAO,EAAE,CAAC,kBAAkB,EAAE,eAAe,CAAC;SAC/C;QACD,qGAAqG;QACrG,aAAa,EAAE,CAAC,uBAAuB,CAAC;QACxC,OAAO,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QACxD,MAAM,EAAE;YACN,uBAAuB,EAAE,MAAM;YAC/B,mBAAmB,EAAE,MAAM;YAC3B,4BAA4B,EAAE,MAAM;YACpC,+BAA+B,EAAE,MAAM;YACvC,2BAA2B,EAAE,MAAM;YACnC,eAAe,EAAE,MAAM;SACxB;QACD,GAAG,EAAE;YACH,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,WAAW,CAAC;wBACV,GAAG,cAAc,CAAC,MAAM,CAAC;wBACzB,OAAO,EAAE;4BACP,+BAA+B;4BAC/B,kEAAkE;4BAClE,mEAAmE;4BACnE,kDAAkD;4BAClD,GAAG,aAAa,CAAC,SAAS,sCAAsC;4BAChE,uDAAuD;4BACvD,MAAM,CAAC,MAAM,CAAC,IAAI;4BAClB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAC/B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CACtD;4BACD,GAAG,GAAG,kCAAkC;4BACxC,gBAAgB;4BAChB,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;yBACxC;qBACF,CAAC;oBACF,YAAY;iBACb;aACF;SACF;KACF,CAAC;IAEF,kEAAkE;IAClE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACvE,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,MAAM,GAAiB,WAAW,CACtC,UAAU,CAAC,MAAM,EACjB,UAAU,EACV,IAAI,CACL,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -2,15 +2,17 @@ import { type Express } from "express";
|
|
|
2
2
|
import { type ViteDevServer } from "vite";
|
|
3
3
|
export declare class DevServer {
|
|
4
4
|
private options;
|
|
5
|
-
private server;
|
|
6
5
|
private currentConfig;
|
|
7
6
|
private terminator;
|
|
7
|
+
resolvedPort: number;
|
|
8
|
+
protocol: string;
|
|
8
9
|
constructor(options: {
|
|
9
|
-
port: number;
|
|
10
10
|
dir: string;
|
|
11
11
|
ssr?: boolean;
|
|
12
12
|
open?: boolean;
|
|
13
|
+
argPort?: number;
|
|
13
14
|
});
|
|
15
|
+
private createNodeServer;
|
|
14
16
|
start(): Promise<{
|
|
15
17
|
vite: ViteDevServer;
|
|
16
18
|
express: Express;
|
package/dist/vite/dev-server.js
CHANGED
|
@@ -1,21 +1,41 @@
|
|
|
1
1
|
import express from "express";
|
|
2
2
|
import { createHttpTerminator } from "http-terminator";
|
|
3
|
+
import fs from "node:fs/promises";
|
|
4
|
+
import http from "node:http";
|
|
5
|
+
import https from "node:https";
|
|
3
6
|
import path from "node:path";
|
|
4
7
|
import { createServer as createViteServer, isRunnableDevEnvironment, } from "vite";
|
|
5
8
|
import { logger } from "../cli/common/logger.js";
|
|
6
9
|
import { printDiagnosticsToConsole } from "../cli/common/output.js";
|
|
10
|
+
import { findAvailablePort } from "../cli/common/utils/ports.js";
|
|
7
11
|
import { createGraphQLServer } from "../lib/oas/graphql/index.js";
|
|
8
12
|
import { getAppClientEntryPath, getAppServerEntryPath, getViteConfig, loadZudokuConfig, } from "./config.js";
|
|
9
13
|
import { errorMiddleware } from "./error-handler.js";
|
|
10
14
|
import { getDevHtml } from "./html.js";
|
|
15
|
+
const DEFAULT_DEV_PORT = 3000;
|
|
11
16
|
export class DevServer {
|
|
12
17
|
options;
|
|
13
|
-
server;
|
|
14
18
|
currentConfig;
|
|
15
19
|
terminator;
|
|
20
|
+
resolvedPort = 0;
|
|
21
|
+
protocol = "http";
|
|
16
22
|
constructor(options) {
|
|
17
23
|
this.options = options;
|
|
18
24
|
}
|
|
25
|
+
async createNodeServer(app, config) {
|
|
26
|
+
if (!config.https)
|
|
27
|
+
return http.createServer(app);
|
|
28
|
+
this.protocol = "https";
|
|
29
|
+
const { dir } = this.options;
|
|
30
|
+
const [key, cert, ca] = await Promise.all([
|
|
31
|
+
fs.readFile(path.resolve(dir, config.https.key)),
|
|
32
|
+
fs.readFile(path.resolve(dir, config.https.cert)),
|
|
33
|
+
config.https.ca
|
|
34
|
+
? fs.readFile(path.resolve(dir, config.https.ca))
|
|
35
|
+
: undefined,
|
|
36
|
+
]);
|
|
37
|
+
return https.createServer({ key, cert, ca }, app);
|
|
38
|
+
}
|
|
19
39
|
async start() {
|
|
20
40
|
const app = express();
|
|
21
41
|
const configEnv = {
|
|
@@ -24,13 +44,16 @@ export class DevServer {
|
|
|
24
44
|
isSsrBuild: this.options.ssr,
|
|
25
45
|
};
|
|
26
46
|
const viteConfig = await getViteConfig(this.options.dir, configEnv, (zudokuConfig) => (this.currentConfig = zudokuConfig));
|
|
47
|
+
const { config } = await loadZudokuConfig(configEnv, this.options.dir);
|
|
48
|
+
this.currentConfig = config;
|
|
49
|
+
this.resolvedPort = await findAvailablePort(this.options.argPort ?? config.port ?? DEFAULT_DEV_PORT);
|
|
50
|
+
const server = await this.createNodeServer(app, config);
|
|
27
51
|
viteConfig.server = {
|
|
28
52
|
...viteConfig.server,
|
|
29
53
|
open: this.options.open,
|
|
54
|
+
hmr: { server },
|
|
30
55
|
};
|
|
31
56
|
const vite = await createViteServer(viteConfig);
|
|
32
|
-
const { config } = await loadZudokuConfig(configEnv, this.options.dir);
|
|
33
|
-
this.currentConfig = config;
|
|
34
57
|
const graphql = createGraphQLServer({
|
|
35
58
|
graphqlEndpoint: "/__z/graphql",
|
|
36
59
|
});
|
|
@@ -92,12 +115,11 @@ export class DevServer {
|
|
|
92
115
|
}
|
|
93
116
|
});
|
|
94
117
|
app.use(errorMiddleware(vite));
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
this.terminator = createHttpTerminator({
|
|
98
|
-
server: this.server,
|
|
99
|
-
});
|
|
118
|
+
await new Promise((resolve) => {
|
|
119
|
+
server.listen(this.resolvedPort, () => resolve());
|
|
100
120
|
});
|
|
121
|
+
this.terminator = createHttpTerminator({ server });
|
|
122
|
+
return { vite, express: app };
|
|
101
123
|
}
|
|
102
124
|
async stop() {
|
|
103
125
|
await this.terminator?.terminate();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../src/vite/dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAyB,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAkB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../src/vite/dev-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { NextFunction, Request, Response } from "express";
|
|
2
2
|
import { ViteDevServer } from "vite";
|
|
3
|
-
export declare const errorMiddleware: (server: ViteDevServer) => (err: Error,
|
|
3
|
+
export declare const errorMiddleware: (server: ViteDevServer) => (err: Error, _req: Request, res: Response, _next: NextFunction) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/vite/error-handler.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,MAAqB,EAAE,EAAE,CAC1B,
|
|
1
|
+
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/vite/error-handler.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,MAAqB,EAAE,EAAE,CAC1B,KAAK,EAAE,GAAU,EAAE,IAAa,EAAE,GAAa,EAAE,KAAmB,EAAE,EAAE;IACtE,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;KACjB,CAAC;IAEF,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;IACrB,GAAG,CAAC,GAAG,CAAC;;;;;;;8BAOkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;;wDAEpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;;;;;;;;;;;;;;;;;;;OAmBrH,CAAC,CAAC;AACP,CAAC,CAAC"}
|
package/dist/vite/output.d.ts
CHANGED
|
@@ -96,6 +96,18 @@ type Cron = {
|
|
|
96
96
|
schedule: string;
|
|
97
97
|
};
|
|
98
98
|
type CronsConfig = Cron[];
|
|
99
|
-
export declare function generateOutput(config
|
|
100
|
-
|
|
99
|
+
export declare function generateOutput({ config, redirects, }: {
|
|
100
|
+
config: LoadedConfig;
|
|
101
|
+
redirects: Array<{
|
|
102
|
+
from: string;
|
|
103
|
+
to: string;
|
|
104
|
+
}>;
|
|
105
|
+
}): Config;
|
|
106
|
+
export declare function writeOutput(dir: string, { config, redirects, }: {
|
|
107
|
+
config: LoadedConfig;
|
|
108
|
+
redirects: Array<{
|
|
109
|
+
from: string;
|
|
110
|
+
to: string;
|
|
111
|
+
}>;
|
|
112
|
+
}): Promise<void>;
|
|
101
113
|
export {};
|
package/dist/vite/output.js
CHANGED
|
@@ -2,21 +2,19 @@ import assert from "node:assert";
|
|
|
2
2
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
|
-
import {
|
|
5
|
+
import { joinUrl } from "../lib/util/joinUrl.js";
|
|
6
6
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
7
7
|
const pkgJsonPath = path.join(__dirname, "../../package.json");
|
|
8
8
|
const pkgJson = JSON.parse(await readFile(pkgJsonPath, "utf-8"));
|
|
9
|
-
export function generateOutput(config) {
|
|
9
|
+
export function generateOutput({ config, redirects, }) {
|
|
10
10
|
const routes = [];
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
});
|
|
19
|
-
}
|
|
11
|
+
for (const redirect of redirects) {
|
|
12
|
+
routes.push({
|
|
13
|
+
src: redirect.from,
|
|
14
|
+
dest: redirect.to,
|
|
15
|
+
status: 301,
|
|
16
|
+
headers: { Location: redirect.to },
|
|
17
|
+
});
|
|
20
18
|
}
|
|
21
19
|
if (process.env.VERCEL_SKEW_PROTECTION_ENABLED) {
|
|
22
20
|
assert(process.env.VERCEL_DEPLOYMENT_ID);
|
|
@@ -30,7 +28,7 @@ export function generateOutput(config) {
|
|
|
30
28
|
},
|
|
31
29
|
],
|
|
32
30
|
headers: {
|
|
33
|
-
"Set-Cookie": `__vdpl=${process.env.VERCEL_DEPLOYMENT_ID}; Path=${
|
|
31
|
+
"Set-Cookie": `__vdpl=${process.env.VERCEL_DEPLOYMENT_ID}; Path=${joinUrl(config.basePath)}; SameSite=Strict; Secure; HttpOnly`,
|
|
34
32
|
},
|
|
35
33
|
continue: true,
|
|
36
34
|
});
|
|
@@ -44,8 +42,8 @@ export function generateOutput(config) {
|
|
|
44
42
|
};
|
|
45
43
|
return output;
|
|
46
44
|
}
|
|
47
|
-
export async function writeOutput(dir, config) {
|
|
48
|
-
const output = generateOutput(config);
|
|
45
|
+
export async function writeOutput(dir, { config, redirects, }) {
|
|
46
|
+
const output = generateOutput({ config, redirects });
|
|
49
47
|
// For now we are putting this in the dist folder, eventually we can
|
|
50
48
|
// expand this to support the full vercel build output API
|
|
51
49
|
const outputDir = process.env.VERCEL
|
package/dist/vite/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/vite/output.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/vite/output.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAE/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAkIjE,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,SAAS,GAIV;IACC,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,QAAQ,CAAC,IAAI;YAClB,IAAI,EAAE,QAAQ,CAAC,EAAE;YACjB,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAEzC,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE;gBACH;oBACE,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,gBAAgB;oBACrB,KAAK,EAAE,UAAU;iBAClB;aACF;YACD,OAAO,EAAE;gBACP,YAAY,EAAE,UAAU,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qCAAqC;aAChI;YACD,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAW;QACrB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB;QACD,MAAM;KACP,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAW,EACX,EACE,MAAM,EACN,SAAS,GAIV;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,oEAAoE;IACpE,0DAA0D;IAE1D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM;QAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC;QAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEnC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAEtE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACvB,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|
|
@@ -15,11 +15,11 @@ const viteApiKeysPlugin = (getConfig) => {
|
|
|
15
15
|
return `export const configuredApiKeysPlugin = undefined;`;
|
|
16
16
|
}
|
|
17
17
|
const code = [
|
|
18
|
-
`
|
|
18
|
+
`import config from "virtual:zudoku-config";`,
|
|
19
19
|
config.mode === "internal"
|
|
20
20
|
? `import { apiKeyPlugin } from "${config.moduleDir}/src/lib/plugins/api-keys/index.tsx";`
|
|
21
21
|
: `import { apiKeyPlugin } from "zudoku/plugins/api-keys";`,
|
|
22
|
-
`export const configuredApiKeysPlugin = apiKeyPlugin(config);`,
|
|
22
|
+
`export const configuredApiKeysPlugin = apiKeyPlugin(config.apiKeys);`,
|
|
23
23
|
];
|
|
24
24
|
return {
|
|
25
25
|
code: code.join("\n"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-api-keys.js","sourceRoot":"","sources":["../../src/vite/plugin-api-keys.ts"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,GAAG,CAAC,SAAoC,EAAU,EAAE;IACzE,MAAM,eAAe,GAAG,gCAAgC,CAAC;IACzD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACpD,OAAO,mDAAmD,CAAC;gBAC7D,CAAC;gBAED,MAAM,IAAI,GAAG;oBACX,
|
|
1
|
+
{"version":3,"file":"plugin-api-keys.js","sourceRoot":"","sources":["../../src/vite/plugin-api-keys.ts"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,GAAG,CAAC,SAAoC,EAAU,EAAE;IACzE,MAAM,eAAe,GAAG,gCAAgC,CAAC;IACzD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACpD,OAAO,mDAAmD,CAAC;gBAC7D,CAAC;gBAED,MAAM,IAAI,GAAG;oBACX,6CAA6C;oBAC7C,MAAM,CAAC,IAAI,KAAK,UAAU;wBACxB,CAAC,CAAC,iCAAiC,MAAM,CAAC,SAAS,uCAAuC;wBAC1F,CAAC,CAAC,yDAAyD;oBAC7D,sEAAsE;iBACvE,CAAC;gBAEF,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrB,GAAG,EAAE,IAAI;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,14 +1,29 @@
|
|
|
1
|
+
import icons from "lucide-react/dynamicIconImports";
|
|
1
2
|
import { SidebarManager } from "../config/validators/SidebarSchema.js";
|
|
2
3
|
import { writePluginDebugCode } from "./debug.js";
|
|
3
4
|
const matchIconAnnotation = /"icon":\s*"(.*?)"/g;
|
|
5
|
+
const iconNames = Object.keys(icons);
|
|
4
6
|
const toPascalCase = (str) => str.replace(/(^\w|-\w)/g, (match) => match.replace("-", "").toUpperCase());
|
|
7
|
+
const toImport = ([str1, str2]) => {
|
|
8
|
+
if (str1 === str2) {
|
|
9
|
+
return toPascalCase(str1);
|
|
10
|
+
}
|
|
11
|
+
return `${toPascalCase(str1)} as ${toPascalCase(str2)}`;
|
|
12
|
+
};
|
|
5
13
|
const replaceSidebarIcons = (code) => {
|
|
6
14
|
const collectedIcons = new Set();
|
|
7
15
|
let match;
|
|
8
16
|
while ((match = matchIconAnnotation.exec(code)) !== null) {
|
|
9
|
-
|
|
17
|
+
if (!iconNames.includes(match[1])) {
|
|
18
|
+
// eslint-disable-next-line no-console
|
|
19
|
+
console.warn(`Icon ${match[1]} not found, see: https://lucide.dev/icons/`);
|
|
20
|
+
collectedIcons.add(["MissingIcon", match[1]]);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
collectedIcons.add([match[1], match[1]]);
|
|
24
|
+
}
|
|
10
25
|
}
|
|
11
|
-
const importStatement = `import { ${[...collectedIcons].map(
|
|
26
|
+
const importStatement = `import { ${[...collectedIcons].map(toImport).join(", ")} } from "zudoku/icons";`;
|
|
12
27
|
const replacedString = code.replaceAll(matchIconAnnotation,
|
|
13
28
|
// The element will be created by the implementers side
|
|
14
29
|
(_, iconName) => `"icon": ${toPascalCase(iconName)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-sidebar.js","sourceRoot":"","sources":["../../src/vite/plugin-sidebar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-sidebar.js","sourceRoot":"","sources":["../../src/vite/plugin-sidebar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
export declare class FileWritingResponse {
|
|
2
|
-
private
|
|
2
|
+
private options;
|
|
3
3
|
private buffer;
|
|
4
4
|
private dontSave;
|
|
5
5
|
private resolve;
|
|
6
6
|
private resolved;
|
|
7
|
+
redirectedTo?: string;
|
|
7
8
|
set(): void;
|
|
8
9
|
status(status: number): void;
|
|
9
10
|
on(): void;
|
|
10
|
-
constructor(
|
|
11
|
-
|
|
11
|
+
constructor(options: {
|
|
12
|
+
fileName: string;
|
|
13
|
+
writeRedirects: boolean;
|
|
14
|
+
});
|
|
15
|
+
redirect(_status: number, url: string): void;
|
|
12
16
|
send: (chunk: string) => Promise<void>;
|
|
13
17
|
write(chunk: string, _encoding?: string): void;
|
|
14
18
|
end(chunk?: string): Promise<void>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "path";
|
|
3
3
|
export class FileWritingResponse {
|
|
4
|
-
|
|
4
|
+
options;
|
|
5
5
|
buffer = "";
|
|
6
6
|
dontSave = false;
|
|
7
7
|
resolve = () => { };
|
|
8
8
|
resolved = new Promise((res) => (this.resolve = res));
|
|
9
|
+
redirectedTo;
|
|
9
10
|
set() { }
|
|
10
11
|
status(status) {
|
|
11
12
|
if (status >= 300) {
|
|
@@ -13,13 +14,18 @@ export class FileWritingResponse {
|
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
on() { }
|
|
16
|
-
constructor(
|
|
17
|
-
this.
|
|
17
|
+
constructor(options) {
|
|
18
|
+
this.options = options;
|
|
18
19
|
}
|
|
19
|
-
redirect() {
|
|
20
|
-
this.
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
redirect(_status, url) {
|
|
21
|
+
if (this.options.writeRedirects) {
|
|
22
|
+
this.write(`<!doctype html><meta http-equiv="refresh" content="0; url=${url}">`);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.dontSave = true;
|
|
26
|
+
}
|
|
27
|
+
this.redirectedTo = url;
|
|
28
|
+
void this.end();
|
|
23
29
|
}
|
|
24
30
|
send = async (chunk) => {
|
|
25
31
|
this.write(chunk);
|
|
@@ -30,8 +36,8 @@ export class FileWritingResponse {
|
|
|
30
36
|
}
|
|
31
37
|
async end(chunk = "") {
|
|
32
38
|
if (!this.dontSave) {
|
|
33
|
-
await fs.mkdir(path.dirname(this.fileName), { recursive: true });
|
|
34
|
-
await fs.writeFile(this.fileName, this.buffer + chunk);
|
|
39
|
+
await fs.mkdir(path.dirname(this.options.fileName), { recursive: true });
|
|
40
|
+
await fs.writeFile(this.options.fileName, this.buffer + chunk);
|
|
35
41
|
}
|
|
36
42
|
this.resolve();
|
|
37
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileWritingResponse.js","sourceRoot":"","sources":["../../../src/vite/prerender/FileWritingResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,OAAO,mBAAmB;
|
|
1
|
+
{"version":3,"file":"FileWritingResponse.js","sourceRoot":"","sources":["../../../src/vite/prerender/FileWritingResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,OAAO,mBAAmB;IAgBpB;IAfF,MAAM,GAAG,EAAE,CAAC;IACZ,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACnB,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;IAC7D,YAAY,CAAU;IAE7B,GAAG,KAAI,CAAC;IACR,MAAM,CAAC,MAAc;QACnB,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,EAAE,KAAI,CAAC;IAEP,YACU,OAGP;QAHO,YAAO,GAAP,OAAO,CAGd;IACA,CAAC;IAEJ,QAAQ,CAAC,OAAe,EAAE,GAAW;QACnC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CACR,6DAA6D,GAAG,IAAI,CACrE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,KAAK,CAAC,KAAa,EAAE,SAAkB;QACrC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type WorkerResult = {
|
|
2
|
+
outputPath: string;
|
|
3
|
+
redirect?: {
|
|
4
|
+
from: string;
|
|
5
|
+
to: string;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export declare const prerender: ({ html, dir, basePath, serverConfigFilename, writeRedirects, }: {
|
|
2
9
|
html: string;
|
|
3
10
|
dir: string;
|
|
4
11
|
basePath?: string;
|
|
5
12
|
serverConfigFilename: string;
|
|
6
|
-
|
|
13
|
+
writeRedirects: boolean;
|
|
14
|
+
}) => Promise<WorkerResult[]>;
|
|
@@ -10,7 +10,7 @@ const routesToPaths = (routes) => {
|
|
|
10
10
|
const addPaths = (routes) => {
|
|
11
11
|
for (const route of routes) {
|
|
12
12
|
// skip catch-all routes
|
|
13
|
-
if (route.path?.includes("*")) {
|
|
13
|
+
if (route.path?.includes("*") || route.path?.includes(":")) {
|
|
14
14
|
continue;
|
|
15
15
|
}
|
|
16
16
|
if (route.path) {
|
|
@@ -24,7 +24,7 @@ const routesToPaths = (routes) => {
|
|
|
24
24
|
addPaths(routes);
|
|
25
25
|
return paths;
|
|
26
26
|
};
|
|
27
|
-
export const prerender = async ({ html, dir, basePath = "", serverConfigFilename, }) => {
|
|
27
|
+
export const prerender = async ({ html, dir, basePath = "", serverConfigFilename, writeRedirects = true, }) => {
|
|
28
28
|
const distDir = path.join(dir, "dist", basePath);
|
|
29
29
|
const config = await import(pathToFileURL(path.join(distDir, "server", serverConfigFilename)).href).then((m) => m.default);
|
|
30
30
|
const module = await import(pathToFileURL(path.join(distDir, "server/entry.server.js")).href);
|
|
@@ -66,10 +66,11 @@ export const prerender = async ({ html, dir, basePath = "", serverConfigFilename
|
|
|
66
66
|
distDir,
|
|
67
67
|
serverConfigPath: path.join(serverOutDir, serverConfigFilename),
|
|
68
68
|
entryServerPath: path.join(serverOutDir, "entry.server.js"),
|
|
69
|
+
writeRedirects,
|
|
69
70
|
},
|
|
70
71
|
});
|
|
71
72
|
const prerenderTasks = Promise.all(paths.map(async (urlPath) => {
|
|
72
|
-
const
|
|
73
|
+
const result = await pool.run({ urlPath });
|
|
73
74
|
completedCount++;
|
|
74
75
|
lastActivityTime = performance.now();
|
|
75
76
|
if (isTTY()) {
|
|
@@ -84,7 +85,7 @@ export const prerender = async ({ html, dir, basePath = "", serverConfigFilename
|
|
|
84
85
|
lastLogTime = now;
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
|
-
return
|
|
88
|
+
return result;
|
|
88
89
|
}));
|
|
89
90
|
const writtenFiles = await Promise.race([prerenderTasks, inactivityTimeout]);
|
|
90
91
|
clearTimeout(timeoutId);
|