zudoku 0.1.1-dev.7 → 0.1.1-dev.9

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 (61) hide show
  1. package/dist/app/App.js +8 -38
  2. package/dist/app/App.js.map +1 -1
  3. package/dist/app/main.js +2 -14
  4. package/dist/app/main.js.map +1 -1
  5. package/dist/cli/cmds/dev.js +0 -1
  6. package/dist/cli/cmds/dev.js.map +1 -1
  7. package/dist/cli/common/logger.d.ts +1 -2
  8. package/dist/cli/common/logger.js +2 -4
  9. package/dist/cli/common/logger.js.map +1 -1
  10. package/dist/cli/dev/handler.d.ts +1 -1
  11. package/dist/cli/dev/handler.js +11 -2
  12. package/dist/cli/dev/handler.js.map +1 -1
  13. package/dist/config/config.d.ts +11 -5
  14. package/dist/ts.d.ts +6 -0
  15. package/dist/ts.js +62 -0
  16. package/dist/ts.js.map +1 -0
  17. package/dist/vite/config.d.ts +1 -1
  18. package/dist/vite/config.js +50 -45
  19. package/dist/vite/config.js.map +1 -1
  20. package/dist/vite/config.test.js +4 -3
  21. package/dist/vite/config.test.js.map +1 -1
  22. package/dist/vite/dev-server.js +3 -2
  23. package/dist/vite/dev-server.js.map +1 -1
  24. package/dist/vite/html.d.ts +1 -1
  25. package/dist/vite/html.js +2 -3
  26. package/dist/vite/html.js.map +1 -1
  27. package/dist/vite/plugin-api.d.ts +4 -0
  28. package/dist/vite/plugin-api.js +47 -0
  29. package/dist/vite/plugin-api.js.map +1 -0
  30. package/dist/vite/plugin-auth.d.ts +4 -0
  31. package/dist/vite/plugin-auth.js +29 -0
  32. package/dist/vite/plugin-auth.js.map +1 -0
  33. package/dist/vite/plugin-config.d.ts +6 -0
  34. package/dist/vite/plugin-config.js +24 -0
  35. package/dist/vite/plugin-config.js.map +1 -0
  36. package/dist/vite/plugin-docs.d.ts +4 -0
  37. package/dist/vite/plugin-docs.js +43 -0
  38. package/dist/vite/plugin-docs.js.map +1 -0
  39. package/dist/vite/plugin-docs.test.d.ts +1 -0
  40. package/dist/vite/plugin-docs.test.js +31 -0
  41. package/dist/vite/plugin-docs.test.js.map +1 -0
  42. package/dist/vite/plugin-html.d.ts +3 -0
  43. package/dist/vite/plugin-html.js +50 -0
  44. package/dist/vite/plugin-html.js.map +1 -0
  45. package/dist/vite/plugin-mdx.d.ts +8 -0
  46. package/dist/vite/plugin-mdx.js +61 -0
  47. package/dist/vite/plugin-mdx.js.map +1 -0
  48. package/dist/vite/plugin.d.ts +2 -6
  49. package/dist/vite/plugin.js +14 -104
  50. package/dist/vite/plugin.js.map +1 -1
  51. package/package.json +19 -21
  52. package/src/app/App.tsx +11 -44
  53. package/src/app/main.tsx +2 -15
  54. package/dist/app/config.d.ts +0 -3
  55. package/dist/app/config.js +0 -9
  56. package/dist/app/config.js.map +0 -1
  57. package/dist/app/markdowns.d.ts +0 -3
  58. package/dist/app/markdowns.js +0 -5
  59. package/dist/app/markdowns.js.map +0 -1
  60. package/src/app/config.ts +0 -20
  61. package/src/app/markdowns.ts +0 -7
package/dist/app/App.js CHANGED
@@ -1,10 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import "./main.css";
3
+ // Virtual config
4
+ import config from "virtual:zudoku-config";
5
+ // Virtual Plugins
6
+ import { configuredApiPlugins } from "virtual:zudoku-api-plugins";
7
+ import { configuredAuthProvider } from "virtual:zudoku-auth";
8
+ import { configuredDocsPlugins } from "virtual:zudoku-docs-plugins";
9
+ // Base React Component
3
10
  import DevPortal from "./DevPortal.js";
