vocs 2.0.17 → 2.1.2
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/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/globals.d.ts +16 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/config.d.ts +28 -0
- package/dist/internal/config.d.ts.map +1 -1
- package/dist/internal/config.js +10 -2
- package/dist/internal/config.js.map +1 -1
- package/dist/internal/llms.d.ts +21 -2
- package/dist/internal/llms.d.ts.map +1 -1
- package/dist/internal/llms.js +41 -1
- package/dist/internal/llms.js.map +1 -1
- package/dist/internal/markdown-negotiation.d.ts +36 -0
- package/dist/internal/markdown-negotiation.d.ts.map +1 -0
- package/dist/internal/markdown-negotiation.js +81 -0
- package/dist/internal/markdown-negotiation.js.map +1 -0
- package/dist/internal/markdown.d.ts.map +1 -1
- package/dist/internal/markdown.js +5 -0
- package/dist/internal/markdown.js.map +1 -1
- package/dist/internal/openapi/anchors.d.ts +25 -0
- package/dist/internal/openapi/anchors.d.ts.map +1 -0
- package/dist/internal/openapi/anchors.js +37 -0
- package/dist/internal/openapi/anchors.js.map +1 -0
- package/dist/internal/openapi/app.d.ts +89 -0
- package/dist/internal/openapi/app.d.ts.map +1 -0
- package/dist/internal/openapi/app.js +62 -0
- package/dist/internal/openapi/app.js.map +1 -0
- package/dist/internal/openapi/index.d.ts +8 -0
- package/dist/internal/openapi/index.d.ts.map +1 -0
- package/dist/internal/openapi/index.js +5 -0
- package/dist/internal/openapi/index.js.map +1 -0
- package/dist/internal/openapi/markdown.d.ts +42 -0
- package/dist/internal/openapi/markdown.d.ts.map +1 -0
- package/dist/internal/openapi/markdown.js +235 -0
- package/dist/internal/openapi/markdown.js.map +1 -0
- package/dist/internal/openapi/openapi.d.ts +187 -0
- package/dist/internal/openapi/openapi.d.ts.map +1 -0
- package/dist/internal/openapi/openapi.js +44 -0
- package/dist/internal/openapi/openapi.js.map +1 -0
- package/dist/internal/openapi/openrpc.d.ts +90 -0
- package/dist/internal/openapi/openrpc.d.ts.map +1 -0
- package/dist/internal/openapi/openrpc.js +213 -0
- package/dist/internal/openapi/openrpc.js.map +1 -0
- package/dist/internal/openapi/parser.d.ts +181 -0
- package/dist/internal/openapi/parser.d.ts.map +1 -0
- package/dist/internal/openapi/parser.js +329 -0
- package/dist/internal/openapi/parser.js.map +1 -0
- package/dist/internal/openapi/registry.d.ts +36 -0
- package/dist/internal/openapi/registry.d.ts.map +1 -0
- package/dist/internal/openapi/registry.js +79 -0
- package/dist/internal/openapi/registry.js.map +1 -0
- package/dist/internal/openapi/sample.d.ts +115 -0
- package/dist/internal/openapi/sample.d.ts.map +1 -0
- package/dist/internal/openapi/sample.js +434 -0
- package/dist/internal/openapi/sample.js.map +1 -0
- package/dist/internal/openapi/search.d.ts +19 -0
- package/dist/internal/openapi/search.d.ts.map +1 -0
- package/dist/internal/openapi/search.js +98 -0
- package/dist/internal/openapi/search.js.map +1 -0
- package/dist/internal/openapi/sidebar.d.ts +30 -0
- package/dist/internal/openapi/sidebar.d.ts.map +1 -0
- package/dist/internal/openapi/sidebar.js +67 -0
- package/dist/internal/openapi/sidebar.js.map +1 -0
- package/dist/internal/openapi/union.d.ts +36 -0
- package/dist/internal/openapi/union.d.ts.map +1 -0
- package/dist/internal/openapi/union.js +69 -0
- package/dist/internal/openapi/union.js.map +1 -0
- package/dist/internal/search.d.ts.map +1 -1
- package/dist/internal/search.js +20 -0
- package/dist/internal/search.js.map +1 -1
- package/dist/internal/vite-plugins.d.ts +12 -0
- package/dist/internal/vite-plugins.d.ts.map +1 -1
- package/dist/internal/vite-plugins.js +102 -11
- package/dist/internal/vite-plugins.js.map +1 -1
- package/dist/react/Badge.d.ts +2 -3
- package/dist/react/Badge.d.ts.map +1 -1
- package/dist/react/Layout.client.d.ts.map +1 -1
- package/dist/react/Layout.client.js +2 -2
- package/dist/react/Layout.client.js.map +1 -1
- package/dist/react/OpenApi.d.ts +6 -0
- package/dist/react/OpenApi.d.ts.map +1 -0
- package/dist/react/OpenApi.js +6 -0
- package/dist/react/OpenApi.js.map +1 -0
- package/dist/react/internal/CodeToHtml.client.d.ts +53 -2
- package/dist/react/internal/CodeToHtml.client.d.ts.map +1 -1
- package/dist/react/internal/CodeToHtml.client.js +154 -21
- package/dist/react/internal/CodeToHtml.client.js.map +1 -1
- package/dist/react/internal/Sidebar.d.ts.map +1 -1
- package/dist/react/internal/Sidebar.js +99 -2
- package/dist/react/internal/Sidebar.js.map +1 -1
- package/dist/react/internal/openapi/CodeSample.client.d.ts +21 -0
- package/dist/react/internal/openapi/CodeSample.client.d.ts.map +1 -0
- package/dist/react/internal/openapi/CodeSample.client.js +134 -0
- package/dist/react/internal/openapi/CodeSample.client.js.map +1 -0
- package/dist/react/internal/openapi/CollapsibleChildren.client.d.ts +17 -0
- package/dist/react/internal/openapi/CollapsibleChildren.client.d.ts.map +1 -0
- package/dist/react/internal/openapi/CollapsibleChildren.client.js +18 -0
- package/dist/react/internal/openapi/CollapsibleChildren.client.js.map +1 -0
- package/dist/react/internal/openapi/Disclosure.client.d.ts +28 -0
- package/dist/react/internal/openapi/Disclosure.client.d.ts.map +1 -0
- package/dist/react/internal/openapi/Disclosure.client.js +38 -0
- package/dist/react/internal/openapi/Disclosure.client.js.map +1 -0
- package/dist/react/internal/openapi/Endpoints.d.ts +26 -0
- package/dist/react/internal/openapi/Endpoints.d.ts.map +1 -0
- package/dist/react/internal/openapi/Endpoints.js +33 -0
- package/dist/react/internal/openapi/Endpoints.js.map +1 -0
- package/dist/react/internal/openapi/EndpointsView.d.ts +24 -0
- package/dist/react/internal/openapi/EndpointsView.d.ts.map +1 -0
- package/dist/react/internal/openapi/EndpointsView.js +26 -0
- package/dist/react/internal/openapi/EndpointsView.js.map +1 -0
- package/dist/react/internal/openapi/EnumValues.client.d.ts +14 -0
- package/dist/react/internal/openapi/EnumValues.client.d.ts.map +1 -0
- package/dist/react/internal/openapi/EnumValues.client.js +20 -0
- package/dist/react/internal/openapi/EnumValues.client.js.map +1 -0
- package/dist/react/internal/openapi/HeadingAnchor.d.ts +15 -0
- package/dist/react/internal/openapi/HeadingAnchor.d.ts.map +1 -0
- package/dist/react/internal/openapi/HeadingAnchor.js +12 -0
- package/dist/react/internal/openapi/HeadingAnchor.js.map +1 -0
- package/dist/react/internal/openapi/OpenApiPage.d.ts +79 -0
- package/dist/react/internal/openapi/OpenApiPage.d.ts.map +1 -0
- package/dist/react/internal/openapi/OpenApiPage.js +72 -0
- package/dist/react/internal/openapi/OpenApiPage.js.map +1 -0
- package/dist/react/internal/openapi/Operation.d.ts +25 -0
- package/dist/react/internal/openapi/Operation.d.ts.map +1 -0
- package/dist/react/internal/openapi/Operation.js +101 -0
- package/dist/react/internal/openapi/Operation.js.map +1 -0
- package/dist/react/internal/openapi/Playground.client.d.ts +33 -0
- package/dist/react/internal/openapi/Playground.client.d.ts.map +1 -0
- package/dist/react/internal/openapi/Playground.client.js +170 -0
- package/dist/react/internal/openapi/Playground.client.js.map +1 -0
- package/dist/react/internal/openapi/PropertyExample.client.d.ts +17 -0
- package/dist/react/internal/openapi/PropertyExample.client.d.ts.map +1 -0
- package/dist/react/internal/openapi/PropertyExample.client.js +21 -0
- package/dist/react/internal/openapi/PropertyExample.client.js.map +1 -0
- package/dist/react/internal/openapi/Reference.d.ts +55 -0
- package/dist/react/internal/openapi/Reference.d.ts.map +1 -0
- package/dist/react/internal/openapi/Reference.js +42 -0
- package/dist/react/internal/openapi/Reference.js.map +1 -0
- package/dist/react/internal/openapi/Schema.d.ts +110 -0
- package/dist/react/internal/openapi/Schema.d.ts.map +1 -0
- package/dist/react/internal/openapi/Schema.js +239 -0
- package/dist/react/internal/openapi/Schema.js.map +1 -0
- package/dist/react/internal/openapi/SchemaUnion.client.d.ts +25 -0
- package/dist/react/internal/openapi/SchemaUnion.client.d.ts.map +1 -0
- package/dist/react/internal/openapi/SchemaUnion.client.js +48 -0
- package/dist/react/internal/openapi/SchemaUnion.client.js.map +1 -0
- package/dist/react/internal/openapi/anchor-navigation.client.d.ts +47 -0
- package/dist/react/internal/openapi/anchor-navigation.client.d.ts.map +1 -0
- package/dist/react/internal/openapi/anchor-navigation.client.js +120 -0
- package/dist/react/internal/openapi/anchor-navigation.client.js.map +1 -0
- package/dist/react/internal/openapi/auth.d.ts +28 -0
- package/dist/react/internal/openapi/auth.d.ts.map +1 -0
- package/dist/react/internal/openapi/auth.js +75 -0
- package/dist/react/internal/openapi/auth.js.map +1 -0
- package/dist/react/useLayout.d.ts +2 -0
- package/dist/react/useLayout.d.ts.map +1 -1
- package/dist/react/useLayout.js +2 -0
- package/dist/react/useLayout.js.map +1 -1
- package/dist/server/handlers.d.ts +1 -1
- package/dist/server/handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +26 -5
- package/dist/server/handlers.js.map +1 -1
- package/dist/server/og-assets.d.ts +5 -0
- package/dist/server/og-assets.d.ts.map +1 -0
- package/dist/server/og-assets.js +11 -0
- package/dist/server/og-assets.js.map +1 -0
- package/dist/server/openapi/assets.d.ts +33 -0
- package/dist/server/openapi/assets.d.ts.map +1 -0
- package/dist/server/openapi/assets.generated.d.ts +9 -0
- package/dist/server/openapi/assets.generated.d.ts.map +1 -0
- package/dist/server/openapi/assets.generated.js +1091 -0
- package/dist/server/openapi/assets.generated.js.map +1 -0
- package/dist/server/openapi/assets.js +32 -0
- package/dist/server/openapi/assets.js.map +1 -0
- package/dist/server/openapi/handler.d.ts +103 -0
- package/dist/server/openapi/handler.d.ts.map +1 -0
- package/dist/server/openapi/handler.js +198 -0
- package/dist/server/openapi/handler.js.map +1 -0
- package/dist/server/openapi/handler.test.d.ts +2 -0
- package/dist/server/openapi/handler.test.d.ts.map +1 -0
- package/dist/server/openapi/handler.test.js +203 -0
- package/dist/server/openapi/handler.test.js.map +1 -0
- package/dist/server/openapi/html.d.ts +16 -0
- package/dist/server/openapi/html.d.ts.map +1 -0
- package/dist/server/openapi/html.js +75 -0
- package/dist/server/openapi/html.js.map +1 -0
- package/dist/server/openapi/pages.d.ts +33 -0
- package/dist/server/openapi/pages.d.ts.map +1 -0
- package/dist/server/openapi/pages.js +130 -0
- package/dist/server/openapi/pages.js.map +1 -0
- package/dist/server/openapi/pages.test.d.ts +2 -0
- package/dist/server/openapi/pages.test.d.ts.map +1 -0
- package/dist/server/openapi/pages.test.js +94 -0
- package/dist/server/openapi/pages.test.js.map +1 -0
- package/dist/server/openapi/state.d.ts +42 -0
- package/dist/server/openapi/state.d.ts.map +1 -0
- package/dist/server/openapi/state.js +101 -0
- package/dist/server/openapi/state.js.map +1 -0
- package/dist/styles/index.css +16 -0
- package/dist/styles/markdown.css +9 -7
- package/dist/styles/openapi-playground.css +80 -0
- package/dist/styles/openapi.css +660 -0
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +1 -0
- package/dist/vite.js.map +1 -1
- package/dist/waku/internal/middleware/md-router.d.ts +0 -4
- package/dist/waku/internal/middleware/md-router.d.ts.map +1 -1
- package/dist/waku/internal/middleware/md-router.js +3 -48
- package/dist/waku/internal/middleware/md-router.js.map +1 -1
- package/dist/waku/internal/patches/adapters/vercel-build-enhancer.js +1 -1
- package/dist/waku/internal/patches/adapters/vercel-build-enhancer.js.map +1 -1
- package/dist/waku/internal/patches/router.d.ts.map +1 -1
- package/dist/waku/internal/patches/router.js +114 -1
- package/dist/waku/internal/patches/router.js.map +1 -1
- package/package.json +5 -1
- package/src/config.ts +1 -0
- package/src/globals.d.ts +16 -0
- package/src/index.ts +1 -0
- package/src/internal/config.ts +40 -1
- package/src/internal/llms.ts +51 -1
- package/src/internal/markdown-negotiation.test.ts +42 -0
- package/src/internal/markdown-negotiation.ts +95 -0
- package/src/internal/markdown.ts +5 -0
- package/src/internal/openapi/anchors.ts +44 -0
- package/src/internal/openapi/app.ts +127 -0
- package/src/internal/openapi/index.ts +24 -0
- package/src/internal/openapi/markdown.test.ts +115 -0
- package/src/internal/openapi/markdown.ts +275 -0
- package/src/internal/openapi/openapi.ts +212 -0
- package/src/internal/openapi/openrpc.test.ts +239 -0
- package/src/internal/openapi/openrpc.ts +295 -0
- package/src/internal/openapi/parser.test.ts +203 -0
- package/src/internal/openapi/parser.ts +613 -0
- package/src/internal/openapi/registry.test.ts +89 -0
- package/src/internal/openapi/registry.ts +89 -0
- package/src/internal/openapi/sample.test.ts +283 -0
- package/src/internal/openapi/sample.ts +562 -0
- package/src/internal/openapi/search.test.ts +62 -0
- package/src/internal/openapi/search.ts +108 -0
- package/src/internal/openapi/sidebar.test.ts +131 -0
- package/src/internal/openapi/sidebar.ts +94 -0
- package/src/internal/openapi/union.test.ts +51 -0
- package/src/internal/openapi/union.ts +74 -0
- package/src/internal/search.ts +20 -0
- package/src/internal/test/virtual-config.stub.ts +14 -0
- package/src/internal/vite-plugins.ts +106 -11
- package/src/openapi-app/App.tsx +64 -0
- package/src/openapi-app/blocks.tsx +33 -0
- package/src/openapi-app/client.tsx +25 -0
- package/src/openapi-app/links.test.ts +84 -0
- package/src/openapi-app/links.ts +66 -0
- package/src/openapi-app/payload.ts +20 -0
- package/src/openapi-app/virtual/config.ts +7 -0
- package/src/openapi-app/virtual/group-icons.ts +2 -0
- package/src/openapi-app/virtual/langs.ts +6 -0
- package/src/openapi-app/virtual/openapi.ts +10 -0
- package/src/openapi-app/virtual/search-index.ts +21 -0
- package/src/openapi-app/virtual/slots.ts +4 -0
- package/src/openapi-app/virtual/user-styles.ts +2 -0
- package/src/openapi-app/waku.tsx +154 -0
- package/src/react/Badge.tsx +2 -3
- package/src/react/Layout.client.tsx +17 -4
- package/src/react/OpenApi.tsx +5 -0
- package/src/react/internal/CodeToHtml.client.tsx +283 -22
- package/src/react/internal/Sidebar.tsx +126 -22
- package/src/react/internal/openapi/CodeSample.client.tsx +294 -0
- package/src/react/internal/openapi/CollapsibleChildren.client.tsx +41 -0
- package/src/react/internal/openapi/Disclosure.client.tsx +67 -0
- package/src/react/internal/openapi/Endpoints.tsx +58 -0
- package/src/react/internal/openapi/EndpointsView.tsx +76 -0
- package/src/react/internal/openapi/EnumValues.client.tsx +49 -0
- package/src/react/internal/openapi/HeadingAnchor.tsx +28 -0
- package/src/react/internal/openapi/OpenApiPage.tsx +173 -0
- package/src/react/internal/openapi/Operation.test.tsx +101 -0
- package/src/react/internal/openapi/Operation.tsx +335 -0
- package/src/react/internal/openapi/Playground.client.tsx +234 -0
- package/src/react/internal/openapi/PropertyExample.client.tsx +55 -0
- package/src/react/internal/openapi/Reference.tsx +120 -0
- package/src/react/internal/openapi/Schema.tsx +467 -0
- package/src/react/internal/openapi/SchemaUnion.client.tsx +123 -0
- package/src/react/internal/openapi/anchor-navigation.client.ts +154 -0
- package/src/react/internal/openapi/auth.ts +69 -0
- package/src/react/useLayout.ts +4 -0
- package/src/server/handlers.ts +31 -6
- package/src/server/og-assets.ts +14 -0
- package/src/server/openapi/assets.generated.ts +1093 -0
- package/src/server/openapi/assets.ts +57 -0
- package/src/server/openapi/handler.test.ts +244 -0
- package/src/server/openapi/handler.ts +277 -0
- package/src/server/openapi/html.ts +84 -0
- package/src/server/openapi/pages.test.ts +111 -0
- package/src/server/openapi/pages.ts +153 -0
- package/src/server/openapi/state.ts +136 -0
- package/src/styles/index.css +16 -0
- package/src/styles/markdown.css +9 -7
- package/src/styles/openapi-playground.css +80 -0
- package/src/styles/openapi.css +660 -0
- package/src/vite.ts +1 -0
- package/src/waku/internal/middleware/md-router.ts +8 -52
- package/src/waku/internal/patches/adapters/vercel-build-enhancer.ts +1 -1
- package/src/waku/internal/patches/router.ts +131 -1
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds search index documents for an OpenAPI section so the auto-generated
|
|
3
|
+
* reference is discoverable by Vocs's search (which otherwise only crawls
|
|
4
|
+
* `.md`/`.mdx` files).
|
|
5
|
+
*
|
|
6
|
+
* Mirrors the page/anchor structure of the rendered reference:
|
|
7
|
+
* - the `/api` landing page (one `page` document),
|
|
8
|
+
* - each category page `/api/<group>` (one `page` document), and
|
|
9
|
+
* - each operation as a `section` document anchored on its category page
|
|
10
|
+
* (`/api/<group>#<operation>`).
|
|
11
|
+
*
|
|
12
|
+
* Operation documents fold the method, path, parameter names/descriptions and
|
|
13
|
+
* response descriptions into their searchable `text` so endpoints surface for a
|
|
14
|
+
* wide range of queries (summary, path, parameter, status code, …).
|
|
15
|
+
*/
|
|
16
|
+
export function toSearchDocuments(ir) {
|
|
17
|
+
const category = ir.info.title;
|
|
18
|
+
const documents = [];
|
|
19
|
+
// Strip a trailing slash so a root mount (`/`) doesn't yield `//group` hrefs.
|
|
20
|
+
const base = ir.path === '/' ? '' : ir.path.replace(/\/$/, '');
|
|
21
|
+
// Section landing page (`/api`).
|
|
22
|
+
documents.push({
|
|
23
|
+
category,
|
|
24
|
+
href: ir.path,
|
|
25
|
+
id: `openapi:${ir.path}`,
|
|
26
|
+
searchPriority: undefined,
|
|
27
|
+
subtitle: '',
|
|
28
|
+
text: plainText(ir.info.description),
|
|
29
|
+
title: ir.info.title,
|
|
30
|
+
titles: [],
|
|
31
|
+
type: 'page',
|
|
32
|
+
});
|
|
33
|
+
for (const group of ir.groups) {
|
|
34
|
+
const groupHref = `${base}/${group.id}`;
|
|
35
|
+
// Category page (`/api/<group>`).
|
|
36
|
+
documents.push({
|
|
37
|
+
category,
|
|
38
|
+
href: groupHref,
|
|
39
|
+
id: `openapi:${groupHref}`,
|
|
40
|
+
searchPriority: undefined,
|
|
41
|
+
subtitle: '',
|
|
42
|
+
text: plainText(group.description),
|
|
43
|
+
title: group.name,
|
|
44
|
+
titles: [ir.info.title],
|
|
45
|
+
type: 'page',
|
|
46
|
+
});
|
|
47
|
+
// Each operation, anchored on its category page.
|
|
48
|
+
for (const operation of group.operations) {
|
|
49
|
+
const methodPath = `${operation.method} ${operation.path}`;
|
|
50
|
+
documents.push({
|
|
51
|
+
category,
|
|
52
|
+
href: `${groupHref}#${operation.id}`,
|
|
53
|
+
id: `openapi:${groupHref}#${operation.id}`,
|
|
54
|
+
searchPriority: undefined,
|
|
55
|
+
subtitle: methodPath,
|
|
56
|
+
text: operationText(operation),
|
|
57
|
+
title: operation.summary || methodPath,
|
|
58
|
+
titles: [ir.info.title, group.name],
|
|
59
|
+
type: 'section',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return documents;
|
|
64
|
+
}
|
|
65
|
+
/** Folds an operation's searchable content into a single plain-text string. */
|
|
66
|
+
function operationText(operation) {
|
|
67
|
+
const parts = [
|
|
68
|
+
`${operation.method} ${operation.path}`,
|
|
69
|
+
plainText(operation.description),
|
|
70
|
+
plainText(operation.summary),
|
|
71
|
+
...operation.parameters
|
|
72
|
+
.filter((parameter) => !parameter.deprecated)
|
|
73
|
+
.map((parameter) => `${parameter.name} ${plainText(parameter.description)}`.trim()),
|
|
74
|
+
...operation.responses.map((response) => `${response.status} ${plainText(response.description)}`.trim()),
|
|
75
|
+
];
|
|
76
|
+
return parts.filter(Boolean).join(' ').replace(/\s+/g, ' ').trim();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Reduces a Markdown string to plain text suitable for the search index. Strips
|
|
80
|
+
* the common inline/block syntax (links, emphasis, code, headings, lists,
|
|
81
|
+
* blockquotes, images) so only human-readable words remain for tokenization.
|
|
82
|
+
*/
|
|
83
|
+
function plainText(markdown) {
|
|
84
|
+
if (!markdown)
|
|
85
|
+
return '';
|
|
86
|
+
return markdown
|
|
87
|
+
.replace(/```[\s\S]*?```/g, ' ') // fenced code blocks
|
|
88
|
+
.replace(/`([^`]+)`/g, '$1') // inline code
|
|
89
|
+
.replace(/!\[([^\]]*)\]\([^)]*\)/g, '$1') // images → alt text
|
|
90
|
+
.replace(/\[([^\]]+)\]\([^)]*\)/g, '$1') // links → label
|
|
91
|
+
.replace(/^\s{0,3}#{1,6}\s+/gm, '') // headings
|
|
92
|
+
.replace(/^\s{0,3}>\s?/gm, '') // blockquotes
|
|
93
|
+
.replace(/^\s*[-*+]\s+/gm, '') // unordered list markers
|
|
94
|
+
.replace(/[*_~]/g, '') // emphasis / strikethrough
|
|
95
|
+
.replace(/\s+/g, ' ')
|
|
96
|
+
.trim();
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/internal/openapi/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SidebarItem } from '../sidebar.js';
|
|
2
|
+
import type { Ir } from './parser.js';
|
|
3
|
+
export type Badge = NonNullable<SidebarItem['badge']>;
|
|
4
|
+
export type BadgeVariant = NonNullable<Exclude<Badge, string>['variant']>;
|
|
5
|
+
/**
|
|
6
|
+
* Maps an HTTP method to a sidebar badge variant.
|
|
7
|
+
*/
|
|
8
|
+
export declare function methodVariant(method: string): BadgeVariant;
|
|
9
|
+
/**
|
|
10
|
+
* Builds an isolated sidebar (categories → operation anchors) from a parsed
|
|
11
|
+
* OpenAPI IR.
|
|
12
|
+
*
|
|
13
|
+
* Each category is its own page; operation links are in-page anchors on that
|
|
14
|
+
* page (`/api/{group}#{operation}`).
|
|
15
|
+
*/
|
|
16
|
+
export declare function toSidebar(ir: Ir, options?: toSidebar.Options): SidebarItem<true>[];
|
|
17
|
+
export declare namespace toSidebar {
|
|
18
|
+
type Options = {
|
|
19
|
+
/** Items nested under the generated `Introduction` entry. */
|
|
20
|
+
intro?: SidebarItem[] | undefined;
|
|
21
|
+
/** Extra items injected into a generated group, keyed by group id. */
|
|
22
|
+
groupExtras?: Map<string, SidebarItem[]> | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Collapse the generated category groups by default (the active group still
|
|
25
|
+
* auto-expands). `Introduction` is unaffected. @default false
|
|
26
|
+
*/
|
|
27
|
+
collapsed?: boolean | undefined;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=sidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/internal/openapi/sidebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,EAAE,EAAE,EAAe,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;AACrD,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;AAEzE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAc1D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,GAAE,SAAS,CAAC,OAAY,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CA+CtF;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,KAAK,OAAO,GAAG;QACb,6DAA6D;QAC7D,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;QACjC,sEAAsE;QACtE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,SAAS,CAAA;QACpD;;;WAGG;QACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAChC,CAAA;CACF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps an HTTP method to a sidebar badge variant.
|
|
3
|
+
*/
|
|
4
|
+
export function methodVariant(method) {
|
|
5
|
+
switch (method.toUpperCase()) {
|
|
6
|
+
case 'GET':
|
|
7
|
+
return 'info';
|
|
8
|
+
case 'POST':
|
|
9
|
+
return 'success';
|
|
10
|
+
case 'PUT':
|
|
11
|
+
case 'PATCH':
|
|
12
|
+
return 'warning';
|
|
13
|
+
case 'DELETE':
|
|
14
|
+
return 'danger';
|
|
15
|
+
default:
|
|
16
|
+
return 'note';
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Builds an isolated sidebar (categories → operation anchors) from a parsed
|
|
21
|
+
* OpenAPI IR.
|
|
22
|
+
*
|
|
23
|
+
* Each category is its own page; operation links are in-page anchors on that
|
|
24
|
+
* page (`/api/{group}#{operation}`).
|
|
25
|
+
*/
|
|
26
|
+
export function toSidebar(ir, options = {}) {
|
|
27
|
+
// Strip a trailing slash so a root mount (`/`) doesn't yield `//group`.
|
|
28
|
+
const base = ir.path === '/' ? '' : ir.path.replace(/\/$/, '');
|
|
29
|
+
const operationLink = (operation, groupId) => `${base}/${groupId}#${operation.id}`;
|
|
30
|
+
const groupLink = (groupId) => `${base}/${groupId}`;
|
|
31
|
+
// When `intro` items are supplied, the "Introduction" leaf becomes a
|
|
32
|
+
// collapsible group: an "Overview" link to the landing page followed by the
|
|
33
|
+
// extra items (e.g. authentication/versioning guide pages).
|
|
34
|
+
const intro = options.intro ?? [];
|
|
35
|
+
const introduction = intro.length > 0
|
|
36
|
+
? {
|
|
37
|
+
text: 'Introduction',
|
|
38
|
+
collapsed: false,
|
|
39
|
+
items: [{ text: 'Overview', link: ir.path }, ...intro],
|
|
40
|
+
}
|
|
41
|
+
: { text: 'Introduction', link: ir.path };
|
|
42
|
+
// Extra items (e.g. `x-parent` guide pages) injected into a group, keyed by
|
|
43
|
+
// group id, rendered after the group's "Overview" link.
|
|
44
|
+
const groupExtras = options.groupExtras ?? new Map();
|
|
45
|
+
// Generated category groups start collapsed when `collapsed` is set (the
|
|
46
|
+
// active group still auto-expands at render). `Introduction` is unaffected.
|
|
47
|
+
const groupCollapsed = options.collapsed ?? false;
|
|
48
|
+
return [
|
|
49
|
+
introduction,
|
|
50
|
+
...ir.groups.map((group) => ({
|
|
51
|
+
text: group.name,
|
|
52
|
+
collapsed: groupCollapsed,
|
|
53
|
+
items: [
|
|
54
|
+
// An "Overview" entry links to the category itself; the top-level item
|
|
55
|
+
// is a non-link header so its label doesn't compete with the operations.
|
|
56
|
+
{ text: 'Overview', link: groupLink(group.id) },
|
|
57
|
+
...(groupExtras.get(group.id) ?? []),
|
|
58
|
+
...group.operations.map((operation) => ({
|
|
59
|
+
text: operation.summary || `${operation.method} ${operation.path}`,
|
|
60
|
+
link: operationLink(operation, group.id),
|
|
61
|
+
badge: { text: operation.method, variant: methodVariant(operation.method) },
|
|
62
|
+
})),
|
|
63
|
+
],
|
|
64
|
+
})),
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=sidebar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../src/internal/openapi/sidebar.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;QAC7B,KAAK,KAAK;YACR,OAAO,MAAM,CAAA;QACf,KAAK,MAAM;YACT,OAAO,SAAS,CAAA;QAClB,KAAK,KAAK,CAAC;QACX,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;QAClB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QACjB;YACE,OAAO,MAAM,CAAA;IACjB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,EAAM,EAAE,UAA6B,EAAE;IAC/D,wEAAwE;IACxE,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC9D,MAAM,aAAa,GAAG,CAAC,SAAsB,EAAE,OAAe,EAAE,EAAE,CAChE,GAAG,IAAI,IAAI,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,CAAA;IAEtC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAA;IAE3D,qEAAqE;IACrE,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAA;IACjC,MAAM,YAAY,GAChB,KAAK,CAAC,MAAM,GAAG,CAAC;QACd,CAAC,CAAC;YACE,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,CAAwB;SAC9E;QACH,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;IAE7C,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,GAAG,EAAyB,CAAA;IAE3E,yEAAyE;IACzE,4EAA4E;IAC5E,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAA;IAEjD,OAAO;QACL,YAAY;QACZ,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE;gBACL,uEAAuE;gBACvE,yEAAyE;gBACzE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;gBAC/C,GAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAyB;gBAC7D,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,EAAE,SAAS,CAAC,OAAO,IAAI,GAAG,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE;oBAClE,IAAI,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;oBACxC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;iBAC5E,CAAC,CAAC;aACJ;SACF,CAAC,CAAC;KACJ,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared `oneOf`/`anyOf` union detection so the schema documentation rows (which
|
|
3
|
+
* render a variant picker) and the response example sampler (which samples one
|
|
4
|
+
* variant) agree on which variants exist and in what order. Keeping this
|
|
5
|
+
* framework-agnostic lets both the React renderer and the sample serializer
|
|
6
|
+
* derive identical variant-qualified anchor ids.
|
|
7
|
+
*/
|
|
8
|
+
type SchemaObject = Record<string, unknown>;
|
|
9
|
+
/**
|
|
10
|
+
* The displayable variant schemas of a union rendered as a variant picker, or
|
|
11
|
+
* `undefined` when the schema is not shown as a picker (no `oneOf`/`anyOf`,
|
|
12
|
+
* fewer than two non-null members, or a plain scalar union like `string |
|
|
13
|
+
* number` with nothing extra to show). Array schemas are unwrapped to their item
|
|
14
|
+
* schema first. The returned order is the index space used by
|
|
15
|
+
* {@link unionVariantSegment}.
|
|
16
|
+
*/
|
|
17
|
+
export declare function unionVariantSchemas(schema: SchemaObject | undefined): SchemaObject[] | undefined;
|
|
18
|
+
/** The path segment qualifying a union variant by its index (see {@link unionVariantSchemas}). */
|
|
19
|
+
export declare function unionVariantSegment(index: number): string;
|
|
20
|
+
/**
|
|
21
|
+
* Returns the sole non-`null` member of a `oneOf`/`anyOf` union when the union
|
|
22
|
+
* has exactly one non-`null` member — the ubiquitous "nullable"/optional
|
|
23
|
+
* pattern, e.g. `oneOf: [{ type: 'null' }, { ...object }]`.
|
|
24
|
+
*
|
|
25
|
+
* Such a union is never shown as a variant picker (see
|
|
26
|
+
* {@link unionVariantSchemas}, which needs ≥2 non-null members), so without
|
|
27
|
+
* unwrapping it renders as a bare `null | object` type label with no expandable
|
|
28
|
+
* children. Callers resolve a schema through this first so the single member's
|
|
29
|
+
* type and nested properties surface instead. The wrapper's `description` wins
|
|
30
|
+
* over the member's so field-level docs are preserved.
|
|
31
|
+
*
|
|
32
|
+
* Returns `undefined` for non-unions or unions with 0 or ≥2 non-null members.
|
|
33
|
+
*/
|
|
34
|
+
export declare function unwrapSingleVariant(schema: SchemaObject | undefined): SchemaObject | undefined;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=union.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../src/internal/openapi/union.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,EAAE,GAAG,SAAS,CAsBhG;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAY9F"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared `oneOf`/`anyOf` union detection so the schema documentation rows (which
|
|
3
|
+
* render a variant picker) and the response example sampler (which samples one
|
|
4
|
+
* variant) agree on which variants exist and in what order. Keeping this
|
|
5
|
+
* framework-agnostic lets both the React renderer and the sample serializer
|
|
6
|
+
* derive identical variant-qualified anchor ids.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The displayable variant schemas of a union rendered as a variant picker, or
|
|
10
|
+
* `undefined` when the schema is not shown as a picker (no `oneOf`/`anyOf`,
|
|
11
|
+
* fewer than two non-null members, or a plain scalar union like `string |
|
|
12
|
+
* number` with nothing extra to show). Array schemas are unwrapped to their item
|
|
13
|
+
* schema first. The returned order is the index space used by
|
|
14
|
+
* {@link unionVariantSegment}.
|
|
15
|
+
*/
|
|
16
|
+
export function unionVariantSchemas(schema) {
|
|
17
|
+
if (!schema)
|
|
18
|
+
return undefined;
|
|
19
|
+
const target = schema['type'] === 'array' && schema['items'] ? schema['items'] : schema;
|
|
20
|
+
const oneOf = target['oneOf'];
|
|
21
|
+
const members = (oneOf ?? target['anyOf']);
|
|
22
|
+
if (!Array.isArray(members))
|
|
23
|
+
return undefined;
|
|
24
|
+
const variants = members.filter((member) => member && typeof member === 'object' && member['type'] !== 'null');
|
|
25
|
+
if (variants.length < 2)
|
|
26
|
+
return undefined;
|
|
27
|
+
const rich = variants.some((member) => member['properties'] ||
|
|
28
|
+
member['allOf'] ||
|
|
29
|
+
typeof member['title'] === 'string' ||
|
|
30
|
+
Array.isArray(member['enum']) ||
|
|
31
|
+
'const' in member ||
|
|
32
|
+
typeof member['format'] === 'string');
|
|
33
|
+
if (!rich)
|
|
34
|
+
return undefined;
|
|
35
|
+
return variants;
|
|
36
|
+
}
|
|
37
|
+
/** The path segment qualifying a union variant by its index (see {@link unionVariantSchemas}). */
|
|
38
|
+
export function unionVariantSegment(index) {
|
|
39
|
+
return `variant-${index}`;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Returns the sole non-`null` member of a `oneOf`/`anyOf` union when the union
|
|
43
|
+
* has exactly one non-`null` member — the ubiquitous "nullable"/optional
|
|
44
|
+
* pattern, e.g. `oneOf: [{ type: 'null' }, { ...object }]`.
|
|
45
|
+
*
|
|
46
|
+
* Such a union is never shown as a variant picker (see
|
|
47
|
+
* {@link unionVariantSchemas}, which needs ≥2 non-null members), so without
|
|
48
|
+
* unwrapping it renders as a bare `null | object` type label with no expandable
|
|
49
|
+
* children. Callers resolve a schema through this first so the single member's
|
|
50
|
+
* type and nested properties surface instead. The wrapper's `description` wins
|
|
51
|
+
* over the member's so field-level docs are preserved.
|
|
52
|
+
*
|
|
53
|
+
* Returns `undefined` for non-unions or unions with 0 or ≥2 non-null members.
|
|
54
|
+
*/
|
|
55
|
+
export function unwrapSingleVariant(schema) {
|
|
56
|
+
if (!schema)
|
|
57
|
+
return undefined;
|
|
58
|
+
const members = (schema['oneOf'] ?? schema['anyOf']);
|
|
59
|
+
if (!Array.isArray(members))
|
|
60
|
+
return undefined;
|
|
61
|
+
const nonNull = members.filter((member) => member && typeof member === 'object' && member['type'] !== 'null');
|
|
62
|
+
if (nonNull.length !== 1)
|
|
63
|
+
return undefined;
|
|
64
|
+
// biome-ignore lint/style/noNonNullAssertion: length checked above
|
|
65
|
+
const member = nonNull[0];
|
|
66
|
+
const description = schema['description'] ?? member['description'];
|
|
67
|
+
return description === undefined ? member : { ...member, description };
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=union.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../src/internal/openapi/union.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAgC;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,OAAO,CAAkB,CAAC,CAAC,CAAC,MAAM,CAAA;IAC5F,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAA+B,CAAA;IAC3D,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,CAA+B,CAAA;IACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAC9E,CAAA;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;IACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CACxB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,YAAY,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC;QACf,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,QAAQ;QACnC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,IAAI,MAAM;QACjB,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,CACvC,CAAA;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAA;IAC3B,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,WAAW,KAAK,EAAE,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAgC;IAClE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAA+B,CAAA;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAC9E,CAAA;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,mEAAmE;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;IAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAA;IAClE,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,CAAA;AACxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/internal/search.ts"],"names":[],"mappings":"AAMA,OAAO,UAAU,MAAM,YAAY,CAAA;AASnC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/internal/search.ts"],"names":[],"mappings":"AAMA,OAAO,UAAU,MAAM,YAAY,CAAA;AASnC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAU1C,cAAc,oBAAoB,CAAA;AAElC,yBAAiB,eAAe,CAAC;IAC/B,KAAY,QAAQ,GAAG;QACrB,wDAAwD;QACxD,QAAQ,EAAE,MAAM,CAAA;QAChB,sDAAsD;QACtD,IAAI,EAAE,MAAM,CAAA;QACZ,8CAA8C;QAC9C,EAAE,EAAE,MAAM,CAAA;QACV,qEAAqE;QACrE,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,yDAAyD;QACzD,QAAQ,EAAE,MAAM,CAAA;QAChB,oCAAoC;QACpC,IAAI,EAAE,MAAM,CAAA;QACZ,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAA;QACb,2CAA2C;QAC3C,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,gDAAgD;QAChD,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAA;KACjC,CAAA;IAED;;OAEG;IACH,SAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAgD3E;IAiBD,SAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,CA6CtE;IAED;;;OAGG;IACH,SAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAmBlF;CAaF;AAED,yBAAiB,WAAW,CAAC;IAC3B,KAAY,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;IAE9D;;OAEG;IACH,SAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE,GAAG,WAAW,CAQtF;IAED;;OAEG;IACH,SAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,WAAW,CAQvE;IAED,UAAyB,YAAY,CAAC;QACpC,KAAK,OAAO,GAAG;YACb,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;KACF;IAED;;;OAGG;IACH,SAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAQlE;IAED;;;OAGG;IACH,SAAgB,UAAU,CACxB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,UAAU,CAAC,OAAO,GAC1B,MAAM,EAAE,CAuCV;IAED,UAAyB,UAAU,CAAC;QAClC,KAAK,OAAO,GAAG;YACb,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;YACrB,QAAQ,EAAE,MAAM,CAAA;YAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;SACvB,CAAA;KACF;CACF;AAUD,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAsGjF;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG;QAChB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;QAClC,QAAQ,EAAE,OAAO,EAAE,CAAA;KACpB,CAAA;CACF"}
|
package/dist/internal/search.js
CHANGED
|
@@ -13,6 +13,8 @@ import { unified } from 'unified';
|
|
|
13
13
|
import * as UnistUtil from 'unist-util-visit';
|
|
14
14
|
import * as yaml from 'yaml';
|
|
15
15
|
import { extractSubheading, getPhrasingContentText } from './mdx.js';
|
|
16
|
+
import * as OpenApiRegistry from './openapi/registry.js';
|
|
17
|
+
import * as OpenApiSearch from './openapi/search.js';
|
|
16
18
|
import * as Path from './path.js';
|
|
17
19
|
import { searchFields, storeFields, tokenize } from './search.client.js';
|
|
18
20
|
import * as Sidebar from './sidebar.js';
|
|
@@ -58,9 +60,27 @@ export var SearchDocuments;
|
|
|
58
60
|
await taskRunner.wait();
|
|
59
61
|
const externalLinks = extractExternalLinks(config);
|
|
60
62
|
allDocuments.push(...externalLinks);
|
|
63
|
+
const openapiDocuments = await fromOpenApi(config);
|
|
64
|
+
allDocuments.push(...openapiDocuments);
|
|
61
65
|
return allDocuments;
|
|
62
66
|
}
|
|
63
67
|
SearchDocuments.fromConfig = fromConfig;
|
|
68
|
+
/**
|
|
69
|
+
* Builds search documents for every configured OpenAPI section from its parsed
|
|
70
|
+
* IR, so the auto-generated reference is indexed alongside MDX pages. Failures
|
|
71
|
+
* are swallowed so a broken/unreachable spec can't break the whole index.
|
|
72
|
+
*/
|
|
73
|
+
async function fromOpenApi(config) {
|
|
74
|
+
if (!config.openapi || config.openapi.length === 0)
|
|
75
|
+
return [];
|
|
76
|
+
try {
|
|
77
|
+
const specs = await OpenApiRegistry.build(config);
|
|
78
|
+
return Object.values(specs).flatMap((ir) => OpenApiSearch.toSearchDocuments(ir));
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
64
84
|
function extractExternalLinks(config) {
|
|
65
85
|
const documents = [];
|
|
66
86
|
const seenHrefs = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/internal/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/internal/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,4 +100,16 @@ export declare function groupIcons(config: Config.Config): PluginOption;
|
|
|
100
100
|
* and custom icon mappings from config.groupIcons.customIcons.
|
|
101
101
|
*/
|
|
102
102
|
export declare function fileTreeIcons(config: Config.Config): PluginOption;
|
|
103
|
+
/**
|
|
104
|
+
* Vite plugin that parses configured OpenAPI specs and exposes them as a
|
|
105
|
+
* virtual module (`virtual:vocs/openapi`).
|
|
106
|
+
*
|
|
107
|
+
* The module exports `specs`, a map of mount path to parsed
|
|
108
|
+
* {@link OpenApi.Ir | intermediate representation}, consumed by the OpenAPI
|
|
109
|
+
* route component and sidebar generator.
|
|
110
|
+
*
|
|
111
|
+
* Local spec files are watched in dev: changes invalidate the module and
|
|
112
|
+
* trigger a full reload so the section regenerates.
|
|
113
|
+
*/
|
|
114
|
+
export declare function openapi(config: Config.Config): PluginOption;
|
|
103
115
|
//# sourceMappingURL=vite-plugins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugins.d.ts","sourceRoot":"","sources":["../../src/internal/vite-plugins.ts"],"names":[],"mappings":"AAIA,OAAoB,EAAE,KAAK,aAAa,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACtF,OAAO,KAAK,EAAE,YAAY,EAA2C,MAAM,MAAM,CAAA;AAEjF,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"vite-plugins.d.ts","sourceRoot":"","sources":["../../src/internal/vite-plugins.ts"],"names":[],"mappings":"AAIA,OAAoB,EAAE,KAAK,aAAa,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACtF,OAAO,KAAK,EAAE,YAAY,EAA2C,MAAM,MAAM,CAAA;AAEjF,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAcrC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEhE,eAAO,MAAM,QAAQ,EAA6B,CAAC,IAAI,CAAC,EAAE,eAAe,KAAK,YAAY,CAAA;AAI1F;;;;GAIG;AACH,wBAAgB,IAAI,IAAI,YAAY,CAyFnC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAsC/D;AAED,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CA6ExD;AAED;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAoFvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CA2I3D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAiBhE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAmC9D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CA6BzD;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAwI1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CA4CjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAiDhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CA4L9D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAiCjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAwE3D"}
|
|
@@ -11,6 +11,7 @@ import * as Icons from './icons.js';
|
|
|
11
11
|
import * as Langs from './langs.js';
|
|
12
12
|
import * as Llms from './llms.js';
|
|
13
13
|
import * as Mdx from './mdx.js';
|
|
14
|
+
import * as OpenApiRegistry from './openapi/registry.js';
|
|
14
15
|
import { SearchDocuments, SearchIndex } from './search.js';
|
|
15
16
|
import * as ShikiTransformers from './shiki-transformers.js';
|
|
16
17
|
import * as TaskRunner from './task-runner.js';
|
|
@@ -168,8 +169,12 @@ export function llms(config) {
|
|
|
168
169
|
async function buildLlmsContent() {
|
|
169
170
|
const pagesDir = path.resolve(viteConfig.root, config.srcDir, config.pagesDir);
|
|
170
171
|
const pages = await Llms.getPagesFromDir(pagesDir);
|
|
172
|
+
const openapiPages = await Llms.getOpenApiPages(config);
|
|
173
|
+
// Generated OpenAPI pages first so they win over any consumer override at the
|
|
174
|
+
// same generated route (`.md` serves the full reference); authored-only guide
|
|
175
|
+
// pages under the section keep their own content.
|
|
171
176
|
return Llms.buildLlmsContent({
|
|
172
|
-
pages,
|
|
177
|
+
pages: [...openapiPages, ...pages],
|
|
173
178
|
title,
|
|
174
179
|
description,
|
|
175
180
|
rehypePlugins,
|
|
@@ -727,7 +732,7 @@ export function virtualConfig(config) {
|
|
|
727
732
|
},
|
|
728
733
|
load(id) {
|
|
729
734
|
if (id === resolvedVirtualModuleId) {
|
|
730
|
-
const currentConfig = Config.getGlobal() ?? config;
|
|
735
|
+
const currentConfig = OpenApiRegistry.mergeSidebar(Config.getGlobal() ?? config);
|
|
731
736
|
const serializedConfig = mode === 'development' ? { ...currentConfig, baseUrl: undefined } : currentConfig;
|
|
732
737
|
return `export const config = ${ConfigSerializer.serialize(serializedConfig)}`;
|
|
733
738
|
}
|
|
@@ -761,23 +766,27 @@ export function virtualLangs(config) {
|
|
|
761
766
|
if (!transformers?.length) {
|
|
762
767
|
return 'export const langs = []';
|
|
763
768
|
}
|
|
764
|
-
const
|
|
765
|
-
const langExports = [];
|
|
769
|
+
const langIds = new Set();
|
|
766
770
|
for (let i = 0; i < transformers.length; i++) {
|
|
767
771
|
const t = transformers[i];
|
|
768
772
|
if (t && 'langs' in t && Array.isArray(t.langs) && t.langs.length > 0) {
|
|
769
|
-
const
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
for (const langId of langIds) {
|
|
773
|
-
imports.push(`import ${langId}Lang from 'shiki/langs/${langId}.mjs'`);
|
|
774
|
-
langExports.push(`...${langId}Lang`);
|
|
773
|
+
for (const lang of t.langs) {
|
|
774
|
+
if (lang.name)
|
|
775
|
+
langIds.add(lang.name);
|
|
775
776
|
}
|
|
776
777
|
}
|
|
777
778
|
}
|
|
778
|
-
if (!
|
|
779
|
+
if (!langIds.size) {
|
|
779
780
|
return 'export const langs = []';
|
|
780
781
|
}
|
|
782
|
+
const imports = [];
|
|
783
|
+
const langExports = [];
|
|
784
|
+
let index = 0;
|
|
785
|
+
for (const langId of langIds) {
|
|
786
|
+
const importName = `lang${index++}`;
|
|
787
|
+
imports.push(`import ${importName} from 'shiki/langs/${langId}.mjs'`);
|
|
788
|
+
langExports.push(`...${importName}`);
|
|
789
|
+
}
|
|
781
790
|
return `${imports.join('\n')}\nexport const langs = [${langExports.join(', ')}]`;
|
|
782
791
|
}
|
|
783
792
|
return;
|
|
@@ -996,4 +1005,86 @@ export { matchIcon, resolveIcon, resolveIconSync } from './icons.js'
|
|
|
996
1005
|
},
|
|
997
1006
|
};
|
|
998
1007
|
}
|
|
1008
|
+
/**
|
|
1009
|
+
* Vite plugin that parses configured OpenAPI specs and exposes them as a
|
|
1010
|
+
* virtual module (`virtual:vocs/openapi`).
|
|
1011
|
+
*
|
|
1012
|
+
* The module exports `specs`, a map of mount path to parsed
|
|
1013
|
+
* {@link OpenApi.Ir | intermediate representation}, consumed by the OpenAPI
|
|
1014
|
+
* route component and sidebar generator.
|
|
1015
|
+
*
|
|
1016
|
+
* Local spec files are watched in dev: changes invalidate the module and
|
|
1017
|
+
* trigger a full reload so the section regenerates.
|
|
1018
|
+
*/
|
|
1019
|
+
export function openapi(config) {
|
|
1020
|
+
const virtualModuleId = 'virtual:vocs/openapi';
|
|
1021
|
+
const resolvedVirtualModuleId = `\0${virtualModuleId}`;
|
|
1022
|
+
/** Resolve absolute paths of local file specs for dev watching. */
|
|
1023
|
+
function specFilePaths(currentConfig) {
|
|
1024
|
+
const paths = [];
|
|
1025
|
+
for (const entry of currentConfig.openapi ?? []) {
|
|
1026
|
+
const { spec } = entry;
|
|
1027
|
+
if (typeof spec !== 'string')
|
|
1028
|
+
continue;
|
|
1029
|
+
if (spec.startsWith('http://') || spec.startsWith('https://'))
|
|
1030
|
+
continue;
|
|
1031
|
+
paths.push(path.isAbsolute(spec) ? spec : path.resolve(currentConfig.rootDir, spec));
|
|
1032
|
+
}
|
|
1033
|
+
return paths;
|
|
1034
|
+
}
|
|
1035
|
+
return {
|
|
1036
|
+
name: 'vocs:openapi',
|
|
1037
|
+
enforce: 'pre',
|
|
1038
|
+
async buildStart() {
|
|
1039
|
+
// Parse specs up front so generated sidebars are available when the
|
|
1040
|
+
// `virtual:vocs/config` module is serialized.
|
|
1041
|
+
try {
|
|
1042
|
+
await OpenApiRegistry.build(Config.getGlobal() ?? config);
|
|
1043
|
+
}
|
|
1044
|
+
catch (error) {
|
|
1045
|
+
this.error(`Failed to parse OpenAPI spec: ${error instanceof Error ? error.message : String(error)}`);
|
|
1046
|
+
}
|
|
1047
|
+
},
|
|
1048
|
+
resolveId(id) {
|
|
1049
|
+
if (id === virtualModuleId)
|
|
1050
|
+
return resolvedVirtualModuleId;
|
|
1051
|
+
return;
|
|
1052
|
+
},
|
|
1053
|
+
configureServer(server) {
|
|
1054
|
+
server.watcher.on('change', async (changedPath) => {
|
|
1055
|
+
const currentConfig = Config.getGlobal() ?? config;
|
|
1056
|
+
if (!specFilePaths(currentConfig).includes(changedPath))
|
|
1057
|
+
return;
|
|
1058
|
+
// Re-parse before reloading so the new sidebar + page are ready.
|
|
1059
|
+
OpenApiRegistry.invalidate();
|
|
1060
|
+
try {
|
|
1061
|
+
await OpenApiRegistry.build(currentConfig);
|
|
1062
|
+
}
|
|
1063
|
+
catch { }
|
|
1064
|
+
for (const moduleId of [resolvedVirtualModuleId, '\0virtual:vocs/config']) {
|
|
1065
|
+
const mod = server.moduleGraph.getModuleById(moduleId);
|
|
1066
|
+
if (mod)
|
|
1067
|
+
server.moduleGraph.invalidateModule(mod);
|
|
1068
|
+
}
|
|
1069
|
+
server.ws.send({ type: 'full-reload' });
|
|
1070
|
+
});
|
|
1071
|
+
},
|
|
1072
|
+
async load(id) {
|
|
1073
|
+
if (id !== resolvedVirtualModuleId)
|
|
1074
|
+
return;
|
|
1075
|
+
const currentConfig = Config.getGlobal() ?? config;
|
|
1076
|
+
// Watch local spec files so the build re-runs when they change.
|
|
1077
|
+
for (const filePath of specFilePaths(currentConfig))
|
|
1078
|
+
this.addWatchFile(filePath);
|
|
1079
|
+
let specs = {};
|
|
1080
|
+
try {
|
|
1081
|
+
specs = await OpenApiRegistry.build(currentConfig);
|
|
1082
|
+
}
|
|
1083
|
+
catch (error) {
|
|
1084
|
+
this.error(`Failed to parse OpenAPI spec: ${error instanceof Error ? error.message : String(error)}`);
|
|
1085
|
+
}
|
|
1086
|
+
return `export const specs = ${JSON.stringify(specs)}`;
|
|
1087
|
+
},
|
|
1088
|
+
};
|
|
1089
|
+
}
|
|
999
1090
|
//# sourceMappingURL=vite-plugins.js.map
|