zudoku 0.18.8 → 0.20.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.
Files changed (107) hide show
  1. package/dist/app/main.js +2 -1
  2. package/dist/app/main.js.map +1 -1
  3. package/dist/cli/common/outdated.js +2 -1
  4. package/dist/cli/common/outdated.js.map +1 -1
  5. package/dist/config/common.d.ts +8 -0
  6. package/dist/config/common.js +2 -0
  7. package/dist/config/common.js.map +1 -0
  8. package/dist/config/config.d.ts +3 -2
  9. package/dist/config/loader.d.ts +5 -0
  10. package/dist/config/loader.js +110 -0
  11. package/dist/config/loader.js.map +1 -0
  12. package/dist/config/validators/common.d.ts +4651 -0
  13. package/dist/config/validators/common.js +269 -0
  14. package/dist/config/validators/common.js.map +1 -0
  15. package/dist/config/validators/validate.d.ts +669 -533
  16. package/dist/config/validators/validate.js +9 -234
  17. package/dist/config/validators/validate.js.map +1 -1
  18. package/dist/lib/authentication/providers/openid.js +7 -2
  19. package/dist/lib/authentication/providers/openid.js.map +1 -1
  20. package/dist/lib/components/Heading.d.ts +1 -1
  21. package/dist/lib/components/TopNavigation.d.ts +1 -1
  22. package/dist/lib/components/navigation/SidebarCategory.d.ts +1 -2
  23. package/dist/lib/components/navigation/SidebarCategory.js +3 -4
  24. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  25. package/dist/lib/components/navigation/SidebarItem.d.ts +1 -3
  26. package/dist/lib/components/navigation/SidebarItem.js +4 -9
  27. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  28. package/dist/lib/components/navigation/SidebarWrapper.js +1 -1
  29. package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
  30. package/dist/lib/core/ZudokuContext.d.ts +1 -1
  31. package/dist/lib/oas/graphql/index.js +0 -1
  32. package/dist/lib/oas/graphql/index.js.map +1 -1
  33. package/dist/lib/plugins/api-catalog/Catalog.d.ts +6 -0
  34. package/dist/lib/plugins/api-catalog/Catalog.js +29 -0
  35. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -0
  36. package/dist/lib/plugins/api-catalog/index.d.ts +23 -0
  37. package/dist/lib/plugins/api-catalog/index.js +15 -0
  38. package/dist/lib/plugins/api-catalog/index.js.map +1 -0
  39. package/dist/lib/plugins/markdown/index.d.ts +1 -1
  40. package/dist/lib/plugins/markdown/resolver.js.map +1 -1
  41. package/dist/lib/plugins/openapi/playground/PathParams.js +1 -1
  42. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  43. package/dist/lib/plugins/redirect/index.d.ts +1 -1
  44. package/dist/lib/ui/Command.d.ts +1 -1
  45. package/dist/lib/util/MdxComponents.d.ts +2 -3
  46. package/dist/lib/util/MdxComponents.js.map +1 -1
  47. package/dist/vite/build.js +4 -1
  48. package/dist/vite/build.js.map +1 -1
  49. package/dist/vite/config.d.ts +1 -3
  50. package/dist/vite/config.js +2 -4
  51. package/dist/vite/config.js.map +1 -1
  52. package/dist/vite/dev-server.js.map +1 -1
  53. package/dist/vite/output.d.ts +1 -1
  54. package/dist/vite/output.js.map +1 -1
  55. package/dist/vite/plugin-api.js +44 -1
  56. package/dist/vite/plugin-api.js.map +1 -1
  57. package/dist/vite/plugin-component.js +1 -0
  58. package/dist/vite/plugin-component.js.map +1 -1
  59. package/dist/vite/plugin-config-reload.d.ts +1 -2
  60. package/dist/vite/plugin-config-reload.js.map +1 -1
  61. package/dist/vite/plugin.d.ts +1 -2
  62. package/dist/vite/plugin.js.map +1 -1
  63. package/dist/vite/prerender.d.ts +2 -1
  64. package/dist/vite/prerender.js +2 -2
  65. package/dist/vite/prerender.js.map +1 -1
  66. package/dist/vite/sitemap.d.ts +1 -1
  67. package/dist/zuplo/env.d.ts +6 -0
  68. package/dist/zuplo/env.js +9 -0
  69. package/dist/zuplo/env.js.map +1 -0
  70. package/dist/zuplo/with-zuplo.d.ts +2 -2
  71. package/dist/zuplo/with-zuplo.js.map +1 -1
  72. package/lib/Markdown-ievDDhFT.js.map +1 -1
  73. package/lib/{OperationList-DzE32oyS.js → OperationList-DT5Fu9bC.js} +2 -2
  74. package/lib/{OperationList-DzE32oyS.js.map → OperationList-DT5Fu9bC.js.map} +1 -1
  75. package/lib/assets/{worker-CyxLedqF.js → worker-C_2va8B8.js} +1 -2
  76. package/lib/assets/{worker-CyxLedqF.js.map → worker-C_2va8B8.js.map} +1 -1
  77. package/lib/{createServer-DTiCfoql.js → createServer-BCAHdrpE.js} +1 -2
  78. package/lib/{createServer-DTiCfoql.js.map → createServer-BCAHdrpE.js.map} +1 -1
  79. package/lib/{index-NNCc1BSK.js → index-CBctPUfP.js} +4 -3
  80. package/lib/index-CBctPUfP.js.map +1 -0
  81. package/lib/zudoku.auth-openid.js +42 -37
  82. package/lib/zudoku.auth-openid.js.map +1 -1
  83. package/lib/zudoku.components.js +259 -271
  84. package/lib/zudoku.components.js.map +1 -1
  85. package/lib/zudoku.openapi-worker.js +1 -1
  86. package/lib/zudoku.plugin-api-catalog.js +121 -0
  87. package/lib/zudoku.plugin-api-catalog.js.map +1 -0
  88. package/lib/zudoku.plugin-markdown.js.map +1 -1
  89. package/lib/zudoku.plugin-openapi.js +1 -1
  90. package/lib/zudoku.plugin-redirect.js.map +1 -1
  91. package/package.json +6 -2
  92. package/src/app/main.tsx +5 -1
  93. package/src/lib/authentication/providers/openid.tsx +7 -2
  94. package/src/lib/components/TopNavigation.tsx +1 -1
  95. package/src/lib/components/navigation/SidebarCategory.tsx +7 -9
  96. package/src/lib/components/navigation/SidebarItem.tsx +3 -16
  97. package/src/lib/components/navigation/SidebarWrapper.tsx +1 -1
  98. package/src/lib/core/ZudokuContext.ts +1 -1
  99. package/src/lib/oas/graphql/index.ts +0 -1
  100. package/src/lib/plugins/api-catalog/Catalog.tsx +124 -0
  101. package/src/lib/plugins/api-catalog/index.tsx +50 -0
  102. package/src/lib/plugins/markdown/index.tsx +1 -1
  103. package/src/lib/plugins/markdown/resolver.ts +2 -4
  104. package/src/lib/plugins/openapi/playground/PathParams.tsx +1 -0
  105. package/src/lib/plugins/redirect/index.tsx +1 -1
  106. package/src/lib/util/MdxComponents.tsx +2 -5
  107. package/lib/index-NNCc1BSK.js.map +0 -1