4
- import { markdownPlugin } from "./plugins/markdown/index.js";
5
- import { openApiPlugin } from "./plugins/openapi/index.js";
6
- import config from "./config.js";
7
- // import markdowns from "./markdowns.js";
8
11
  export default function App() {
9
12
  return (_jsx(DevPortal, { meta: {
10
13
  headerTitle: config?.ui?.headerTitle ?? "Developer Portal",
@@ -12,39 +15,6 @@ export default function App() {
12
15
  logo: config?.ui?.logo ?? "https://cdn.zuplo.com/www/favicon.png",
13
16
  favicon: config?.ui?.metadata?.favicon ??
14
17
  "https://cdn.zuplo.com/www/favicon.png",
15
- }, navigation: config.navigation ?? [],
16
- // authentication={
17
- // config.authentication
18
- // ? getAuthProvider(config.authentication)
19
- // : undefined
20
- // }
21
- plugins: [
22
- ...(config.docs
23
- ? Array.isArray(config.docs)
24
- ? config.docs
25
- : [config.docs]
26
- : []).map((docs) => markdownPlugin({
27
- markdownFiles: docs?.files ?? {},
28
- })),
29
- ...(config.apis
30
- ? Array.isArray(config.apis)
31
- ? config.apis
32
- : [config.apis]
33
- : []).map((api) => openApiPlugin(api)),
34
- // if (!accessToken) {
35
- // return;
36
- // }
37
- // const consumers = await fetch(
38
- // "https://zudoku-customer-main-b36fa2f.d2.zuplo.dev/v1/developer/api-keys",
39
- // {
40
- // headers: {
41
- // Authorization: `Bearer ${accessToken}`,
42
- // },
43
- // },
44
- // );
45
- // return { consumers: [await consumers.json()] };
46
- // },
47
- // }),
48
- ] }));
18
+ }, navigation: config.navigation ?? [], authentication: configuredAuthProvider, plugins: [...configuredDocsPlugins, ...configuredApiPlugins] }));
49
19
  }
50
20
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/app/App.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,CAAC;AAEpB,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,0CAA0C;AAE1C,MAAM,CAAC,OAAO,UAAU,GAAG;IACzB,OAAO,CACL,KAAC,SAAS,IACR,IAAI,EAAE;YACJ,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,IAAI,kBAAkB;YAC1D,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,IAAI,iBAAiB;YACrD,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,IAAI,uCAAuC;YACjE,OAAO,EACL,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO;gBAC7B,uCAAuC;SAC1C,EACD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;QACnC,mBAAmB;QACnB,0BAA0B;QAC1B,+CAA+C;QAC/C,kBAAkB;QAClB,IAAI;QACJ,OAAO,EAAE;YACP,GAAG,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI;oBACb,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,EAAE,CACL,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACb,cAAc,CAAC;gBACb,aAAa,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;aACjC,CAAC,CACH;YACD,GAAG,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI;oBACb,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,CAAC,CAAC,EAAE,CACL,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,0BAA0B;YAC1B,gBAAgB;YAChB,QAAQ;YAER,qCAAqC;YACrC,mFAAmF;YACnF,UAAU;YACV,qBAAqB;YACrB,oDAAoD;YACpD,aAAa;YACb,WAAW;YACX,SAAS;YAET,sDAAsD;YACtD,OAAO;YACP,MAAM;SACP,GACD,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/app/App.tsx"],"names":[],"mappings":";AAAA,OAAO,YAAY,CAAC;AAEpB,iBAAiB;AACjB,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAE3C,kBAAkB;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,uBAAuB;AACvB,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,GAAG;IACzB,OAAO,CACL,KAAC,SAAS,IACR,IAAI,EAAE;YACJ,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,IAAI,kBAAkB;YAC1D,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,IAAI,iBAAiB;YACrD,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,IAAI,uCAAuC;YACjE,OAAO,EACL,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO;gBAC7B,uCAAuC;SAC1C,EACD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,EACnC,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,CAAC,GAAG,qBAAqB,EAAE,GAAG,oBAAoB,CAAC,GAC5D,CACH,CAAC;AACJ,CAAC"}
package/dist/app/main.js CHANGED
@@ -1,18 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from "react";
3
- import ReactDOM from "react-dom/client";
3
+ import { createRoot } from "react-dom/client";
4
4
  import App from "./App.js";
