@povio/openapi-codegen-cli 3.0.0-rc.9 → 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/README.md +129 -0
- package/dist/acl.d.mts +1 -1
- package/dist/{config-C1ME3Ay4.d.mts → config-BU7wVf7U.d.mts} +1 -1
- package/dist/{generate.runner-DSZ2ivlU.mjs → generate.runner-BXTc97I0.mjs} +1 -1
- package/dist/{generateCodeFromOpenAPIDoc-NA2XZmIv.mjs → generateCodeFromOpenAPIDoc-C-n0Knj8.mjs} +298 -205
- package/dist/generator.d.mts +1 -1
- package/dist/generator.mjs +1 -1
- package/dist/index.d.mts +6 -3
- package/dist/index.mjs +14 -3
- package/dist/metro.d.mts +45 -0
- package/dist/metro.mjs +185 -0
- package/dist/openapi-B14GzSA_.d.mts +170 -0
- package/dist/openapi-codegen.runner-QGd35-a3.mjs +42 -0
- package/dist/openapi-source.runner-D19XnvMe.mjs +39 -0
- package/dist/sh.mjs +3 -3
- package/dist/tiny.d.mts +21 -0
- package/dist/tiny.mjs +631 -0
- package/dist/vite.d.mts +21 -6
- package/dist/vite.mjs +80 -23
- package/dist/zod.d.mts +1 -1
- package/package.json +13 -2
- /package/dist/{error-handling-B4aYKmyL.d.mts → error-handling-CDeKUFHF.d.mts} +0 -0
- /package/dist/{options-BPAjzilp.d.mts → options-CE4Koxof.d.mts} +0 -0
package/dist/vite.mjs
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import "./generateCodeFromOpenAPIDoc-C-n0Knj8.mjs";
|
|
2
|
+
import "./generate.runner-BXTc97I0.mjs";
|
|
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";
|
|
3
5
|
import path from "path";
|
|
4
6
|
|
|
5
7
|
//#region src/vite/openapi-codegen.plugin.ts
|
|
6
8
|
function openApiCodegen(config) {
|
|
7
9
|
let resolvedViteConfig;
|
|
8
|
-
|
|
9
|
-
const isLocalInput = typeof config.input === "string" && !/^https?:\/\//i.test(config.input);
|
|
10
|
-
const { formatGeneratedFile, ...normalizedConfig } = config;
|
|
10
|
+
const codegen = createOpenApiCodegenRunner(config);
|
|
11
11
|
const enqueueGenerate = () => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
await runGenerate({
|
|
16
|
-
fileConfig: normalizePaths(normalizedConfig, currentConfig.root),
|
|
17
|
-
formatGeneratedFile,
|
|
18
|
-
profiler: new Profiler(process.env.OPENAPI_CODEGEN_PROFILE === "1")
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
return queue;
|
|
12
|
+
const currentConfig = resolvedViteConfig;
|
|
13
|
+
if (!currentConfig) return Promise.resolve();
|
|
14
|
+
return codegen.enqueueGenerate(currentConfig.root);
|
|
22
15
|
};
|
|
23
16
|
const setupWatcher = (server) => {
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
const openApiPath = codegen.getLocalInputPath(server.config.root);
|
|
18
|
+
if (!openApiPath) return;
|
|
26
19
|
server.watcher.add(openApiPath);
|
|
27
20
|
server.watcher.on("change", (changedPath) => {
|
|
28
21
|
if (path.resolve(changedPath) === openApiPath) enqueueGenerate();
|
|
@@ -42,12 +35,76 @@ function openApiCodegen(config) {
|
|
|
42
35
|
}
|
|
43
36
|
};
|
|
44
37
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
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
|
+
});
|
|
50
107
|
}
|
|
51
108
|
|
|
52
109
|
//#endregion
|
|
53
|
-
export { openApiCodegen };
|
|
110
|
+
export { openApiCodegen, tinyOpenApiCodegen };
|
package/dist/zod.d.mts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@povio/openapi-codegen-cli",
|
|
3
|
-
"version": "3.0.0-rc.9",
|
|
4
3
|
"keywords": [
|
|
5
4
|
"codegen",
|
|
6
5
|
"openapi",
|
|
@@ -35,6 +34,14 @@
|
|
|
35
34
|
"types": "./dist/vite.d.mts",
|
|
36
35
|
"import": "./dist/vite.mjs"
|
|
37
36
|
},
|
|
37
|
+
"./metro": {
|
|
38
|
+
"types": "./dist/metro.d.mts",
|
|
39
|
+
"import": "./dist/metro.mjs"
|
|
40
|
+
},
|
|
41
|
+
"./tiny": {
|
|
42
|
+
"types": "./dist/tiny.d.mts",
|
|
43
|
+
"import": "./dist/tiny.mjs"
|
|
44
|
+
},
|
|
38
45
|
"./generator": {
|
|
39
46
|
"types": "./dist/generator.d.mts",
|
|
40
47
|
"import": "./dist/generator.mjs"
|
|
@@ -72,6 +79,9 @@
|
|
|
72
79
|
},
|
|
73
80
|
"dependencies": {
|
|
74
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",
|
|
75
85
|
"i18next": "^25.8.13",
|
|
76
86
|
"import-fresh": "^3.3.1",
|
|
77
87
|
"openapi-types": "^12.1.3",
|
|
@@ -127,5 +137,6 @@
|
|
|
127
137
|
"node": ">= 14",
|
|
128
138
|
"pnpm": ">= 9"
|
|
129
139
|
},
|
|
130
|
-
"packageManager": "pnpm@10.4.0"
|
|
140
|
+
"packageManager": "pnpm@10.4.0",
|
|
141
|
+
"version": "3.1.0-rc.1"
|
|
131
142
|
}
|
|
File without changes
|
|
File without changes
|