@vendure-io/docs-provider 0.2.0 → 0.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.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./manifest-D2yANQB-.cjs");function i(o){const a=[];return r(o.navigation,a),a}function r(o,a){for(const t of o)t.file&&a.push(t.file),t.children&&r(t.children,a)}exports.BreadcrumbItemSchema=e.BreadcrumbItemSchema;exports.DocPageMetaSchema=e.DocPageMetaSchema;exports.DocPageSchema=e.DocPageSchema;exports.DocsPackageManifestSchema=e.DocsPackageManifestSchema;exports.FlatNavigationNodeSchema=e.FlatNavigationNodeSchema;exports.FrontmatterParseError=e.FrontmatterParseError;exports.GitHubConfigSchema=e.GitHubConfigSchema;exports.LoadedDocsPackageSchema=e.LoadedDocsPackageSchema;exports.ManifestValidationError=e.ManifestValidationError;exports.NavigationNodeSchema=e.NavigationNodeSchema;exports.SearchConfigSchema=e.SearchConfigSchema;exports.VendureVersionSchema=e.VendureVersionSchema;exports.buildBreadcrumbs=e.buildBreadcrumbs;exports.extractFrontmatterData=e.extractFrontmatterData;exports.findNavigationNode=e.findNavigationNode;exports.flattenNavigation=e.flattenNavigation;exports.getLeafNodes=e.getLeafNodes;exports.getNodesAtDepth=e.getNodesAtDepth;exports.getPrevNextNodes=e.getPrevNextNodes;exports.hasFrontmatter=e.hasFrontmatter;exports.isNodeActive=e.isNodeActive;exports.parseFrontmatter=e.parseFrontmatter;exports.validateFrontmatter=e.validateFrontmatter;exports.validateManifest=e.validateManifest;exports.getAllFilePaths=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./manifest-CNnJGNwK.cjs");function i(o){const a=[];return r(o.navigation,a),a}function r(o,a){for(const t of o)t.file&&a.push(t.file),t.children&&r(t.children,a)}exports.BreadcrumbItemSchema=e.BreadcrumbItemSchema;exports.DocPageMetaSchema=e.DocPageMetaSchema;exports.DocPageSchema=e.DocPageSchema;exports.DocsPackageManifestSchema=e.DocsPackageManifestSchema;exports.FlatNavigationNodeSchema=e.FlatNavigationNodeSchema;exports.FrontmatterParseError=e.FrontmatterParseError;exports.GitHubConfigSchema=e.GitHubConfigSchema;exports.LoadedDocsPackageSchema=e.LoadedDocsPackageSchema;exports.ManifestValidationError=e.ManifestValidationError;exports.NavigationNodeSchema=e.NavigationNodeSchema;exports.SearchConfigSchema=e.SearchConfigSchema;exports.VendureVersionSchema=e.VendureVersionSchema;exports.buildBreadcrumbs=e.buildBreadcrumbs;exports.extractFrontmatterData=e.extractFrontmatterData;exports.findNavigationNode=e.findNavigationNode;exports.flattenNavigation=e.flattenNavigation;exports.getLeafNodes=e.getLeafNodes;exports.getNodesAtDepth=e.getNodesAtDepth;exports.getPrevNextNodes=e.getPrevNextNodes;exports.hasFrontmatter=e.hasFrontmatter;exports.isNodeActive=e.isNodeActive;exports.parseFrontmatter=e.parseFrontmatter;exports.validateFrontmatter=e.validateFrontmatter;exports.validateManifest=e.validateManifest;exports.getAllFilePaths=i;
package/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export { FrontmatterParseError, extractFrontmatterData, hasFrontmatter, parseFro
4
4
  export type { ParsedFrontmatter } from './frontmatter';
5
5
  export { ManifestValidationError, buildBreadcrumbs, findNavigationNode, flattenNavigation, getLeafNodes, getNodesAtDepth, getPrevNextNodes, isNodeActive, validateManifest, } from './manifest';
6
6
  export { getAllFilePaths } from './navigation-utils';
7
- export type { CustomFieldPropertyProps, GenerationInfoProps, MdxComponentProps, MemberDescriptionProps, MemberInfoProps, StackblitzProps, } from './mdx-components';
7
+ export type { CustomFieldPropertyProps, GenerationInfoProps, GraphQLDocProps, MdxComponentProps, MemberDescriptionProps, MemberInfoProps, StackblitzProps, } from './mdx-components';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as n, D as c, a as d, b as m, F as h, c as f, G as l, L as g, M as N, N as S, S as v, V as u, d as F, e as P, f as D, g as p, i as b, j as M, k as x, h as V, l as k, p as A, v as B, m as L } from "./manifest-B1CxKK1i.js";
1
+ import { B as n, D as c, a as d, b as m, F as h, c as f, G as l, L as g, M as N, N as S, S as v, V as u, d as F, e as P, f as D, g as p, i as b, j as M, k as x, h as V, l as k, p as A, v as B, m as L } from "./manifest-BJ3t6hu2.js";
2
2
  function o(t) {
3
3
  const a = [];
4
4
  return s(t.navigation, a), a;
package/dist/loader.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var g=Object.defineProperty;var h=(e,r,t)=>r in e?g(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var i=(e,r,t)=>h(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("fs/promises"),m=require("module"),u=require("./manifest-D2yANQB-.cjs");var c=typeof document<"u"?document.currentScript:null;class a extends Error{constructor(t,n){super(t);i(this,"packageName");this.name="DocsPackageLoadError",this.packageName=n}}async function p(e,r={}){try{const t=r.resolver?await r.resolver(e):l(e),n=await import(e);if(!n.manifest)throw new a(`Package "${e}" does not export a manifest`,e);return{manifest:u.validateManifest(n.manifest),basePath:t}}catch(t){throw t instanceof a?t:new a(`Failed to load docs package "${e}": ${t instanceof Error?t.message:String(t)}`,e)}}function l(e){try{return m.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.tagName.toUpperCase()==="SCRIPT"&&c.src||new URL("loader.cjs",document.baseURI).href).resolve(`${e}/package.json`).replace(/\/package\.json$/,"")}catch{throw new a(`Cannot resolve package "${e}". Make sure it is installed.`,e)}}async function d(e,r){try{const t=`${e.basePath}/${r}`,n=await P.readFile(t,"utf-8"),{meta:o,content:s}=u.parseFrontmatter(n,r);return{meta:o,content:s,filePath:r}}catch(t){throw new a(`Failed to load doc page "${r}": ${t instanceof Error?t.message:String(t)}`,e.manifest.id)}}async function $(e,r){const t=f(e.manifest.navigation,r.split("/"));if(t!=null&&t.file)return d(e,t.file)}function f(e,r){if(r.length===0)return;const[t,...n]=r,o=e.find(s=>s.slug===t);if(o){if(n.length===0)return o;if(o.children)return f(o.children,n)}}function v(e,r){if(r.file)return`${e.basePath}/${r.file}`}function y(e){try{return l(e),!0}catch{return!1}}exports.DocsPackageLoadError=a;exports.isDocsPackageInstalled=y;exports.loadDocPage=d;exports.loadDocPageBySlug=$;exports.loadDocsPackage=p;exports.resolveFilePath=v;
1
+ "use strict";var g=Object.defineProperty;var h=(e,r,t)=>r in e?g(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var i=(e,r,t)=>h(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("fs/promises"),m=require("module"),u=require("./manifest-CNnJGNwK.cjs");var c=typeof document<"u"?document.currentScript:null;class a extends Error{constructor(t,n){super(t);i(this,"packageName");this.name="DocsPackageLoadError",this.packageName=n}}async function p(e,r={}){try{const t=r.resolver?await r.resolver(e):l(e),n=await import(e);if(!n.manifest)throw new a(`Package "${e}" does not export a manifest`,e);return{manifest:u.validateManifest(n.manifest),basePath:t}}catch(t){throw t instanceof a?t:new a(`Failed to load docs package "${e}": ${t instanceof Error?t.message:String(t)}`,e)}}function l(e){try{return m.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:c&&c.tagName.toUpperCase()==="SCRIPT"&&c.src||new URL("loader.cjs",document.baseURI).href).resolve(`${e}/package.json`).replace(/\/package\.json$/,"")}catch{throw new a(`Cannot resolve package "${e}". Make sure it is installed.`,e)}}async function d(e,r){try{const t=`${e.basePath}/${r}`,n=await P.readFile(t,"utf-8"),{meta:o,content:s}=u.parseFrontmatter(n,r);return{meta:o,content:s,filePath:r}}catch(t){throw new a(`Failed to load doc page "${r}": ${t instanceof Error?t.message:String(t)}`,e.manifest.id)}}async function $(e,r){const t=f(e.manifest.navigation,r.split("/"));if(t!=null&&t.file)return d(e,t.file)}function f(e,r){if(r.length===0)return;const[t,...n]=r,o=e.find(s=>s.slug===t);if(o){if(n.length===0)return o;if(o.children)return f(o.children,n)}}function v(e,r){if(r.file)return`${e.basePath}/${r.file}`}function y(e){try{return l(e),!0}catch{return!1}}exports.DocsPackageLoadError=a;exports.isDocsPackageInstalled=y;exports.loadDocPage=d;exports.loadDocPageBySlug=$;exports.loadDocsPackage=p;exports.resolveFilePath=v;
package/dist/loader.js CHANGED
@@ -3,7 +3,7 @@ var l = (t, e, r) => e in t ? f(t, e, { enumerable: !0, configurable: !0, writab
3
3
  var i = (t, e, r) => l(t, typeof e != "symbol" ? e + "" : e, r);
4
4
  import { readFile as d } from "fs/promises";
5
5
  import { createRequire as h } from "module";
6
- import { m as g, p as m } from "./manifest-B1CxKK1i.js";
6
+ import { m as g, p as m } from "./manifest-BJ3t6hu2.js";
7
7
  class a extends Error {
8
8
  constructor(r, n) {
9
9
  super(r);
@@ -1,31 +1,32 @@
1
1
  var N = Object.defineProperty;
2
- var S = (r, e, n) => e in r ? N(r, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : r[e] = n;
3
- var l = (r, e, n) => S(r, typeof e != "symbol" ? e + "" : e, n);
4
- import g from "gray-matter";
2
+ var P = (r, e, n) => e in r ? N(r, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : r[e] = n;
3
+ var l = (r, e, n) => P(r, typeof e != "symbol" ? e + "" : e, n);
4
+ import u from "gray-matter";
5
5
  import { z as t } from "zod";
6
- const P = t.enum(["v1", "v2", "v3"]), j = t.object({
6
+ const S = t.enum(["v1", "v2", "v3"]), j = t.object({
7
7
  indexFields: t.array(t.enum(["title", "description", "content", "keywords"])),
8
8
  boosts: t.record(t.string(), t.number()).optional()
9
9
  }), $ = t.object({
10
10
  repository: t.string().regex(/^[^/]+\/[^/]+$/, 'Repository must be in format "owner/repo"'),
11
11
  branch: t.string().optional(),
12
12
  docsPath: t.string().optional()
13
- }), u = t.lazy(
13
+ }), g = t.lazy(
14
14
  () => t.object({
15
15
  title: t.string().min(1, "Navigation title is required"),
16
16
  slug: t.string().min(1, "Navigation slug is required"),
17
17
  file: t.string().optional(),
18
- children: t.array(u).optional(),
18
+ children: t.array(g).optional(),
19
19
  badge: t.string().optional()
20
20
  })
21
21
  ), f = t.object({
22
22
  id: t.string().min(1, "Package ID is required"),
23
23
  name: t.string().min(1, "Package name is required"),
24
24
  version: t.string().regex(/^\d+\.\d+\.\d+/, "Version must be valid semver"),
25
- vendureVersion: P,
26
- navigation: t.array(u),
25
+ vendureVersion: S,
26
+ navigation: t.array(g),
27
27
  search: j.optional(),
28
- github: $.optional()
28
+ github: $.optional(),
29
+ basePath: t.string().optional()
29
30
  }), m = t.object({
30
31
  title: t.string().min(1, "Page title is required"),
31
32
  description: t.string().optional(),
@@ -47,7 +48,7 @@ const P = t.enum(["v1", "v2", "v3"]), j = t.object({
47
48
  title: t.string(),
48
49
  slug: t.string(),
49
50
  file: t.string().optional(),
50
- children: t.array(t.lazy(() => u)).optional(),
51
+ children: t.array(t.lazy(() => g)).optional(),
51
52
  badge: t.string().optional(),
52
53
  path: t.string(),
53
54
  depth: t.number().int().min(0),
@@ -63,7 +64,7 @@ class d extends Error {
63
64
  }
64
65
  function q(r, e) {
65
66
  try {
66
- const { data: n, content: i } = g(r);
67
+ const { data: n, content: i } = u(r);
67
68
  return {
68
69
  meta: y(n, e),
69
70
  content: i.trim()
@@ -94,7 +95,7 @@ function L(r) {
94
95
  return r.trimStart().startsWith("---");
95
96
  }
96
97
  function z(r) {
97
- const { data: e } = g(r);
98
+ const { data: e } = u(r);
98
99
  return e;
99
100
  }
100
101
  class x extends Error {
@@ -186,9 +187,9 @@ export {
186
187
  $ as G,
187
188
  B as L,
188
189
  x as M,
189
- u as N,
190
+ g as N,
190
191
  j as S,
191
- P as V,
192
+ S as V,
192
193
  M as a,
193
194
  f as b,
194
195
  d as c,
@@ -1,3 +1,3 @@
1
- "use strict";var y=Object.defineProperty;var D=(r,e,n)=>e in r?y(r,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[e]=n;var d=(r,e,n)=>D(r,typeof e!="symbol"?e+"":e,n);const h=require("gray-matter"),t=require("zod"),z=t.z.enum(["v1","v2","v3"]),p=t.z.object({indexFields:t.z.array(t.z.enum(["title","description","content","keywords"])),boosts:t.z.record(t.z.string(),t.z.number()).optional()}),v=t.z.object({repository:t.z.string().regex(/^[^/]+\/[^/]+$/,'Repository must be in format "owner/repo"'),branch:t.z.string().optional(),docsPath:t.z.string().optional()}),g=t.z.lazy(()=>t.z.object({title:t.z.string().min(1,"Navigation title is required"),slug:t.z.string().min(1,"Navigation slug is required"),file:t.z.string().optional(),children:t.z.array(g).optional(),badge:t.z.string().optional()})),u=t.z.object({id:t.z.string().min(1,"Package ID is required"),name:t.z.string().min(1,"Package name is required"),version:t.z.string().regex(/^\d+\.\d+\.\d+/,"Version must be valid semver"),vendureVersion:z,navigation:t.z.array(g),search:p.optional(),github:v.optional()}),m=t.z.object({title:t.z.string().min(1,"Page title is required"),description:t.z.string().optional(),keywords:t.z.array(t.z.string()).optional(),sidebarLabel:t.z.string().optional(),hidden:t.z.boolean().optional()}),x=t.z.object({meta:m,content:t.z.string(),filePath:t.z.string()}),M=t.z.object({manifest:u,basePath:t.z.string()}),w=t.z.object({title:t.z.string(),slug:t.z.string(),path:t.z.string()}),E=t.z.object({title:t.z.string(),slug:t.z.string(),file:t.z.string().optional(),children:t.z.array(t.z.lazy(()=>g)).optional(),badge:t.z.string().optional(),path:t.z.string(),depth:t.z.number().int().min(0),parentPath:t.z.string().optional()});class l extends Error{constructor(n,i,a){super(n);d(this,"filePath");d(this,"originalError");this.name="FrontmatterParseError",this.filePath=i,this.originalError=a}}function k(r,e){try{const{data:n,content:i}=h(r);return{meta:b(n,e),content:i.trim()}}catch(n){throw n instanceof l?n:new l(`Failed to parse frontmatter${e?` in ${e}`:""}`,e,n)}}function b(r,e){const n=m.safeParse(r);if(!n.success){const i=n.error.issues.map(a=>` - ${a.path.join(".")}: ${a.message}`).join(`
1
+ "use strict";var y=Object.defineProperty;var D=(r,e,n)=>e in r?y(r,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[e]=n;var d=(r,e,n)=>D(r,typeof e!="symbol"?e+"":e,n);const h=require("gray-matter"),t=require("zod"),z=t.z.enum(["v1","v2","v3"]),p=t.z.object({indexFields:t.z.array(t.z.enum(["title","description","content","keywords"])),boosts:t.z.record(t.z.string(),t.z.number()).optional()}),v=t.z.object({repository:t.z.string().regex(/^[^/]+\/[^/]+$/,'Repository must be in format "owner/repo"'),branch:t.z.string().optional(),docsPath:t.z.string().optional()}),g=t.z.lazy(()=>t.z.object({title:t.z.string().min(1,"Navigation title is required"),slug:t.z.string().min(1,"Navigation slug is required"),file:t.z.string().optional(),children:t.z.array(g).optional(),badge:t.z.string().optional()})),u=t.z.object({id:t.z.string().min(1,"Package ID is required"),name:t.z.string().min(1,"Package name is required"),version:t.z.string().regex(/^\d+\.\d+\.\d+/,"Version must be valid semver"),vendureVersion:z,navigation:t.z.array(g),search:p.optional(),github:v.optional(),basePath:t.z.string().optional()}),m=t.z.object({title:t.z.string().min(1,"Page title is required"),description:t.z.string().optional(),keywords:t.z.array(t.z.string()).optional(),sidebarLabel:t.z.string().optional(),hidden:t.z.boolean().optional()}),x=t.z.object({meta:m,content:t.z.string(),filePath:t.z.string()}),M=t.z.object({manifest:u,basePath:t.z.string()}),w=t.z.object({title:t.z.string(),slug:t.z.string(),path:t.z.string()}),E=t.z.object({title:t.z.string(),slug:t.z.string(),file:t.z.string().optional(),children:t.z.array(t.z.lazy(()=>g)).optional(),badge:t.z.string().optional(),path:t.z.string(),depth:t.z.number().int().min(0),parentPath:t.z.string().optional()});class l extends Error{constructor(n,i,a){super(n);d(this,"filePath");d(this,"originalError");this.name="FrontmatterParseError",this.filePath=i,this.originalError=a}}function k(r,e){try{const{data:n,content:i}=h(r);return{meta:b(n,e),content:i.trim()}}catch(n){throw n instanceof l?n:new l(`Failed to parse frontmatter${e?` in ${e}`:""}`,e,n)}}function b(r,e){const n=m.safeParse(r);if(!n.success){const i=n.error.issues.map(a=>` - ${a.path.join(".")}: ${a.message}`).join(`
2
2
  `);throw new l(`Invalid frontmatter${e?` in ${e}`:""}:
3
3
  ${i}`,e,n.error)}return n.data}function V(r){return r.trimStart().startsWith("---")}function B(r){const{data:e}=h(r);return e}class N extends Error{constructor(n,i){super(n);d(this,"issues");this.name="ManifestValidationError",this.issues=i}}function q(r){const e=u.safeParse(r);if(!e.success){const n=e.error.issues.map(i=>`${i.path.join(".")}: ${i.message}`);throw new N("Invalid manifest",n)}return e.data}function I(r,e){const n=e.split("/").filter(Boolean);return S(r.navigation,n)}function S(r,e){if(e.length===0)return;const[n,...i]=e,a=r.find(o=>o.slug===n);if(a){if(i.length===0)return a;if(a.children)return S(a.children,i)}}function f(r){const e=[];return P(r.navigation,"",0,void 0,e),e}function P(r,e,n,i,a){for(const o of r){const s=e?`${e}/${o.slug}`:o.slug;a.push({...o,path:s,depth:n,parentPath:i}),o.children&&o.children.length>0&&P(o.children,s,n+1,s,a)}}function L(r,e){const n=e.split("/").filter(Boolean),i=[];let a=r.navigation,o="";for(const s of n){const c=a.find(j=>j.slug===s);if(!c)break;o=o?`${o}/${s}`:s,i.push({title:c.title,slug:c.slug,path:o}),a=c.children??[]}return i}function F(r){return f(r).filter(e=>e.file!==void 0)}function A(r,e){const n=F(r),i=n.findIndex(a=>a.path===e);return i===-1?{}:{prev:i>0?n[i-1]:void 0,next:i<n.length-1?n[i+1]:void 0}}function $(r,e){const n=e.split("/").filter(Boolean);if(n.length===0)return!1;if(r.slug===n[0]){if(n.length===1)return!0;if(r.children){const i=n.slice(1).join("/");return r.children.some(a=>$(a,i))}}return!1}function C(r,e){return f(r).filter(n=>n.depth===e)}exports.BreadcrumbItemSchema=w;exports.DocPageMetaSchema=m;exports.DocPageSchema=x;exports.DocsPackageManifestSchema=u;exports.FlatNavigationNodeSchema=E;exports.FrontmatterParseError=l;exports.GitHubConfigSchema=v;exports.LoadedDocsPackageSchema=M;exports.ManifestValidationError=N;exports.NavigationNodeSchema=g;exports.SearchConfigSchema=p;exports.VendureVersionSchema=z;exports.buildBreadcrumbs=L;exports.extractFrontmatterData=B;exports.findNavigationNode=I;exports.flattenNavigation=f;exports.getLeafNodes=F;exports.getNodesAtDepth=C;exports.getPrevNextNodes=A;exports.hasFrontmatter=V;exports.isNodeActive=$;exports.parseFrontmatter=k;exports.validateFrontmatter=b;exports.validateManifest=q;
@@ -113,8 +113,48 @@ export interface StackblitzProps {
113
113
  /** Stackblitz project ID */
114
114
  id: string;
115
115
  }
116
+ /**
117
+ * GraphQLDoc Component
118
+ *
119
+ * Displays GraphQL schema definitions with syntax highlighting and clickable type links.
120
+ * Used in GraphQL API reference documentation.
121
+ *
122
+ * @example
123
+ * ```mdx
124
+ * <GraphQLDoc
125
+ * type="mutation"
126
+ * typeName="addCustomersToGroup"
127
+ * since="1.0.0"
128
+ * typeLinks={{
129
+ * "CustomerGroup": "/v3/vendure/reference/graphql-api/admin/customer-group",
130
+ * "ID": "/v3/vendure/reference/graphql-api/common/scalars#id"
131
+ * }}
132
+ * >
133
+ * {`"""
134
+ * Add Customers to a CustomerGroup
135
+ * """
136
+ * type Mutation {
137
+ * addCustomersToGroup(customerGroupId: ID!, customerIds: [ID!]!): CustomerGroup!
138
+ * }`}
139
+ * </GraphQLDoc>
140
+ * ```
141
+ */
142
+ export interface GraphQLDocProps {
143
+ /** GraphQL definition kind */
144
+ type: 'mutation' | 'query' | 'subscription' | 'type' | 'input' | 'enum' | 'scalar' | 'interface' | 'union' | 'fragment';
145
+ /** The primary type/operation name */
146
+ typeName: string;
147
+ /** Version when this API was introduced */
148
+ since?: string;
149
+ /** Mark as deprecated */
150
+ deprecated?: boolean | string;
151
+ /** Map of type names to their documentation URLs. Only types in this map become clickable. */
152
+ typeLinks?: Record<string, string>;
153
+ /** GraphQL SDL content */
154
+ children: unknown;
155
+ }
116
156
  /**
117
157
  * Union type of all MDX component props for type checking
118
158
  */
119
- export type MdxComponentProps = GenerationInfoProps | MemberInfoProps | MemberDescriptionProps | CustomFieldPropertyProps | StackblitzProps;
159
+ export type MdxComponentProps = GenerationInfoProps | MemberInfoProps | MemberDescriptionProps | CustomFieldPropertyProps | StackblitzProps | GraphQLDocProps;
120
160
  //# sourceMappingURL=mdx-components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mdx-components.d.ts","sourceRoot":"","sources":["../src/mdx-components.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAA;IACjE,yDAAyD;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAA;IACjB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,eAAe,GACf,sBAAsB,GACtB,wBAAwB,GACxB,eAAe,CAAA"}
1
+ {"version":3,"file":"mdx-components.d.ts","sourceRoot":"","sources":["../src/mdx-components.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAA;IAClB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAA;IACjE,yDAAyD;IACzD,IAAI,EAAE,OAAO,CAAA;IACb,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAA;IACjB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,IAAI,EACA,UAAU,GACV,OAAO,GACP,cAAc,GACd,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,WAAW,GACX,OAAO,GACP,UAAU,CAAA;IACd,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yBAAyB;IACzB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC7B,8FAA8F;IAC9F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,eAAe,GACf,sBAAsB,GACtB,wBAAwB,GACxB,eAAe,GACf,eAAe,CAAA"}
package/dist/schema.d.ts CHANGED
@@ -86,6 +86,7 @@ export declare const DocsPackageManifestSchema: z.ZodObject<{
86
86
  branch?: string | undefined;
87
87
  docsPath?: string | undefined;
88
88
  }>>;
89
+ basePath: z.ZodOptional<z.ZodString>;
89
90
  }, "strip", z.ZodTypeAny, {
90
91
  id: string;
91
92
  name: string;
@@ -107,6 +108,7 @@ export declare const DocsPackageManifestSchema: z.ZodObject<{
107
108
  branch?: string | undefined;
108
109
  docsPath?: string | undefined;
109
110
  } | undefined;
111
+ basePath?: string | undefined;
110
112
  }, {
111
113
  id: string;
112
114
  name: string;
@@ -128,6 +130,7 @@ export declare const DocsPackageManifestSchema: z.ZodObject<{
128
130
  branch?: string | undefined;
129
131
  docsPath?: string | undefined;
130
132
  } | undefined;
133
+ basePath?: string | undefined;
131
134
  }>;
132
135
  /**
133
136
  * Schema for documentation page frontmatter/metadata
@@ -242,6 +245,7 @@ export declare const LoadedDocsPackageSchema: z.ZodObject<{
242
245
  branch?: string | undefined;
243
246
  docsPath?: string | undefined;
244
247
  }>>;
248
+ basePath: z.ZodOptional<z.ZodString>;
245
249
  }, "strip", z.ZodTypeAny, {
246
250
  id: string;
247
251
  name: string;
@@ -263,6 +267,7 @@ export declare const LoadedDocsPackageSchema: z.ZodObject<{
263
267
  branch?: string | undefined;
264
268
  docsPath?: string | undefined;
265
269
  } | undefined;
270
+ basePath?: string | undefined;
266
271
  }, {
267
272
  id: string;
268
273
  name: string;
@@ -284,9 +289,11 @@ export declare const LoadedDocsPackageSchema: z.ZodObject<{
284
289
  branch?: string | undefined;
285
290
  docsPath?: string | undefined;
286
291
  } | undefined;
292
+ basePath?: string | undefined;
287
293
  }>;
288
294
  basePath: z.ZodString;
289
295
  }, "strip", z.ZodTypeAny, {
296
+ basePath: string;
290
297
  manifest: {
291
298
  id: string;
292
299
  name: string;
@@ -308,9 +315,10 @@ export declare const LoadedDocsPackageSchema: z.ZodObject<{
308
315
  branch?: string | undefined;
309
316
  docsPath?: string | undefined;
310
317
  } | undefined;
318
+ basePath?: string | undefined;
311
319
  };
312
- basePath: string;
313
320
  }, {
321
+ basePath: string;
314
322
  manifest: {
315
323
  id: string;
316
324
  name: string;
@@ -332,8 +340,8 @@ export declare const LoadedDocsPackageSchema: z.ZodObject<{
332
340
  branch?: string | undefined;
333
341
  docsPath?: string | undefined;
334
342
  } | undefined;
343
+ basePath?: string | undefined;
335
344
  };
336
- basePath: string;
337
345
  }>;
338
346
  /**
339
347
  * Schema for breadcrumb items
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -55,6 +55,8 @@ export interface DocsPackageManifest {
55
55
  search?: SearchConfig;
56
56
  /** Optional GitHub repository configuration for edit links and issue reporting */
57
57
  github?: GitHubConfig;
58
+ /** Absolute path to package root for asset resolution (e.g., images) */
59
+ basePath?: string;
58
60
  }
59
61
  /**
60
62
  * Frontmatter metadata for a documentation page
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,WAAW,EAAE,CAAC,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,EAAE,CAAA;IACjE,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAA;IACV,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,cAAc,EAAE,cAAc,CAAA;IAC9B,2CAA2C;IAC3C,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,kFAAkF;IAClF,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,IAAI,EAAE,WAAW,CAAA;IACjB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE/C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,WAAW,EAAE,CAAC,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,EAAE,CAAA;IACjE,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAA;IACV,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,cAAc,EAAE,cAAc,CAAA;IAC9B,2CAA2C;IAC3C,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,kFAAkF;IAClF,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,kCAAkC;IAClC,IAAI,EAAE,WAAW,CAAA;IACjB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAA;IACf,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,eAAe;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAA;IACZ,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB"}
@@ -130,6 +130,9 @@ export const manifest: DocsPackageManifest = {
130
130
  // Target Vendure version
131
131
  vendureVersion: 'v3',
132
132
 
133
+ // Package root path - required for image resolution
134
+ basePath: packageRoot,
135
+
133
136
  // Navigation tree structure
134
137
  navigation: [
135
138
  {
@@ -291,6 +294,64 @@ This action cannot be undone.
291
294
  See the [Configuration Guide](/v3/my-plugin/getting-started/configuration) for more details.
292
295
  ```
293
296
 
297
+ ### Using Images
298
+
299
+ Images can be placed alongside your MDX files and referenced using relative paths. The docs application automatically resolves these paths and serves images through an API route.
300
+
301
+ **Place images next to your MDX files:**
302
+
303
+ ```
304
+ docs/
305
+ ├── guides/
306
+ │ ├── custom-plugins.mdx
307
+ │ └── diagram.webp # Image in same directory
308
+ └── getting-started/
309
+ ├── installation.mdx
310
+ └── assets/
311
+ └── screenshot.png # Image in subdirectory
312
+ ```
313
+
314
+ **Reference images with relative paths:**
315
+
316
+ ```mdx
317
+ <!-- Same directory -->
318
+
319
+ ![Plugin Architecture](./diagram.webp)
320
+
321
+ <!-- Subdirectory -->
322
+
323
+ ![Installation Screenshot](./assets/screenshot.png)
324
+
325
+ <!-- Parent directory -->
326
+
327
+ ![Shared Diagram](../shared/overview.png)
328
+ ```
329
+
330
+ **Important:** For images to work, you must set the `basePath` property in your manifest:
331
+
332
+ ```typescript
333
+ export const manifest: DocsPackageManifest = {
334
+ id: 'my-plugin',
335
+ basePath: packageRoot, // Required for image resolution
336
+ // ...
337
+ }
338
+ ```
339
+
340
+ **Supported image formats:**
341
+
342
+ - PNG (`.png`)
343
+ - JPEG (`.jpg`, `.jpeg`)
344
+ - WebP (`.webp`)
345
+ - GIF (`.gif`)
346
+ - SVG (`.svg`)
347
+ - AVIF (`.avif`)
348
+
349
+ **How it works:**
350
+
351
+ 1. Relative image paths like `./diagram.webp` are detected during MDX compilation
352
+ 2. They're transformed to API routes: `/api/docs-image/my-plugin/docs/guides/diagram.webp`
353
+ 3. The API route serves images from the npm package with proper caching headers (1 year, immutable)
354
+
294
355
  ## Step 7: Navigation Structure Patterns
295
356
 
296
357
  ### Nested Navigation
@@ -15,6 +15,7 @@ interface DocsPackageManifest {
15
15
  navigation: NavigationNode[]
16
16
  search?: SearchConfig
17
17
  github?: GitHubConfig
18
+ basePath?: string
18
19
  }
19
20
  ```
20
21
 
@@ -29,6 +30,7 @@ interface DocsPackageManifest {
29
30
  | `navigation` | `NavigationNode[]` | Yes | Array of top-level navigation nodes |
30
31
  | `search` | `SearchConfig` | No | Search indexing configuration |
31
32
  | `github` | `GitHubConfig` | No | GitHub repository configuration for edit links |
33
+ | `basePath` | `string` | No | Absolute path to package root for asset resolution |
32
34
 
33
35
  ### Example
34
36
 
@@ -38,6 +40,7 @@ const manifest: DocsPackageManifest = {
38
40
  name: 'My Plugin Documentation',
39
41
  version: '1.0.0',
40
42
  vendureVersion: 'v3',
43
+ basePath: packageRoot, // Enable image resolution
41
44
  navigation: [
42
45
  {
43
46
  title: 'Getting Started',
@@ -179,6 +179,71 @@ Shows required/optional status and type information for custom fields. Used in c
179
179
  />
180
180
  ```
181
181
 
182
+ ### GraphQLDoc
183
+
184
+ Displays GraphQL schema definitions with syntax highlighting and clickable type links. Used in GraphQL API reference documentation.
185
+
186
+ **Note:** The component automatically formats and indents the GraphQL SDL content. Since MDX strips leading whitespace from template literals, you don't need to worry about indentation in your source files - the component will add proper indentation based on GraphQL syntax (braces, etc.).
187
+
188
+ #### Props
189
+
190
+ | Prop | Type | Required | Description |
191
+ | ------------ | ---------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------- |
192
+ | `type` | `'mutation' \| 'query' \| 'subscription' \| 'type' \| 'input' \| 'enum' \| 'scalar' \| 'interface' \| 'union' \| 'fragment'` | Yes | The GraphQL definition kind |
193
+ | `typeName` | `string` | Yes | The primary type/operation name |
194
+ | `since` | `string` | No | Version when this API was introduced |
195
+ | `deprecated` | `boolean \| string` | No | Mark as deprecated (string provides deprecation message) |
196
+ | `typeLinks` | `Record<string, string>` | No | Map of type names to their documentation URLs. Only types in this map become clickable. |
197
+ | `children` | `ReactNode` | Yes | GraphQL SDL content |
198
+
199
+ #### Example
200
+
201
+ ```mdx
202
+ {/* Simple mutation without type links */}
203
+
204
+ <GraphQLDoc
205
+ type="mutation"
206
+ typeName="logout"
207
+ since="1.0.0"
208
+ >
209
+ {`type Mutation {
210
+ logout: Success!
211
+ }`}
212
+ </GraphQLDoc>
213
+
214
+ {/* Mutation with clickable type links */}
215
+
216
+ <GraphQLDoc
217
+ type="mutation"
218
+ typeName="addCustomersToGroup"
219
+ since="1.0.0"
220
+ typeLinks={{
221
+ CustomerGroup: '/reference/graphql-api/admin/customer-group',
222
+ ID: '/reference/graphql-api/common/scalars#id',
223
+ }}
224
+ >
225
+ {`"""
226
+ Add Customers to a CustomerGroup
227
+ """
228
+ type Mutation {
229
+ addCustomersToGroup(customerGroupId: ID!, customerIds: [ID!]!): CustomerGroup!
230
+ }`}
231
+ </GraphQLDoc>
232
+
233
+ {/* Deprecated type */}
234
+
235
+ <GraphQLDoc
236
+ type="type"
237
+ typeName="OldProduct"
238
+ deprecated="Use Product instead"
239
+ >
240
+ {`type OldProduct {
241
+ id: ID!
242
+ name: String!
243
+ }`}
244
+ </GraphQLDoc>
245
+ ```
246
+
182
247
  ---
183
248
 
184
249
  ## Complete Reference Page Example
@@ -271,6 +336,7 @@ All component props have TypeScript interfaces defined in `@vendure-io/docs-prov
271
336
  ```typescript
272
337
  import type {
273
338
  GenerationInfoProps,
339
+ GraphQLDocProps,
274
340
  MemberInfoProps,
275
341
  MemberDescriptionProps,
276
342
  CustomFieldPropertyProps,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure-io/docs-provider",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Contract types and utilities for Vendure documentation packages",
5
5
  "private": false,
6
6
  "publishConfig": {