next-openapi-gen 0.7.4 → 0.7.6
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/commands/init.js
CHANGED
|
@@ -49,6 +49,22 @@ function getDocsPage(ui, outputFile) {
|
|
|
49
49
|
}
|
|
50
50
|
return DocsComponent(outputFile);
|
|
51
51
|
}
|
|
52
|
+
function getDocsPageInstallFlags(ui, packageManager) {
|
|
53
|
+
let installFlags = "";
|
|
54
|
+
if (ui === "swagger") {
|
|
55
|
+
// @temp: swagger-ui-react does not support React 19 now.
|
|
56
|
+
if (packageManager === "pnpm") {
|
|
57
|
+
installFlags = "--no-strict-peer-dependencies";
|
|
58
|
+
}
|
|
59
|
+
else if (packageManager === "yarn") {
|
|
60
|
+
installFlags = ""; // flag for legacy peer deps is not needed for yarn
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
installFlags = "--legacy-peer-deps";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return installFlags;
|
|
67
|
+
}
|
|
52
68
|
function getDocsPageDependencies(ui) {
|
|
53
69
|
let deps = [];
|
|
54
70
|
if (ui === "scalar") {
|
|
@@ -85,8 +101,9 @@ async function installDependencies(ui) {
|
|
|
85
101
|
const packageManager = await getPackageManager();
|
|
86
102
|
const installCmd = `${packageManager} ${packageManager === "npm" ? "install" : "add"}`;
|
|
87
103
|
const deps = getDocsPageDependencies(ui);
|
|
104
|
+
const flags = getDocsPageInstallFlags(ui, packageManager);
|
|
88
105
|
spinner.succeed(`Installing ${deps} dependencies...`);
|
|
89
|
-
const resp = await execPromise(`${installCmd} ${deps}`);
|
|
106
|
+
const resp = await execPromise(`${installCmd} ${deps} ${flags}`);
|
|
90
107
|
spinner.succeed(`Successfully installed ${deps}.`);
|
|
91
108
|
}
|
|
92
109
|
function extendOpenApiTemplate(spec, options) {
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
export const swaggerDeps = [
|
|
2
|
-
"swagger-ui",
|
|
3
|
-
"swagger-ui-react",
|
|
4
|
-
"--legacy-peer-deps", // @temp: swagger-ui-react does not support React 19 now.
|
|
5
|
-
];
|
|
1
|
+
export const swaggerDeps = ["swagger-ui", "swagger-ui-react"];
|
|
6
2
|
export function SwaggerUI(outputFile) {
|
|
7
3
|
return `
|
|
8
4
|
import "swagger-ui-react/swagger-ui.css";
|
|
@@ -265,6 +265,8 @@ export class RouteProcessor {
|
|
|
265
265
|
relativePath = relativePath.replace(/\/route\.tsx?$/, "");
|
|
266
266
|
// Convert directory separators to URL path format
|
|
267
267
|
relativePath = relativePath.replaceAll("\\", "/");
|
|
268
|
+
// Remove Next.js route groups (folders in parentheses like (authenticated), (marketing))
|
|
269
|
+
relativePath = relativePath.replace(/\/\([^)]+\)/g, "");
|
|
268
270
|
// Convert Next.js dynamic route syntax to OpenAPI parameter syntax
|
|
269
271
|
relativePath = relativePath.replace(/\/\[([^\]]+)\]/g, "/{$1}");
|
|
270
272
|
// Handle catch-all routes ([...param])
|
|
@@ -277,6 +279,7 @@ export class RouteProcessor {
|
|
|
277
279
|
.replace(/route\.tsx?$/, "")
|
|
278
280
|
.replaceAll("\\", "/")
|
|
279
281
|
.replace(/\/$/, "")
|
|
282
|
+
.replace(/\/\([^)]+\)/g, "") // Remove route groups for pages router too
|
|
280
283
|
.replace(/\/\[([^\]]+)\]/g, "/{$1}") // Replace [param] with {param}
|
|
281
284
|
.replace(/\/\[\.\.\.(.*)\]/g, "/{$1}"); // Replace [...param] with {param}
|
|
282
285
|
}
|
package/dist/openapi-template.js
CHANGED
package/package.json
CHANGED