package/dist/app/main.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { configuredApiKeysPlugin } from "virtual:zudoku-api-keys-plugin";
3
- import { configuredApiPlugins } from "virtual:zudoku-api-plugins";
3
+ import { configuredApiCatalogPlugins, configuredApiPlugins, } from "virtual:zudoku-api-plugins";
4
4
  import { configuredAuthProvider } from "virtual:zudoku-auth";
5
5
  import { configuredCustomPagesPlugin } from "virtual:zudoku-custom-pages-plugin";
6
6
  import { configuredDocsPlugins } from "virtual:zudoku-docs-plugins";
@@ -47,6 +47,7 @@ export const convertZudokuConfigToOptions = (config) => {
47
47
  ...(configuredRedirectPlugin ? [configuredRedirectPlugin] : []),
48
48
  ...(configuredApiKeysPlugin ? [configuredApiKeysPlugin] : []),
49
49
  ...(configuredCustomPagesPlugin ? [configuredCustomPagesPlugin] : []),
50
+ ...configuredApiCatalogPlugins,
50
51
  ...(configuredAuthProvider?.getAuthenticationPlugin
51
52
  ? [configuredAuthProvider.getAuthenticationPlugin()]
52
53
  : []),
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,MAAoB,EACE,EAAE;IACxB,MAAM,iBAAiB,GACrB,MAAM,CAAC,IAAI,EAAE,OAAO;QACpB,yDAAyD,CAAC;IAC5D,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,EAAE,OAAO;QACpB,wDAAwD,CAAC;IAE3D,MAAM,eAAe,GACnB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO;QACrB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK;QAC9B,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;IAEhC,OAAO;QACL,IAAI,EAAE;YACJ,GAAG,MAAM,CAAC,IAAI;YACd,IAAI,EAAE;gBACJ,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI;gBACpB,GAAG,EAAE;oBACH,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,iBAAiB;oBACzD,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,gBAAgB;iBACvD;aACF;SACF;QACD,QAAQ,EAAE,MAAM,CAAC,eAAe;QAChC,QAAQ,EAAE;YACR,OAAO,EAAE,0CAA0C;YACnD,KAAK,EAAE,aAAa;YACpB,GAAG,MAAM,CAAC,QAAQ;SACnB;QACD,QAAQ,EAAE,iBAAiB;QAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,cAAc,EAAE,sBAAsB;QACtC,OAAO,EAAE;YACP,GAAG,qBAAqB;YACxB,GAAG,oBAAoB;YACvB,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,sBAAsB,EAAE,uBAAuB;gBACjD,CAAC,CAAC,CAAC,sBAAsB,CAAC,uBAAuB,EAAE,CAAC;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SAC1B;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA6B,EAAE,EAAE;IAClE,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,uBAAuB;YACjD,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;YACpD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,MAAM,GAAG,UAAU;SACtB,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC3E,MAAM,CAAC;QACN,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;KACF,CAAC,CAAC;IAEL,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAoB,EAAiB,EAAE;IACvE,MAAM,OAAO,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO;QACL;YACE,OAAO,EAAE,CACP,KAAC,MAAM,OAAK,OAAO,YACjB,KAAC,MAAM,KAAG,GACH,CACV;YACD,QAAQ,EAAE;gBACR;oBACE,YAAY,EAAE,KAAC,WAAW,KAAG;oBAC7B,QAAQ,EAAE,MAAM;iBACjB;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.tsx"],"names":[],"mappings":"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"}
@@ -17,7 +17,8 @@ export async function warnIfOutdatedVersion(currentVersion) {
17
17
  if (!versionCheckInfo.latestVersion) {
18
18
  return false;
19
19
  }
20
- const shouldWarn = gt(versionCheckInfo.latestVersion, currentVersion);
20
+ const shouldWarn = gt(versionCheckInfo.latestVersion, currentVersion) &&
21
+ !process.env.ZUDOKU_INTERNAL_DEV;
21
22
  if (shouldWarn) {
22
23
  printWarningToConsole(box(`Update available! ${colors.gray(`v${currentVersion}`)} ≫ ${colors.green(`v${versionCheckInfo.latestVersion}`)}
23
24
  Run ${colors.cyan("npm install zudoku@latest")} to update.
@@ -1 +1 @@
1
- {"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../../src/cli/common/outdated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../../src/cli/common/outdated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { CommonConfig } from "./validators/common.js";
2
+ export type ConfigWithMeta<TConfig extends CommonConfig> = TConfig & {
3
+ __meta: {
4
+ dependencies: string[];
5
+ path: string;
6
+ registerDependency: (...file: string[]) => void;
7
+ };
8
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/config/common.ts"],"names":[],"mappings":""}
@@ -1,8 +1,9 @@
1
+ import { ConfigWithMeta } from "./common.js";
1
2
  import type { ZudokuConfig } from "./validators/validate.js";
2
- import type { LoadedConfig } from "../vite/config.js";
3
3
  export type URLString = `https://${string}` | `http://${string}`;
4
4
  export { type ZudokuConfig };
5
- export interface ZudokuPluginOptions extends LoadedConfig {
5
+ export type LoadedConfig = ConfigWithMeta<ZudokuConfig>;
6
+ export interface ZudokuPluginOptions extends ConfigWithMeta<ZudokuConfig> {
6
7
  rootDir: string;
7
8
  moduleDir: string;
8
9
  mode: "internal" | "module" | "standalone";
@@ -0,0 +1,5 @@
1
+ import { RollupOutput, RollupWatcher } from "rollup";
2
+ import { ConfigWithMeta } from "./common.js";
3
+ import { CommonConfig } from "./validators/common.js";
4
+ export declare function tryLoadZudokuConfig<TConfig extends CommonConfig>(rootDir: string): Promise<ConfigWithMeta<TConfig>>;
5
+ export declare function findOutputPathOfServerConfig(output: RollupOutput | RollupOutput[] | RollupWatcher): string;
@@ -0,0 +1,110 @@
1
+ import { readFile, stat } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { fileURLToPath, pathToFileURL } from "node:url";
4
+ import { tsImport } from "tsx/esm/api";
5
+ import withZuplo from "../zuplo/with-zuplo.js";
6
+ import { validateCommonConfig } from "./validators/common.js";
7
+ import { validateConfig } from "./validators/validate.js";
8
+ const zudokuConfigFiles = [
9
+ "zudoku.config.js",
10
+ "zudoku.config.jsx",
11
+ "zudoku.config.ts",
12
+ "zudoku.config.tsx",
13
+ "zudoku.config.mjs",
14
+ ];
15
+ const devPortalConfigFile = "dev-portal.json";
16
+ const fileExists = (path) => stat(path)
17
+ .then(() => true)
18
+ .catch(() => false);
19
+ let configPath;
20
+ let configType;
21
+ async function getConfigFilePath(rootDir) {
22
+ // Also check if file exists, so renaming the file will trigger a restart as well
23
+ if (configPath && configType && (await fileExists(configPath))) {
24
+ return { configPath, configType };
25
+ }
26
+ const devPortalConfigPath = path.join(rootDir, devPortalConfigFile);
27
+ if (await fileExists(devPortalConfigPath)) {
28
+ configPath = devPortalConfigPath;
29
+ configType = "dev-portal";
30
+ return { configPath, configType };
31
+ }
32
+ for (const fileName of zudokuConfigFiles) {
33
+ const filepath = path.join(rootDir, fileName);
34
+ if (await fileExists(filepath)) {
35
+ configPath = filepath;
36
+ configType = "zudoku";
37
+ return { configPath, configType };
38
+ }
39
+ }
40
+ configPath = undefined;
41
+ configType = undefined;
42
+ throw new Error(`No zudoku config file found in project root.`);
43
+ }
44
+ async function loadZudokuCodeConfig(rootDir, configPath) {
45
+ const configFilePath = pathToFileURL(configPath).href;
46
+ const dependencies = [];
47
+ const config = await tsImport(configFilePath, {
48
+ parentURL: import.meta.url,
49
+ onImport: (file) => {
50
+ const path = fileURLToPath(file.startsWith("file://") ? file : pathToFileURL(file).href);
51
+ if (path.startsWith(rootDir)) {
52
+ dependencies.push(path);
53
+ }
54
+ },
55
+ }).then((m) => m.default);
56
+ if (!config) {
57
+ throw new Error(`Failed to load config file: ${configPath}`);
58
+ }
59
+ validateConfig(config);
60
+ return { dependencies, config };
61
+ }
62
+ async function loadDevPortalConfig(configPath) {
63
+ const json = await readFile(configPath, "utf-8");
64
+ let config;
65
+ try {
66
+ config = JSON.parse(json);
67
+ }
68
+ catch {
69
+ throw new Error("Failed to parse dev-portal.json. Check that the file is valid JSON.");
70
+ }
71
+ validateCommonConfig(config);
72
+ return withZuplo(config);
73
+ }
74
+ // WARNING: If you change function signature, you must also change the
75
+ // corresponding type in packages/config/src/index.d.ts
76
+ export async function tryLoadZudokuConfig(rootDir) {
77
+ const { configPath, configType } = await getConfigFilePath(rootDir);
78
+ let config;
79
+ let dependencies;
80
+ if (configType === "dev-portal") {
81
+ config = await loadDevPortalConfig(configPath);
82
+ dependencies = [];
83
+ }
84
+ else {
85
+ ({ config, dependencies } = await loadZudokuCodeConfig(rootDir, configPath));
86
+ }
87
+ const configWithMetadata = {
88
+ ...config,
89
+ __meta: {
90
+ dependencies,
91
+ path: configPath,
92
+ registerDependency: (...files) => dependencies.push(...files),
93
+ },
94
+ };
95
+ return configWithMetadata;
96
+ }
97
+ const outputFileNames = ["dev-portal.js", "zudoku.config.js"];
98
+ export function findOutputPathOfServerConfig(output) {
99
+ if (Array.isArray(output)) {
100
+ throw new Error("Expected a single output, but got an array");
101
+ }
102
+ if ("output" in output) {
103
+ const result = output.output.find((o) => "isEntry" in o && o.isEntry && outputFileNames.includes(o.fileName));
104
+ if (result) {
105
+ return result.fileName;
106
+ }
107
+ }
108
+ throw new Error("Could not find server config output file");
109
+ }
110
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}