5
- // if (import.meta.env.DEV) {
6
- // const { default: wdyr } = await import(
7
- // "@welldone-software/why-did-you-render"
8
- // );
9
- //
10
- // wdyr(React, {
11
- // include: [/.*/],
12
- // exclude: [/^BrowserRouter/, /^Link/, /^Route/],
13
- // trackHooks: true,
14
- // trackAllPureComponents: true,
15
- // });
16
- // }
17
- ReactDOM.createRoot(document.getElementById("root")).render(_jsx(React.StrictMode, { children: _jsx(App, {}) }));
5
+ createRoot(document.getElementById("root")).render(_jsx(React.StrictMode, { children: _jsx(App, {}) }));
18
6
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,6BAA6B;AAC7B,4CAA4C;AAC5C,8CAA8C;AAC9C,OAAO;AACP,EAAE;AACF,kBAAkB;AAClB,uBAAuB;AACvB,sDAAsD;AACtD,wBAAwB;AACxB,oCAAoC;AACpC,QAAQ;AACR,IAAI;AAEJ,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC,MAAM,CAC1D,KAAC,KAAK,CAAC,UAAU,cACf,KAAC,GAAG,KAAG,GACU,CACpB,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/app/main.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC,MAAM,CACjD,KAAC,KAAK,CAAC,UAAU,cACf,KAAC,GAAG,KAAG,GACU,CACpB,CAAC"}
@@ -15,7 +15,6 @@ export default {
15
15
  .option("port", {
16
16
  type: "number",
17
17
  describe: "The port to run the local server on",
18
- default: 9000,
19
18
  });
20
19
  },
