@povio/openapi-codegen-cli 3.0.0 → 3.1.0-rc.1

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/vite.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  import "./generateCodeFromOpenAPIDoc-C-n0Knj8.mjs";
2
2
  import "./generate.runner-BXTc97I0.mjs";
3
3
  import { t as createOpenApiCodegenRunner } from "./openapi-codegen.runner-QGd35-a3.mjs";
4
+ import { i as normalizeWatchFolders, r as isTinyOpenApiFakeMode, t as createTinyOpenApiSourceRunner } from "./openapi-source.runner-D19XnvMe.mjs";
4
5
  import path from "path";
5
6
 
6
7
  //#region src/vite/openapi-codegen.plugin.ts
@@ -36,4 +37,74 @@ function openApiCodegen(config) {
36
37
  }
37
38
 
38
39
  //#endregion
39
- export { openApiCodegen };
40
+ //#region src/vite/tiny-openapi-codegen.plugin.ts
41
+ const watchedEvents = new Set([
42
+ "add",
43
+ "change",
44
+ "unlink"
45
+ ]);
46
+ function tinyOpenApiCodegenPlugin(codegenConfig, options) {
47
+ const debounceMs = options.debounceMs ?? 150;
48
+ const codegenRunner = createOpenApiCodegenRunner(codegenConfig);
49
+ let resolvedConfig;
50
+ let debounceTimer;
51
+ const getRunner = () => {
52
+ const root = resolvedConfig?.root ?? process.cwd();
53
+ return createTinyOpenApiSourceRunner({
54
+ cwd: options.cwd,
55
+ env: options.env,
56
+ generateOpenApiFile: options.generateOpenApiFile,
57
+ input: codegenConfig.input,
58
+ root
59
+ });
60
+ };
61
+ let runner = getRunner();
62
+ const enqueueGenerate = async () => {
63
+ const root = resolvedConfig?.root ?? process.cwd();
64
+ await runner.enqueueGenerate();
65
+ await codegenRunner.enqueueGenerate(root);
66
+ };
67
+ const scheduleGenerate = (server) => {
68
+ if (debounceTimer) clearTimeout(debounceTimer);
69
+ debounceTimer = setTimeout(() => {
70
+ enqueueGenerate().catch((error) => {
71
+ server.config.logger.error(`[tiny-openapi] ${error instanceof Error ? error.message : String(error)}`);
72
+ });
73
+ }, debounceMs);
74
+ };
75
+ const setupWatcher = (server) => {
76
+ const watchFolders = normalizeWatchFolders(resolvedConfig?.root ?? server.config.root, options.watchFolders);
77
+ server.watcher.add(watchFolders);
78
+ server.watcher.on("all", (event, changedPath) => {
79
+ if (watchedEvents.has(event) && isPathInWatchFolders(changedPath, watchFolders)) scheduleGenerate(server);
80
+ });
81
+ };
82
+ return {
83
+ name: "tiny-openapi-codegen",
84
+ configResolved(config) {
85
+ resolvedConfig = config;
86
+ runner = getRunner();
87
+ },
88
+ async buildStart() {
89
+ await enqueueGenerate();
90
+ },
91
+ async configureServer(server) {
92
+ await enqueueGenerate();
93
+ setupWatcher(server);
94
+ }
95
+ };
96
+ }
97
+ function tinyOpenApiCodegen(codegenConfig, options) {
98
+ if (!isTinyOpenApiFakeMode(options.apiMode)) return [openApiCodegen(codegenConfig)];
99
+ return [tinyOpenApiCodegenPlugin(codegenConfig, options)];
100
+ }
101
+ function isPathInWatchFolders(changedPath, watchFolders) {
102
+ const resolvedChangedPath = path.resolve(changedPath);
103
+ return watchFolders.some((folder) => {
104
+ const relativePath = path.relative(folder, resolvedChangedPath);
105
+ return relativePath === "" || !relativePath.startsWith("..") && !path.isAbsolute(relativePath);
106
+ });
107
+ }
108
+
109
+ //#endregion
110
+ export { openApiCodegen, tinyOpenApiCodegen };
package/dist/zod.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as ErrorHandler } from "./error-handling-oM5YJYYH.mjs";
1
+ import { a as ErrorHandler } from "./error-handling-CDeKUFHF.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region src/zod.d.ts
package/package.json CHANGED
@@ -38,6 +38,10 @@
38
38
  "types": "./dist/metro.d.mts",
39
39
  "import": "./dist/metro.mjs"
40
40
  },
41
+ "./tiny": {
42
+ "types": "./dist/tiny.d.mts",
43
+ "import": "./dist/tiny.mjs"
44
+ },
41
45
  "./generator": {
42
46
  "types": "./dist/generator.d.mts",
43
47
  "import": "./dist/generator.mjs"
@@ -75,6 +79,9 @@
75
79
  },
76
80
  "dependencies": {
77
81
  "@apidevtools/swagger-parser": "^10.1.0",
82
+ "@orpc/contract": "^1.14.3",
83
+ "@orpc/openapi": "^1.14.3",
84
+ "@orpc/zod": "^1.14.3",
78
85
  "i18next": "^25.8.13",
79
86
  "import-fresh": "^3.3.1",
80
87
  "openapi-types": "^12.1.3",
@@ -131,5 +138,5 @@
131
138
  "pnpm": ">= 9"
132
139
  },
133
140
  "packageManager": "pnpm@10.4.0",
134
- "version": "3.0.0"
141
+ "version": "3.1.0-rc.1"
135
142
  }