fumadocs-openapi 6.2.0 → 6.3.0
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-file.d.ts","sourceRoot":"","sources":["../src/generate-file.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,MAAO,SAAQ,eAAe;IAC7C;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;IAEnC;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAEtD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;CACpC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"generate-file.d.ts","sourceRoot":"","sources":["../src/generate-file.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,MAAO,SAAQ,eAAe;IAC7C;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;IAEnC;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAEtD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;CACpC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8HlE"}
|
package/dist/generate-file.js
CHANGED
|
@@ -50,11 +50,19 @@ export async function generateFiles(options) {
|
|
|
50
50
|
: join(outputDir, 'webhooks', `${file}.mdx`));
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
else {
|
|
54
54
|
outPaths.push(join(outputDir, `${file}.mdx`));
|
|
55
55
|
}
|
|
56
56
|
return outPaths;
|
|
57
57
|
}
|
|
58
|
+
const metaFiles = new Set();
|
|
59
|
+
async function writeMetafile(file, data) {
|
|
60
|
+
if (metaFiles.has(file))
|
|
61
|
+
return;
|
|
62
|
+
metaFiles.add(file);
|
|
63
|
+
await write(file, JSON.stringify(data, null, 2));
|
|
64
|
+
console.log(`Generated Meta: ${file}`);
|
|
65
|
+
}
|
|
58
66
|
async function generateFromDocument(pathOrUrl) {
|
|
59
67
|
if (per === 'file') {
|
|
60
68
|
let filename = isUrl(pathOrUrl) ? 'index' : parse(pathOrUrl).name;
|
|
@@ -66,22 +74,15 @@ export async function generateFiles(options) {
|
|
|
66
74
|
console.log(`Generated: ${outPath}`);
|
|
67
75
|
}
|
|
68
76
|
if (per === 'operation') {
|
|
69
|
-
const metaFiles = new Set();
|
|
70
77
|
const results = await generatePages(pathOrUrl, options);
|
|
71
78
|
for (const result of results) {
|
|
72
|
-
const meta = JSON.stringify({
|
|
73
|
-
title: result.pathItem.summary,
|
|
74
|
-
}, null, 2);
|
|
75
79
|
for (const outPath of getOutputPaths(result)) {
|
|
76
80
|
await write(outPath, result.content);
|
|
77
81
|
console.log(`Generated: ${outPath}`);
|
|
78
|
-
if (groupBy === 'route') {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
metaFiles.add(metaFile);
|
|
83
|
-
await write(metaFile, meta);
|
|
84
|
-
console.log(`Generated Meta: ${metaFile}`);
|
|
82
|
+
if (groupBy === 'route' && result.pathItem.summary) {
|
|
83
|
+
await writeMetafile(join(dirname(outPath), 'meta.json'), {
|
|
84
|
+
title: result.pathItem.summary,
|
|
85
|
+
});
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
88
|
}
|
package/dist/generate.d.ts
CHANGED
|
@@ -23,6 +23,15 @@ export interface GenerateOptions {
|
|
|
23
23
|
* @defaultValue false
|
|
24
24
|
*/
|
|
25
25
|
includeDescription?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Add a comment to the top of generated files indicating they are auto-generated.
|
|
28
|
+
* - `true`: Adds a standardized comment
|
|
29
|
+
* - `false`: No comment is added
|
|
30
|
+
* - `string`: Adds the provided custom comment
|
|
31
|
+
*
|
|
32
|
+
* @defaultValue true
|
|
33
|
+
*/
|
|
34
|
+
addGeneratedComment?: boolean | string;
|
|
26
35
|
cwd?: string;
|
|
27
36
|
}
|
|
28
37
|
export interface GenerateTagOutput {
|
package/dist/generate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAE/E,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IAEJ;;;;OAIG;IACH,WAAW,CAAC,EAAE,CACZ,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,eAAe,KACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAExC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAExC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAgBN,wBAAsB,WAAW,CAC/B,cAAc,EAAE,aAAa,EAC7B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,aAAa,CACjC,cAAc,EAAE,aAAa,EAC7B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiE/B;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,aAAa,EAC7B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsC9B"}
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../src/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,0BAA0B,CAAC;AAE/E,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IAEJ;;;;OAIG;IACH,WAAW,CAAC,EAAE,CACZ,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,eAAe,KACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAEvC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAExC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACtC,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAExC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAgBN,wBAAsB,WAAW,CAC/B,cAAc,EAAE,aAAa,EAC7B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,aAAa,CACjC,cAAc,EAAE,aAAa,EAC7B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiE/B;AAED,wBAAsB,YAAY,CAChC,cAAc,EAAE,aAAa,EAC7B,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-document.d.ts","sourceRoot":"","sources":["../../src/utils/generate-document.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAOlD,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,GAAG;IACzB,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;CAC1B,GACA,MAAM,
|
|
1
|
+
{"version":3,"file":"generate-document.d.ts","sourceRoot":"","sources":["../../src/utils/generate-document.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAOlD,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,SAAS,GAAG,SAAS,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,WAAW,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,GAAG;IACzB,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC;CAC1B,GACA,MAAM,CAkER"}
|
|
@@ -2,7 +2,7 @@ import { dump } from 'js-yaml';
|
|
|
2
2
|
import Slugger from 'github-slugger';
|
|
3
3
|
import { idToTitle } from '../utils/id-to-title.js';
|
|
4
4
|
export function generateDocument(options) {
|
|
5
|
-
const { frontmatter, includeDescription = false } = options;
|
|
5
|
+
const { frontmatter, includeDescription = false, addGeneratedComment = true, } = options;
|
|
6
6
|
const out = [];
|
|
7
7
|
const extend = frontmatter?.(options.title, options.description, options.context);
|
|
8
8
|
let meta;
|
|
@@ -27,6 +27,14 @@ export function generateDocument(options) {
|
|
|
27
27
|
}).trim();
|
|
28
28
|
if (banner.length > 0)
|
|
29
29
|
out.push(`---\n${banner}\n---`);
|
|
30
|
+
if (addGeneratedComment !== false) {
|
|
31
|
+
let commentContent = 'This file was generated by Fumadocs.\nDo not edit this file directly. Any changes should be made by running the generation command again.';
|
|
32
|
+
if (typeof addGeneratedComment === 'string') {
|
|
33
|
+
commentContent = addGeneratedComment;
|
|
34
|
+
}
|
|
35
|
+
commentContent = commentContent.replaceAll('/', '\\/');
|
|
36
|
+
out.push(`{/* ${commentContent} */}`);
|
|
37
|
+
}
|
|
30
38
|
const imports = options.imports
|
|
31
39
|
?.map((item) => `import { ${item.names.join(', ')} } from ${JSON.stringify(item.from)};`)
|
|
32
40
|
.join('\n');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fumadocs-openapi",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.0",
|
|
4
4
|
"description": "Generate MDX docs for your OpenAPI spec",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"NextJs",
|
|
@@ -47,34 +47,34 @@
|
|
|
47
47
|
"@radix-ui/react-dialog": "^1.1.6",
|
|
48
48
|
"@radix-ui/react-select": "^2.1.6",
|
|
49
49
|
"@radix-ui/react-slot": "^1.1.2",
|
|
50
|
-
"@scalar/openapi-parser": "0.10.
|
|
50
|
+
"@scalar/openapi-parser": "0.10.9",
|
|
51
51
|
"ajv-draft-04": "^1.0.0",
|
|
52
52
|
"class-variance-authority": "^0.7.1",
|
|
53
53
|
"fast-glob": "^3.3.3",
|
|
54
54
|
"github-slugger": "^2.0.0",
|
|
55
|
-
"hast-util-to-jsx-runtime": "^2.3.
|
|
55
|
+
"hast-util-to-jsx-runtime": "^2.3.5",
|
|
56
56
|
"js-yaml": "^4.1.0",
|
|
57
|
-
"lucide-react": "^0.
|
|
57
|
+
"lucide-react": "^0.477.0",
|
|
58
58
|
"next-themes": "^0.4.4",
|
|
59
59
|
"openapi-sampler": "^1.6.1",
|
|
60
60
|
"react-hook-form": "^7.54.2",
|
|
61
61
|
"remark": "^15.0.1",
|
|
62
62
|
"remark-rehype": "^11.1.1",
|
|
63
|
-
"shiki": "^3.
|
|
63
|
+
"shiki": "^3.1.0",
|
|
64
64
|
"xml-js": "^1.6.11",
|
|
65
|
-
"fumadocs-core": "15.0.
|
|
66
|
-
"fumadocs-ui": "15.0.
|
|
65
|
+
"fumadocs-core": "15.0.15",
|
|
66
|
+
"fumadocs-ui": "15.0.15"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@scalar/api-client-react": "^1.1.
|
|
69
|
+
"@scalar/api-client-react": "^1.1.33",
|
|
70
70
|
"@types/js-yaml": "^4.0.9",
|
|
71
|
-
"@types/node": "22.13.
|
|
71
|
+
"@types/node": "22.13.8",
|
|
72
72
|
"@types/openapi-sampler": "^1.0.3",
|
|
73
73
|
"@types/react": "^19.0.10",
|
|
74
|
-
"next": "15.
|
|
74
|
+
"next": "15.2.0",
|
|
75
75
|
"openapi-types": "^12.1.3",
|
|
76
|
-
"tailwindcss": "^4.0.
|
|
77
|
-
"tsc-alias": "^1.8.
|
|
76
|
+
"tailwindcss": "^4.0.9",
|
|
77
|
+
"tsc-alias": "^1.8.11",
|
|
78
78
|
"eslint-config-custom": "0.0.0",
|
|
79
79
|
"tsconfig": "0.0.0"
|
|
80
80
|
},
|