Skip to content

Commit f6a7597

Browse files
committed
fix: skip undocumented routes
1 parent 33caf84 commit f6a7597

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

src/core/generateOpenApiSpec.ts

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import getPackageMetadata from "@omer-x/package-metadata";
22
import { filterDirectoryItems, getDirectoryItems } from "./dir";
3+
import isDocumentedRoute from "./isDocumentedRoute";
34
import { findAppFolderPath, getRouteExports } from "./next";
45
import { verifyOptions } from "./options";
56
import { type RouteRecord, bundlePaths, createRouteRecord } from "./route";
@@ -25,6 +26,8 @@ export default async function generateOpenApiSpec(schemas: Record<string, ZodTyp
2526
const verifiedRoutes = filterDirectoryItems(appFolderPath, routes, verifiedOptions.include, verifiedOptions.exclude);
2627
const validRoutes: RouteRecord[] = [];
2728
for (const route of verifiedRoutes) {
29+
const isDocumented = await isDocumentedRoute(route);
30+
if (!isDocumented) continue;
2831
const exportedRouteHandlers = await getRouteExports(route, routeDefinerName, schemas);
2932
for (const [method, routeHandler] of Object.entries(exportedRouteHandlers)) {
3033
if (!routeHandler || !routeHandler.apiData) continue;

src/core/isDocumentedRoute.test.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import { describe, expect, it } from "@jest/globals";
2+
import isDocumentedRoute from "./isDocumentedRoute";
3+
4+
describe("isDocumentedRoute", () => {
5+
it("should exist", () => {
6+
expect(typeof isDocumentedRoute).toBe("function");
7+
});
8+
});

src/core/isDocumentedRoute.ts

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import fs from "node:fs/promises";
2+
3+
export default async function isDocumentedRoute(routePath: string) {
4+
try {
5+
const rawCode = await fs.readFile(routePath, "utf-8");
6+
return rawCode.includes("@omer-x/next-openapi-route-handler");
7+
} catch {
8+
return false;
9+
}
10+
}

0 commit comments

Comments
 (0)