@farming-labs/next 0.2.119 → 0.2.120
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/api-reference.d.mts +2 -1
- package/dist/api-reference.mjs +8 -2
- package/dist/config.mjs +3 -1
- package/dist/fumadocs-api-page.d.mts +4 -1
- package/dist/fumadocs-api-page.mjs +16 -2
- package/dist/fumadocs-renderer.d.mts +13 -0
- package/dist/fumadocs-renderer.mjs +13 -0
- package/package.json +8 -3
package/dist/api-reference.d.mts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FumadocsApiReferenceRendererOptions, fumadocsRenderer } from "./fumadocs-renderer.mjs";
|
|
1
2
|
import { DocsConfig } from "@farming-labs/docs";
|
|
2
3
|
import { resolveApiReferenceConfig } from "@farming-labs/docs/runtime";
|
|
3
4
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
@@ -43,4 +44,4 @@ declare function createNextApiReferenceLayout(config: DocsConfig): (props: {
|
|
|
43
44
|
declare function getNextApiReferenceSourceState(config: DocsConfig, versionId?: string): Promise<NextApiReferenceSourceState>;
|
|
44
45
|
declare function getNextApiReferenceMode(config: DocsConfig): "farming-labs" | "fumadocs" | "scalar";
|
|
45
46
|
//#endregion
|
|
46
|
-
export { NextApiReferenceSourceState, buildNextOpenApiDocument, createNextApiReference, createNextApiReferenceLayout, createNextApiReferencePage, flattenApiReferencePageTreeForSidebar, getNextApiReferenceMode, getNextApiReferenceSourceState, resolveApiReferenceConfig, withNextApiReferenceBanner };
|
|
47
|
+
export { type FumadocsApiReferenceRendererOptions, NextApiReferenceSourceState, buildNextOpenApiDocument, createNextApiReference, createNextApiReferenceLayout, createNextApiReferencePage, flattenApiReferencePageTreeForSidebar, fumadocsRenderer, getNextApiReferenceMode, getNextApiReferenceSourceState, resolveApiReferenceConfig, withNextApiReferenceBanner };
|
package/dist/api-reference.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import DocsClientCallbacks from "./client-callbacks.mjs";
|
|
2
2
|
import FumadocsOpenAPIPage from "./fumadocs-api-page.mjs";
|
|
3
|
+
import { fumadocsRenderer } from "./fumadocs-renderer.mjs";
|
|
3
4
|
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
4
5
|
import { join, relative } from "node:path";
|
|
5
6
|
import { resolveDocsMetadataBaseUrl } from "@farming-labs/docs";
|
|
@@ -766,7 +767,12 @@ async function getNextApiReferenceSourceState(config, versionId) {
|
|
|
766
767
|
baseUrl,
|
|
767
768
|
version: version?.id
|
|
768
769
|
});
|
|
769
|
-
const
|
|
770
|
+
const fumadocsOptions = apiReference.renderer === "fumadocs" ? apiReference.rendererOptions : void 0;
|
|
771
|
+
const server = createOpenAPI({
|
|
772
|
+
input: { main: document },
|
|
773
|
+
disableCache: typeof fumadocsOptions?.disableCache === "boolean" ? fumadocsOptions.disableCache : void 0,
|
|
774
|
+
proxyUrl: typeof fumadocsOptions?.proxyUrl === "string" ? fumadocsOptions.proxyUrl : void 0
|
|
775
|
+
});
|
|
770
776
|
const info = getOpenApiInfo(document);
|
|
771
777
|
const source = loader(await openapiSource(server, {
|
|
772
778
|
per: "operation",
|
|
@@ -795,4 +801,4 @@ function getNextApiReferenceMode(config) {
|
|
|
795
801
|
}
|
|
796
802
|
|
|
797
803
|
//#endregion
|
|
798
|
-
export { buildNextOpenApiDocument, createNextApiReference, createNextApiReferenceLayout, createNextApiReferencePage, flattenApiReferencePageTreeForSidebar, getNextApiReferenceMode, getNextApiReferenceSourceState, resolveApiReferenceConfig, withNextApiReferenceBanner };
|
|
804
|
+
export { buildNextOpenApiDocument, createNextApiReference, createNextApiReferenceLayout, createNextApiReferencePage, flattenApiReferencePageTreeForSidebar, fumadocsRenderer, getNextApiReferenceMode, getNextApiReferenceSourceState, resolveApiReferenceConfig, withNextApiReferenceBanner };
|
package/dist/config.mjs
CHANGED
|
@@ -731,11 +731,13 @@ function readApiReferenceConfig(root) {
|
|
|
731
731
|
const enabledMatch = block.match(/enabled\s*:\s*(true|false)/);
|
|
732
732
|
const pathMatch = block.match(/path\s*:\s*["']([^"']+)["']/);
|
|
733
733
|
const rendererMatch = block.match(/renderer\s*:\s*["'](farming-labs|fumadocs|scalar)["']/);
|
|
734
|
+
const rendererConfigNameMatch = extractObjectLiteral(block, "renderer")?.match(/name\s*:\s*["'](farming-labs|fumadocs|scalar)["']/);
|
|
735
|
+
const usesFumadocsRendererHelper = /renderer\s*:\s*fumadocsRenderer\s*\(/.test(block);
|
|
734
736
|
const routeRootMatch = block.match(/routeRoot\s*:\s*["']([^"']+)["']/);
|
|
735
737
|
return {
|
|
736
738
|
enabled: enabledMatch ? enabledMatch[1] !== "false" : true,
|
|
737
739
|
path: pathMatch?.[1]?.replace(/^\/+|\/+$/g, "") || "api-reference",
|
|
738
|
-
renderer: rendererMatch?.[1] ?? "farming-labs",
|
|
740
|
+
renderer: rendererMatch?.[1] ?? rendererConfigNameMatch?.[1] ?? (usesFumadocsRendererHelper ? "fumadocs" : void 0) ?? "farming-labs",
|
|
739
741
|
routeRoot: routeRootMatch?.[1]?.replace(/^\/+|\/+$/g, "") || "api"
|
|
740
742
|
};
|
|
741
743
|
} catch {
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { DocsConfig } from "@farming-labs/docs";
|
|
1
2
|
import * as react from "react";
|
|
2
3
|
import * as fumadocs_openapi_ui0 from "fumadocs-openapi/ui";
|
|
4
|
+
import { CreateOpenAPIPageOptions } from "fumadocs-openapi/ui";
|
|
3
5
|
|
|
4
6
|
//#region src/fumadocs-api-page.d.ts
|
|
7
|
+
declare function resolveFumadocsOpenAPIPageOptions(config: DocsConfig): CreateOpenAPIPageOptions;
|
|
5
8
|
/** Client boundary for Fumadocs OpenAPI's interactive renderer. */
|
|
6
9
|
declare const FumadocsOpenAPIPage: react.FC<fumadocs_openapi_ui0.OpenAPIPageProps>;
|
|
7
10
|
//#endregion
|
|
8
|
-
export { FumadocsOpenAPIPage as default };
|
|
11
|
+
export { FumadocsOpenAPIPage as default, resolveFumadocsOpenAPIPageOptions };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
+
import docsConfig from "@farming-labs/next-internal-docs-config";
|
|
3
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
5
|
import { createOpenAPIPage } from "fumadocs-openapi/ui";
|
|
5
6
|
|
|
@@ -28,8 +29,21 @@ function renderApiReferenceOperationLayout(slots) {
|
|
|
28
29
|
}) : null]
|
|
29
30
|
});
|
|
30
31
|
}
|
|
32
|
+
function resolveFumadocsOpenAPIPageOptions(config) {
|
|
33
|
+
const renderer = config.apiReference && typeof config.apiReference === "object" ? config.apiReference.renderer : void 0;
|
|
34
|
+
const pageOptions = { ...renderer && typeof renderer === "object" && renderer.name === "fumadocs" ? renderer.options : void 0 };
|
|
35
|
+
delete pageOptions.disableCache;
|
|
36
|
+
delete pageOptions.proxyUrl;
|
|
37
|
+
return {
|
|
38
|
+
...pageOptions,
|
|
39
|
+
content: {
|
|
40
|
+
renderOperationLayout: renderApiReferenceOperationLayout,
|
|
41
|
+
...pageOptions.content
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
31
45
|
/** Client boundary for Fumadocs OpenAPI's interactive renderer. */
|
|
32
|
-
const FumadocsOpenAPIPage = createOpenAPIPage(
|
|
46
|
+
const FumadocsOpenAPIPage = createOpenAPIPage(resolveFumadocsOpenAPIPageOptions(docsConfig));
|
|
33
47
|
|
|
34
48
|
//#endregion
|
|
35
|
-
export { FumadocsOpenAPIPage as default };
|
|
49
|
+
export { FumadocsOpenAPIPage as default, resolveFumadocsOpenAPIPageOptions };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ApiReferenceRendererConfig } from "@farming-labs/docs";
|
|
2
|
+
import { CreateOpenAPIPageOptions } from "fumadocs-openapi/ui";
|
|
3
|
+
import { OpenAPIOptions } from "fumadocs-openapi/server";
|
|
4
|
+
|
|
5
|
+
//#region src/fumadocs-renderer.d.ts
|
|
6
|
+
/** Options supported by the bundled Fumadocs OpenAPI renderer. */
|
|
7
|
+
type FumadocsApiReferenceRendererOptions = CreateOpenAPIPageOptions & Pick<OpenAPIOptions, "disableCache" | "proxyUrl">;
|
|
8
|
+
/**
|
|
9
|
+
* Configure the bundled Fumadocs OpenAPI renderer with fully typed upstream options.
|
|
10
|
+
*/
|
|
11
|
+
declare function fumadocsRenderer(options?: FumadocsApiReferenceRendererOptions): ApiReferenceRendererConfig;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { FumadocsApiReferenceRendererOptions, fumadocsRenderer };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/fumadocs-renderer.ts
|
|
2
|
+
/**
|
|
3
|
+
* Configure the bundled Fumadocs OpenAPI renderer with fully typed upstream options.
|
|
4
|
+
*/
|
|
5
|
+
function fumadocsRenderer(options = {}) {
|
|
6
|
+
return {
|
|
7
|
+
name: "fumadocs",
|
|
8
|
+
options: { ...options }
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
//#endregion
|
|
13
|
+
export { fumadocsRenderer };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@farming-labs/next",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.120",
|
|
4
4
|
"description": "Next.js adapter for @farming-labs/docs — MDX config wrapper",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"docs",
|
|
@@ -29,6 +29,11 @@
|
|
|
29
29
|
"default": "./dist/api-reference.mjs"
|
|
30
30
|
},
|
|
31
31
|
"./api-reference.css": "./styles/api-reference.css",
|
|
32
|
+
"./fumadocs-renderer": {
|
|
33
|
+
"types": "./dist/fumadocs-renderer.d.mts",
|
|
34
|
+
"import": "./dist/fumadocs-renderer.mjs",
|
|
35
|
+
"default": "./dist/fumadocs-renderer.mjs"
|
|
36
|
+
},
|
|
32
37
|
"./api": {
|
|
33
38
|
"types": "./dist/api.d.mts",
|
|
34
39
|
"import": "./dist/api.mjs",
|
|
@@ -109,8 +114,8 @@
|
|
|
109
114
|
"tsdown": "^0.20.3",
|
|
110
115
|
"typescript": "^5.9.3",
|
|
111
116
|
"vitest": "^4.1.8",
|
|
112
|
-
"@farming-labs/docs": "0.2.
|
|
113
|
-
"@farming-labs/theme": "0.2.
|
|
117
|
+
"@farming-labs/docs": "0.2.120",
|
|
118
|
+
"@farming-labs/theme": "0.2.120"
|
|
114
119
|
},
|
|
115
120
|
"peerDependencies": {
|
|
116
121
|
"@farming-labs/docs": ">=0.2.73",
|