21
20
  handler: async (argv) => {
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/cmds/dev.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAa,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAe;IACb,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,KAAK,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,uCAAuC;YACjD,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;SACb,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qCAAqC;YAC/C,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC;YACjB,IAAI;YACJ,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,IAAiB,CAAC,CAAC;IAC/B,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/cmds/dev.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAa,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAe;IACb,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,KAAW,EAAiB,EAAE;QACtC,OAAO,KAAK;aACT,MAAM,CAAC,KAAK,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,uCAAuC;YACjD,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;SACb,CAAC;aACD,MAAM,CAAC,MAAM,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,qCAAqC;SAChD,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;QAC/B,MAAM,YAAY,CAAC;YACjB,IAAI;YACJ,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,IAAiB,CAAC,CAAC;IAC/B,CAAC;CACF,CAAC"}
@@ -1,2 +1 @@
1
- import * as Pino from "pino";
2
- export declare const logger: Pino.Logger<never>;
1
+ export declare const logger: import("vite").Logger;
@@ -1,5 +1,3 @@
1
- import * as Pino from "pino";
2
- export const logger = Pino.pino({
3
- level: process.env.LOG_LEVEL || "info",
4
- });
1
+ import { createLogger } from "vite";
2
+ export const logger = createLogger((process.env.LOG_LEVEL || "info"));
5
3
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/cli/common/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;CACvC,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/cli/common/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,YAAY,EAAE,MAAM,MAAM,CAAC;AAE9C,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAChC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAa,CAC9C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export interface Arguments {
2
2
  dir: string;
3
- port: number;
3
+ port?: number;
4
4
  }
5
5
  export declare function dev(argv: Arguments): Promise<void>;
@@ -1,12 +1,21 @@
1
1
  import { DevServer } from "../../vite/dev-server.js";
2
2
  import { printDiagnosticsToConsole } from "../common/output.js";
3
+ import { isPortAvailable } from "../common/utils/ports.js";
3
4
  export async function dev(argv) {
4
- const server = new DevServer(argv);
5
+ const host = "localhost";
6
+ let port = argv.port;
7
+ if (!port) {
8
+ port = 9000;
9
+ while (!(await isPortAvailable(host, port)) && port < 9800) {
10
+ port++;
11
+ }
12
+ }
13
+ const server = new DevServer({ ...argv, port });
5
14
  await server.start();
6
15
  printDiagnosticsToConsole("Started local development setup");
7
16
  printDiagnosticsToConsole("Ctrl+C to exit");
8
17
  printDiagnosticsToConsole("");
9
- printDiagnosticsToConsole(`🚀 Zudoku Portal: http://localhost:${argv.port}`);
18
+ printDiagnosticsToConsole(`🚀 Zudoku Portal: http://${host}:${port}`);
10
19
  printDiagnosticsToConsole("");
11
20
  printDiagnosticsToConsole("");
12
21
  return new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cli/dev/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAOhE,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAe;IACvC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;IAC7D,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC5C,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,yBAAyB,CAAC,sCAAsC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAE9B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,KAAK,UAAU,IAAI;YACjB,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;YAE7D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cli/dev/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAO3D,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAe;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC;IACzB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACrB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,CAAC;QACZ,OAAO,CAAC,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAC3D,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;IAC7D,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC5C,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,yBAAyB,CAAC,4BAA4B,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACtE,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAE9B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,KAAK,UAAU,IAAI;YACjB,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;YAE7D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +1,7 @@
1
- import { type MdxComponentsType } from "src/app/util/MdxComponents.js";
1
+ import { Options } from "@mdx-js/rollup";
2
2
  import { NavigationItem } from "../app/core/DevPortalContext.js";
3
- import { MarkdownPluginOptions } from "../app/plugins/markdown/index.js";
4
3
  import { OasPluginConfig } from "../app/plugins/openapi/index.js";
5
- import { DevPortalPluginOptions } from "../vite/plugin.js";
4
+ import { type MdxComponentsType } from "../app/util/MdxComponents.js";
6
5
  export interface ZudokuConfig {
7
6
  ui?: UIConfig;
8
7
  mdx?: {
@@ -12,7 +11,14 @@ export interface ZudokuConfig {
12
11
  navigation?: NavigationItem[];
13
12
  docs?: DocsConfig;
14
13
  apis?: ApiConfig | ApiConfig[];
15
- build?: DevPortalPluginOptions;
14
+ build?: {
15
+ remarkPlugins?: Options["remarkPlugins"];
16
+ rehypePlugins?: Options["rehypePlugins"];
17
+ };
18
+ }
19
+ export interface ZudokuPluginOptions extends ZudokuConfig {
20
+ rootDir: string;
21
+ appDir: string;
16
22
  }
17
23
  export interface UIConfig {
18
24
  /**
@@ -27,7 +33,7 @@ export interface MetadataConfig {
27
33
  favicon?: string;
28
34
  }
29
35
  export interface DocsConfig {
30
- files?: MarkdownPluginOptions["markdownFiles"];
36
+ files?: string;
31
37
  }
32
38
  export type ApiConfig = OasPluginConfig;
33
39
  export interface ClerkAuthenticationConfig {
package/dist/ts.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import ts from "typescript";
2
+ /**
3
+ * Function to check if a TypeScript string is valid
4
+ * Used for tests
5
+ */
6
+ export declare function checkTypescriptString(code: string): Promise<readonly ts.Diagnostic[]>;
package/dist/ts.js ADDED
@@ -0,0 +1,62 @@
1
+ import path from "path";
2
+ import ts from "typescript";
3
+ /**
4
+ * Function to check if a TypeScript string is valid
5
+ * Used for tests
6
+ */
7
+ export async function checkTypescriptString(code) {
8
+ const rootDir = process.cwd();
9
+ const inMemoryFileName = path.join(rootDir, "/src/temp.ts");
10
+ const configPath = ts.findConfigFile(rootDir, ts.sys.fileExists, "tsconfig.json");
11
+ if (!configPath) {
12
+ throw new Error("Could not find a valid tsconfig.json");
13
+ }
14
+ const configFile = ts.readConfigFile(configPath, ts.sys.readFile);
15
+ const parsedCommandLine = ts.parseJsonConfigFileContent(configFile.config, ts.sys, path.dirname(configPath));
16
+ // Custom compiler host to handle in-memory file and delegate to default host for others
17
+ const compilerHost = {
18
+ ...ts.createCompilerHost(parsedCommandLine.options),
19
+ getSourceFile: (fileName, languageVersion, onError, shouldCreateNewSourceFile) => {
20
+ if (fileName === inMemoryFileName) {
21
+ return ts.createSourceFile(fileName, code, languageVersion, true);
22
+ }
23
+ return ts
24
+ .createCompilerHost(parsedCommandLine.options)
25
+ .getSourceFile(fileName, languageVersion, onError, shouldCreateNewSourceFile);
26
+ },
27
+ fileExists: (fileName) => {
28
+ if (fileName === inMemoryFileName) {
29
+ return true;
30
+ }
31
+ return ts.sys.fileExists(fileName);
32
+ },
33
+ readFile: (fileName) => {
34
+ if (fileName === inMemoryFileName) {
35
+ return code;
36
+ }
37
+ return ts.sys.readFile(fileName);
38
+ },
39
+ };
40
+ // Create a source file in memory
41
+ const sourceFile = ts.createSourceFile("tempFile.ts", code, 99, true);
42
+ // Create a program using the in-memory source file
43
+ const program = ts.createProgram({
44
+ rootNames: parsedCommandLine.fileNames.concat(inMemoryFileName),
45
+ options: parsedCommandLine.options,
46
+ host: compilerHost,
47
+ });
48
+ // Get all diagnostics for the program, which includes syntax and semantic errors
49
+ const diagnostics = ts.getPreEmitDiagnostics(program);
50
+ diagnostics.forEach((diagnostic) => {
51
+ if (diagnostic.file) {
52
+ const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
53
+ const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
54
+ console.log(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);
55
+ }
56
+ else {
57
+ console.log(ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n"));
58
+ }
59
+ });
60
+ return diagnostics;
61
+ }
62
+ //# sourceMappingURL=ts.js.map
package/dist/ts.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts.js","sourceRoot":"","sources":["../src/ts.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,4 @@ export declare function loadZuploConfig(rootDir: string): Promise<ZudokuConfig>;
4
4
  export declare function getAppDir(): string;
5
5
  export declare function getAppMainTsxPath(): string;
6
6
  export declare function getViteConfig(dir: string): Promise<InlineConfig>;
7
- export declare function loadTs(filepath: string): Promise<any>;
7
+ export declare function loadConfig(rootPath: string, fileName: string): Promise<any>;
@@ -1,34 +1,33 @@
1
1
  import autoprefixer from "autoprefixer";
2
2
  import esbuild from "esbuild";
3
- import { rm, stat } from "node:fs/promises";
3
+ import { stat } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import tailwindcss from "tailwindcss";
6
6
  import tailwindConfig from "../app/tailwind.js";
7
- import { devPortalPlugin } from "./plugin.js";
8
- // import importMarkdownPlugins from "./vite-docs-plugin.js";
7
+ import { logger } from "../cli/common/logger.js";
8
+ import { isPortAvailable } from "../cli/common/utils/ports.js";
9
+ import vitePlugin from "./plugin.js";
10
+ const extensions = ["js", "jsx", "ts", "tsx", "mjs"];
9
11
  const fileExists = (path) => stat(path)
10
12
  .then(() => true)
11
13
  .catch(() => false);
12
14
  export async function loadZuploConfig(rootDir) {
13
- const configPaths = ["js", "jsx", "ts", "tsx", "mjs"].map((ext) => path.resolve(rootDir, `zudoku.config.${ext}`));
14
- for (const configPath of configPaths) {
15
- if (!(await fileExists(configPath)))
16
- continue;
15
+ for (const ext of extensions) {
16
+ const fileName = `zudoku.config.${ext}`;
17
+ const configPath = path.join(rootDir, fileName);
17
18
  try {
18
- if (configPath.endsWith(".tsx") || configPath.endsWith(".ts")) {
19
- const config = await loadTs(configPath);
20
- return config.default;
21
- }
22
- else {
23
- const config = await import(configPath);
19
+ if (await fileExists(configPath)) {
20
+ logger.info(`Loading zudoku.config file: ${configPath}`);
21
+ const config = await loadConfig(rootDir, fileName);
24
22
  return config.default;
25
23
  }
26
24
  }
27
25
  catch (e) {
28
- // Ignore
26
+ logger.error(e);
29
27
  }
30
28
  }
31
29
  // Default config
30
+ logger.warn("No zudoku.config file found");
32
31
  return {};
33
32
  }
34
33
  export function getAppDir() {
@@ -41,17 +40,27 @@ export function getAppMainTsxPath() {
41
40
  return path.join(appDir, "main.tsx");
42
41
  }
43
42
  export async function getViteConfig(dir) {
44
- const appDir = getAppDir();
45
43
  const rootDir = path.resolve(process.cwd(), dir);
46
- const zudokuConfig = await loadZuploConfig(rootDir);
44
+ const appDir = getAppDir();
45
+ const config = await loadZuploConfig(rootDir);
46
+ let websocketPort = 9800;
47
+ while (!(await isPortAvailable("localhost", websocketPort)) &&
48
+ websocketPort < 9999) {
49
+ websocketPort++;
50
+ }
47
51
  const viteConfig = {
48
52
  root: rootDir,
49
53
  configFile: false,
50
54
  clearScreen: false,
55
+ logLevel: (process.env.LOG_LEVEL || "info"),
56
+ customLogger: logger,
57
+ envPrefix: "PUBLIC_",
51
58
  server: {
52
59
  middlewareMode: true,
53
60
  open: true,
54
- hmr: true,
61
+ hmr: {
62
+ port: websocketPort,
63
+ },
55
64
  watch: {
56
65
  ignored: [
57
66
  `${rootDir}/dist`,
@@ -61,11 +70,11 @@ export async function getViteConfig(dir) {
61
70
  ],
62
71
  },
63
72
  },
73
+ build: {
74
+ outDir: path.resolve(rootDir, "out"),
75
+ },
64
76
  appType: "custom",
65
- plugins: [
66
- devPortalPlugin(zudokuConfig.build),
67
- // importMarkdownPlugins(zudokuConfig),
68
- ],
77
+ plugins: [vitePlugin({ ...config, rootDir, appDir })],
69
78
  css: {
70
79
  postcss: {
71
80
  plugins: [
@@ -83,32 +92,28 @@ export async function getViteConfig(dir) {
83
92
  };
84
93
  return viteConfig;
85
94
  }
86
- export async function loadTs(filepath) {
87
- const compiledFilepath = path.resolve(`${filepath.slice(0, -2)}mjs`);
95
+ export async function loadConfig(rootPath, fileName) {
96
+ const compiledFilepath = path.join(rootPath, "node_modules", ".zudoku", "zudoku.config.mjs");
97
+ const filepath = path.join(rootPath, fileName);
88
98
  try {
89
- try {
90
- await esbuild.build({
91
- entryPoints: [filepath],
92
- bundle: true,
93
- keepNames: true,
94
- treeShaking: true,
95
- minifyIdentifiers: false,
96
- minifySyntax: false,
97
- minifyWhitespace: false,
98
- platform: "node",
99
- target: "es2022",
100
- format: "esm",
101
- outfile: compiledFilepath,
102
- });
103
- }
104
- catch (error) {
105
- error.message = `TypeScript Error in ${filepath}:\n${error.message}`;
106
- throw error;
107
- }
108
- return await import(compiledFilepath);
99
+ await esbuild.build({
100
+ entryPoints: [filepath],
101
+ bundle: true,
102
+ keepNames: true,
103
+ treeShaking: true,
104
+ minifyIdentifiers: false,
105
+ minifySyntax: false,
106
+ minifyWhitespace: false,
107
+ platform: "node",
108
+ target: "es2022",
109
+ format: "esm",
110
+ outfile: compiledFilepath,
111
+ });
109
112
  }
110
- finally {
111
- await rm(compiledFilepath, { force: true });
113
+ catch (error) {
114
+ error.message = `TypeScript Error in ${filepath}:\n${error.message}`;
115
+ throw error;
112
116
  }
117
+ return await import(compiledFilepath);
113
118
  }
114
119
  //# sourceMappingURL=config.js.map
@@ -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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"}
@@ -1,9 +1,10 @@
1
1
  import assert from "node:assert";
2
+ import path from "node:path";
2
3
  import test from "node:test";
3
- import { loadTs } from "./config.js";
4
+ import { loadConfig } from "./config.js";
4
5
  test("Should correctly load zudoku.config.ts file", async (t) => {
5
- const configPath = "../../samples/with-config/zudoku.config.ts";
6
- const config = await loadTs(configPath);
6
+ const rootPath = path.resolve("../../samples/with-config/");
7
+ const config = await loadConfig(rootPath, "zudoku.config.ts");
7
8
  assert.equal(config.default.ui.headerTitle, "My Portal");
8
9
  });
9
10
  //# sourceMappingURL=config.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/vite/config.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,IAAI,CAAC,6CAA6C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9D,MAAM,UAAU,GAAG,4CAA4C,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/vite/config.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,IAAI,CAAC,6CAA6C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import express from "express";
2
2
  import { createServer as createViteServer } from "vite";
3
3
  import { createGraphQLServer } from "../app/oas/graphql/index.js";
4
- import { getViteConfig } from "./config.js";
4
+ import { getAppMainTsxPath, getViteConfig } from "./config.js";
5
5
  import { getDevHtml } from "./html.js";
6
6
  export class DevServer {
7
7
  options;
@@ -20,7 +20,8 @@ export class DevServer {
20
20
  app.use(vite.middlewares);
21
21
  app.use("*", async (req, res) => {
22
22
  try {
23
- const rawHtml = getDevHtml();
23
+ const jsEntry = getAppMainTsxPath();
24
+ const rawHtml = getDevHtml(jsEntry);
24
25
  const indexHtml = await vite.transformIndexHtml(req.url, rawHtml);
25
26
  // Send the transformed index.html back to the client
26
27
  res.status(200).set({ "Content-Type": "text/html" }).end(indexHtml);
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../src/vite/dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,OAAO,SAAS;IAGA;IAFZ,MAAM,CAAqB;IAEnC,YAAoB,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;IAAG,CAAC;IAE9D,KAAK,CAAC,KAAK;QACT,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QAEtB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,mBAAmB,CAAC;YAClC,eAAe,EAAE,cAAc;SAChC,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAElE,qDAAqD;gBACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACzB,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../src/vite/dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,OAAO,SAAS;IAGA;IAFZ,MAAM,CAAqB;IAEnC,YAAoB,OAAsC;QAAtC,YAAO,GAAP,OAAO,CAA+B;IAAG,CAAC;IAE9D,KAAK,CAAC,KAAK;QACT,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QAEtB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,mBAAmB,CAAC;YAClC,eAAe,EAAE,cAAc;SAChC,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC1C,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAElE,qDAAqD;gBACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACzB,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- export declare function getDevHtml(): string;
1
+ export declare function getDevHtml(jsEntry: string): string;
2
2
  export declare function getBuildHtml({ jsEntry, cssEntry, }: {
3
3
  jsEntry: string;
4
4
  cssEntry: string;
package/dist/vite/html.js CHANGED
@@ -1,5 +1,4 @@
1
- import { getAppMainTsxPath } from "./config.js";
2
- export function getDevHtml() {
1
+ export function getDevHtml(jsEntry) {
3
2
  return `<!doctype html>
4
3
  <html lang="en" class="dark">
5
4
  <head>
@@ -8,7 +7,7 @@ export function getDevHtml() {
8
7
  </head>
9
8
  <body>
10
9
  <div id="root"></div>
11
- <script type="module" src="${getAppMainTsxPath()}"></script>
10
+ <script type="module" src="${jsEntry}"></script>
12
11
  </body>
13
12
  </html>
14
13
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/vite/html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,UAAU,UAAU;IACxB,OAAO;;;;;;;;iCAQwB,iBAAiB,EAAE;;;CAGnD,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,GAIT;IACC,OAAO;;;;;;;6CAOoC,OAAO;+CACL,QAAQ;;;;;QAK/C,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/vite/html.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO;;;;;;;;iCAQwB,OAAO;;;CAGvC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,GAIT;IACC,OAAO;;;;;;;6CAOoC,OAAO;+CACL,QAAQ;;;;;QAK/C,CAAC;AACT,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Plugin } from "vite";
2
+ import { ZudokuPluginOptions } from "../config/config.js";
3
+ declare const viteApiPlugin: (config: ZudokuPluginOptions) => Plugin;
4
+ export default viteApiPlugin;
@@ -0,0 +1,47 @@
1
+ import { getConfigExportCode } from "./plugin-config.js";
2
+ const viteApiPlugin = (config) => {
3
+ const virtualModuleId = "virtual:zudoku-api-plugins";
4
+ const resolvedVirtualModuleId = "\0" + virtualModuleId;
5
+ return {
6
+ name: "vite-zudoku-api-plugins",
7
+ resolveId(id) {
8
+ if (id === virtualModuleId) {
9
+ return resolvedVirtualModuleId;
10
+ }
11
+ },
12
+ load(id) {
13
+ if (id === resolvedVirtualModuleId) {
14
+ const code = [
15
+ // IMPORTANT! This path here is important, we MUST resolve
16
+ // files here as Typescript from the appDir
17
+ getConfigExportCode(config.rootDir),
18
+ `import { openApiPlugin } from "${config.appDir}/plugins/openapi/index.tsx";`,
19
+ `const configuredApiPlugins = [];`,
20
+ ];
21
+ if (config?.apis) {
22
+ if (Array.isArray(config.apis)) {
23
+ config.apis.forEach((c, i) => {
24
+ code.push(...[
25
+ `// @ts-ignore`, // To make tests pass
26
+ `configuredApiPlugins.push(openApiPlugin(config.apis?[${i}]));`,
27
+ ]);
28
+ });
29
+ }
30
+ else {
31
+ code.push(...[
32
+ `// @ts-ignore`, // To make tests pass
33
+ `configuredApiPlugins.push(openApiPlugin(config.apis));`,
34
+ ]);
35
+ }
36
+ }
37
+ code.push(`export { configuredApiPlugins };`);
38
+ return {
39
+ code: code.join("\n"),
40
+ map: null,
41
+ };
42
+ }
43
+ },
44
+ };
45
+ };
46
+ export default viteApiPlugin;
47
+ //# sourceMappingURL=plugin-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/vite/plugin-api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,aAAa,GAAG,CAAC,MAA2B,EAAU,EAAE;IAC5D,MAAM,eAAe,GAAG,4BAA4B,CAAC;IACrD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAa;oBACrB,0DAA0D;oBAC1D,2CAA2C;oBAC3C,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;oBACnC,kCAAkC,MAAM,CAAC,MAAM,8BAA8B;oBAC7E,kCAAkC;iBACnC,CAAC;gBAEF,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;oBACjB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;4BAC3B,IAAI,CAAC,IAAI,CACP,GAAG;gCACD,eAAe,EAAE,qBAAqB;gCACtC,wDAAwD,CAAC,MAAM;6BAChE,CACF,CAAC;wBACJ,CAAC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,IAAI,CACP,GAAG;4BACD,eAAe,EAAE,qBAAqB;4BACtC,wDAAwD;yBACzD,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAE9C,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,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PluginOption } from "vite";
2
+ import { ZudokuPluginOptions } from "../config/config.js";
3
+ declare const viteAuthPlugin: (config: ZudokuPluginOptions) => PluginOption;
4
+ export default viteAuthPlugin;