@vendure-io/docs-provider 0.4.0 → 0.5.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/README.md CHANGED
@@ -191,6 +191,43 @@ const pages = getLeafNodes(manifest)
191
191
  const { prev, next } = getPrevNextNodes(manifest, 'getting-started/installation')
192
192
  ```
193
193
 
194
+ ### Hidden Pages
195
+
196
+ You can hide pages from the sidebar navigation while keeping them accessible via direct URL:
197
+
198
+ ```typescript
199
+ const manifest: DocsPackageManifest = {
200
+ // ...
201
+ navigation: [
202
+ {
203
+ title: 'Public Page',
204
+ slug: 'public',
205
+ file: file('docs/public.mdx'),
206
+ },
207
+ {
208
+ title: 'Hidden Page',
209
+ slug: 'hidden',
210
+ file: file('docs/hidden.mdx'),
211
+ hidden: true, // Won't appear in sidebar, but /docs/hidden still works
212
+ },
213
+ ],
214
+ }
215
+ ```
216
+
217
+ ### Browser Entry Point
218
+
219
+ For client-side React components (with `'use client'`), use the `/browser` entry point to avoid bundling Node.js modules:
220
+
221
+ ```typescript
222
+ // In client components
223
+ import { filterVisibleNavigation, type NavigationNode } from '@vendure-io/docs-provider/browser'
224
+
225
+ // Filter hidden pages before rendering sidebar
226
+ const visibleNavigation = filterVisibleNavigation(manifest.navigation)
227
+ ```
228
+
229
+ The main entry point includes Node.js-only utilities (`resolveManifest`, `createNavigationFromFolder`) that require `fs` access and cannot be used in browser contexts.
230
+
194
231
  ### Parsing MDX Frontmatter
195
232
 
196
233
  ```typescript
@@ -246,6 +283,7 @@ if (hasFrontmatter(mdxContent)) {
246
283
  | `MemberDescriptionProps` | Props for MemberDescription component |
247
284
  | `CustomFieldPropertyProps` | Props for CustomFieldProperty component |
248
285
  | `StackblitzProps` | Props for Stackblitz component |
286
+ | `DocsLinkProps` | Props for DocsLink component |
249
287
  | `MdxComponentProps` | Union type of all MDX component props |
250
288
 
251
289
  ### Schemas (Zod)
@@ -284,11 +322,12 @@ All types have corresponding Zod schemas for runtime validation:
284
322
 
285
323
  #### Navigation Utilities
286
324
 
287
- | Function | Description |
288
- | ----------------------------------------------- | -------------------------------------- |
289
- | `getAllFilePaths(manifest)` | Get all file paths from manifest |
290
- | `createNavigationFromFolder(path, options?)` | Create navigation from folder contents |
291
- | `createNestedNavigationFromFolder(path, opts?)` | Create nested navigation from folders |
325
+ | Function | Description |
326
+ | ----------------------------------------------- | --------------------------------------- |
327
+ | `getAllFilePaths(manifest)` | Get all file paths from manifest |
328
+ | `filterVisibleNavigation(nodes)` | Filter out hidden nodes from navigation |
329
+ | `createNavigationFromFolder(path, options?)` | Create navigation from folder contents |
330
+ | `createNestedNavigationFromFolder(path, opts?)` | Create nested navigation from folders |
292
331
 
293
332
  #### Slug Utilities
294
333
 
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./manifest-D8kEDc9X.cjs"),a=require("./slug-utils-DUQgikEz.cjs");exports.BreadcrumbItemSchema=e.BreadcrumbItemSchema;exports.DocPageMetaSchema=e.DocPageMetaSchema;exports.DocPageSchema=e.DocPageSchema;exports.DocsPackageManifestInputSchema=e.DocsPackageManifestInputSchema;exports.DocsPackageManifestSchema=e.DocsPackageManifestSchema;exports.FlatNavigationNodeSchema=e.FlatNavigationNodeSchema;exports.GitHubConfigSchema=e.GitHubConfigSchema;exports.LoadedDocsPackageSchema=e.LoadedDocsPackageSchema;exports.ManifestValidationError=e.ManifestValidationError;exports.NavigationNodeInputSchema=e.NavigationNodeInputSchema;exports.NavigationNodeSchema=e.NavigationNodeSchema;exports.SearchConfigSchema=e.SearchConfigSchema;exports.VendureVersionSchema=e.VendureVersionSchema;exports.buildBreadcrumbs=e.buildBreadcrumbs;exports.findNavigationNode=e.findNavigationNode;exports.flattenNavigation=e.flattenNavigation;exports.getLeafNodes=e.getLeafNodes;exports.getNodesAtDepth=e.getNodesAtDepth;exports.getPrevNextNodes=e.getPrevNextNodes;exports.isNodeActive=e.isNodeActive;exports.validateManifest=e.validateManifest;exports.filterVisibleNavigation=a.filterVisibleNavigation;exports.getAllFilePaths=a.getAllFilePaths;exports.slugFromFilename=a.slugFromFilename;exports.titleFromFilename=a.titleFromFilename;exports.toSlug=a.toSlug;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Browser-safe exports from docs-provider.
3
+ * These utilities can be safely used in client components without bundling Node.js modules.
4
+ */
5
+ export type { BreadcrumbItem, DocPage, DocPageMeta, DocsPackageManifest, DocsPackageManifestInput, FlatNavigationNode, GitHubConfig, LoadedDocsPackage, NavigationNode, NavigationNodeInput, SearchConfig, VendureVersion, } from './types';
6
+ export { BreadcrumbItemSchema, DocPageMetaSchema, DocPageSchema, DocsPackageManifestInputSchema, DocsPackageManifestSchema, FlatNavigationNodeSchema, GitHubConfigSchema, LoadedDocsPackageSchema, NavigationNodeInputSchema, NavigationNodeSchema, SearchConfigSchema, VendureVersionSchema, } from './schema';
7
+ export { ManifestValidationError, buildBreadcrumbs, findNavigationNode, flattenNavigation, getLeafNodes, getNodesAtDepth, getPrevNextNodes, isNodeActive, validateManifest, } from './manifest';
8
+ export { filterVisibleNavigation, getAllFilePaths } from './navigation-utils';
9
+ export { slugFromFilename, titleFromFilename, toSlug } from './slug-utils';
10
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,UAAU,CAAA;AAGjB,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,uBAAuB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAG7E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { B as s, D as t, a as i, b as o, c, F as g, G as m, L as n, M as d, N as r, d as h, S as N, V as l, e as S, f, g as v, h as u, i as D, j as F, k as P, v as b } from "./manifest-B_cvT6F9.js";
2
+ import { f as p, g as V, s as k, t as x, a as A } from "./slug-utils-DVKYe9h8.js";
3
+ export {
4
+ s as BreadcrumbItemSchema,
5
+ t as DocPageMetaSchema,
6
+ i as DocPageSchema,
7
+ o as DocsPackageManifestInputSchema,
8
+ c as DocsPackageManifestSchema,
9
+ g as FlatNavigationNodeSchema,
10
+ m as GitHubConfigSchema,
11
+ n as LoadedDocsPackageSchema,
12
+ d as ManifestValidationError,
13
+ r as NavigationNodeInputSchema,
14
+ h as NavigationNodeSchema,
15
+ N as SearchConfigSchema,
16
+ l as VendureVersionSchema,
17
+ S as buildBreadcrumbs,
18
+ p as filterVisibleNavigation,
19
+ f as findNavigationNode,
20
+ v as flattenNavigation,
21
+ V as getAllFilePaths,
22
+ u as getLeafNodes,
23
+ D as getNodesAtDepth,
24
+ F as getPrevNextNodes,
25
+ P as isNodeActive,
26
+ k as slugFromFilename,
27
+ x as titleFromFilename,
28
+ A as toSlug,
29
+ b as validateManifest
30
+ };
@@ -0,0 +1,56 @@
1
+ var c = Object.defineProperty;
2
+ var m = (a, t, r) => t in a ? c(a, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[t] = r;
3
+ var o = (a, t, r) => m(a, typeof t != "symbol" ? t + "" : t, r);
4
+ import i from "gray-matter";
5
+ import { D as u } from "./manifest-B_cvT6F9.js";
6
+ class s extends Error {
7
+ constructor(r, e, n) {
8
+ super(r);
9
+ o(this, "filePath");
10
+ o(this, "originalError");
11
+ this.name = "FrontmatterParseError", this.filePath = e, this.originalError = n;
12
+ }
13
+ }
14
+ function F(a, t) {
15
+ try {
16
+ const { data: r, content: e } = i(a);
17
+ return {
18
+ meta: d(r, t),
19
+ content: e.trim()
20
+ };
21
+ } catch (r) {
22
+ throw r instanceof s ? r : new s(
23
+ `Failed to parse frontmatter${t ? ` in ${t}` : ""}`,
24
+ t,
25
+ r
26
+ );
27
+ }
28
+ }
29
+ function d(a, t) {
30
+ const r = u.safeParse(a);
31
+ if (!r.success) {
32
+ const e = r.error.issues.map((n) => ` - ${n.path.join(".")}: ${n.message}`).join(`
33
+ `);
34
+ throw new s(
35
+ `Invalid frontmatter${t ? ` in ${t}` : ""}:
36
+ ${e}`,
37
+ t,
38
+ r.error
39
+ );
40
+ }
41
+ return r.data;
42
+ }
43
+ function $(a) {
44
+ return a.trimStart().startsWith("---");
45
+ }
46
+ function l(a) {
47
+ const { data: t } = i(a);
48
+ return t;
49
+ }
50
+ export {
51
+ s as F,
52
+ l as e,
53
+ $ as h,
54
+ F as p,
55
+ d as v
56
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";var m=Object.defineProperty;var u=(a,t,r)=>t in a?m(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r;var s=(a,t,r)=>u(a,typeof t!="symbol"?t+"":t,r);const i=require("gray-matter"),d=require("./manifest-D8kEDc9X.cjs");class o extends Error{constructor(r,e,n){super(r);s(this,"filePath");s(this,"originalError");this.name="FrontmatterParseError",this.filePath=e,this.originalError=n}}function F(a,t){try{const{data:r,content:e}=i(a);return{meta:c(r,t),content:e.trim()}}catch(r){throw r instanceof o?r:new o(`Failed to parse frontmatter${t?` in ${t}`:""}`,t,r)}}function c(a,t){const r=d.DocPageMetaSchema.safeParse(a);if(!r.success){const e=r.error.issues.map(n=>` - ${n.path.join(".")}: ${n.message}`).join(`
2
+ `);throw new o(`Invalid frontmatter${t?` in ${t}`:""}:
3
+ ${e}`,t,r.error)}return r.data}function h(a){return a.trimStart().startsWith("---")}function f(a){const{data:t}=i(a);return t}exports.FrontmatterParseError=o;exports.extractFrontmatterData=f;exports.hasFrontmatter=h;exports.parseFrontmatter=F;exports.validateFrontmatter=c;
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var A=Object.defineProperty;var R=(e,t,i)=>t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var S=(e,t,i)=>R(e,typeof t!="symbol"?t+"":t,i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./manifest-BYUKRuRu.cjs"),N=require("fs"),x=require("path");function j(e){const t=[];return $(e.navigation,t),t}function $(e,t){for(const i of e)i.file&&t.push(i.file),i.children&&$(i.children,t)}function C(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}function F(e){const r=(e.split("/").pop()||e).replace(/\.(mdx?|md)$/i,"").replace(/^\d+-/,"");return C(r)}function v(e){return(e.split("/").pop()||e).replace(/\.(mdx?|md)$/i,"").replace(/^\d+-/,"").replace(/[-_]+/g," ").toLowerCase().replace(/\b\w/g,o=>o.toUpperCase()).trim()}const I=(e,t)=>e.order!==t.order?e.order-t.order:e.title.localeCompare(t.title);function B(e,t={}){const{extensions:i=[".mdx",".md"],filter:r,sort:o=I}=t,a=V(e,i);return(r?a.filter(r):a).sort(o).map(d=>({title:d.title,slug:d.slug,file:d.path}))}function T(e,t={}){return L(e,t,0)}function L(e,t,i){const{extensions:r=[".mdx",".md"],filter:o,sort:a=I,maxDepth:l=1/0,folderFilter:u}=t,d=N.readdirSync(e,{withFileTypes:!0}),m=[],D=V(e,r),P=(o?D.filter(o):D).sort(a);for(const f of P)m.push({title:f.title,slug:f.slug,file:f.path});if(i<l){const f=d.filter(c=>c.isDirectory());for(const c of f){if(u){const s=x.join(e,c.name);if(!u(c.name,s))continue}const g=x.join(e,c.name),h=L(g,t,i+1);if(h.length>0){const s=q(g,r);m.push({title:(s==null?void 0:s.title)||v(c.name),slug:F(c.name),file:s==null?void 0:s.path,children:h.filter(p=>!(s&&p.file===s.path))})}}}return m.sort((f,c)=>{var E,M;const g=P.find(y=>y.slug===f.slug),h=P.find(y=>y.slug===c.slug);if(g&&h)return a(g,h);const s=!!f.file&&!((E=f.children)!=null&&E.length),p=!!c.file&&!((M=c.children)!=null&&M.length);return s!==p?s?-1:1:(f.title||"").localeCompare(c.title||"")})}function V(e,t){try{const i=N.readdirSync(e,{withFileTypes:!0}),r=[];for(const o of i){if(!o.isFile())continue;const a=t.find(m=>o.name.toLowerCase().endsWith(m));if(!a||o.name.slice(0,-a.length).toLowerCase()==="index")continue;const u=x.join(e,o.name),d=k(u,o.name,a);r.push(d)}return r}catch{return[]}}function k(e,t,i){let r={},o=v(t),a=1/0;try{const l=N.readFileSync(e,"utf-8");r=n.extractFrontmatterData(l),r.title&&typeof r.title=="string"&&(o=r.title),typeof r.order=="number"&&(a=r.order)}catch{}return{path:e,filename:t,extension:i,frontmatter:r,order:a,title:o,slug:F(t)}}function q(e,t){for(const i of t){const r=x.join(e,`index${i}`);try{if(N.statSync(r).isFile())return k(r,`index${i}`,i)}catch{}}}class b extends Error{constructor(i,r,o,a){super(i);S(this,"nodePath");S(this,"filePath");S(this,"originalError");this.name="ManifestResolutionError",this.nodePath=r,this.filePath=o,this.originalError=a}}function U(e,t={}){const{strict:i=!0}=t,r=w(e.navigation,"",i);return{id:e.id,name:e.name,version:e.version,vendureVersion:e.vendureVersion,navigation:r,search:e.search,github:e.github,basePath:e.basePath}}function w(e,t,i){return e.map((r,o)=>G(r,t,o,i))}function G(e,t,i,r){const o=t?`${t}[${i}]`:`navigation[${i}]`;if(e.title&&e.slug)return{title:e.title,slug:e.slug,file:e.file,children:e.children?w(e.children,`${o}.children`,r):void 0,badge:e.badge};let a=e.title,l=e.slug;if(e.file&&(l||(l=F(e.file)),a||(a=H(e.file,o,r))),!a){if(r)throw new b(`Navigation node at ${o} is missing title and has no file to derive it from`,o,e.file);a=l||`Unknown (${i})`}if(!l){if(r)throw new b(`Navigation node at ${o} is missing slug and has no file to derive it from`,o,e.file);l=a?F(a):`node-${i}`}return{title:a,slug:l,file:e.file,children:e.children?w(e.children,`${o}.children`,r):void 0,badge:e.badge}}function H(e,t,i){try{const r=N.readFileSync(e,"utf-8"),o=n.extractFrontmatterData(r);return o.title&&typeof o.title=="string"?o.title:v(e)}catch(r){if(i)throw new b(`Failed to read file for title derivation at ${t}: ${e}`,t,e,r);return v(e)}}function O(e){return W(e.navigation)}function W(e){for(const t of e)if(!t.title||!t.slug||t.children&&W(t.children))return!0;return!1}exports.BreadcrumbItemSchema=n.BreadcrumbItemSchema;exports.DocPageMetaSchema=n.DocPageMetaSchema;exports.DocPageSchema=n.DocPageSchema;exports.DocsPackageManifestInputSchema=n.DocsPackageManifestInputSchema;exports.DocsPackageManifestSchema=n.DocsPackageManifestSchema;exports.FlatNavigationNodeSchema=n.FlatNavigationNodeSchema;exports.FrontmatterParseError=n.FrontmatterParseError;exports.GitHubConfigSchema=n.GitHubConfigSchema;exports.LoadedDocsPackageSchema=n.LoadedDocsPackageSchema;exports.ManifestValidationError=n.ManifestValidationError;exports.NavigationNodeInputSchema=n.NavigationNodeInputSchema;exports.NavigationNodeSchema=n.NavigationNodeSchema;exports.SearchConfigSchema=n.SearchConfigSchema;exports.VendureVersionSchema=n.VendureVersionSchema;exports.buildBreadcrumbs=n.buildBreadcrumbs;exports.extractFrontmatterData=n.extractFrontmatterData;exports.findNavigationNode=n.findNavigationNode;exports.flattenNavigation=n.flattenNavigation;exports.getLeafNodes=n.getLeafNodes;exports.getNodesAtDepth=n.getNodesAtDepth;exports.getPrevNextNodes=n.getPrevNextNodes;exports.hasFrontmatter=n.hasFrontmatter;exports.isNodeActive=n.isNodeActive;exports.parseFrontmatter=n.parseFrontmatter;exports.validateFrontmatter=n.validateFrontmatter;exports.validateManifest=n.validateManifest;exports.ManifestResolutionError=b;exports.createNavigationFromFolder=B;exports.createNestedNavigationFromFolder=T;exports.getAllFilePaths=j;exports.manifestNeedsResolution=O;exports.resolveManifest=U;exports.slugFromFilename=F;exports.titleFromFilename=v;exports.toSlug=C;
1
+ "use strict";var L=Object.defineProperty;var R=(e,t,r)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var S=(e,t,r)=>R(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./manifest-D8kEDc9X.cjs"),g=require("./frontmatter-_wRoVeyd.cjs"),l=require("./slug-utils-DUQgikEz.cjs"),N=require("fs"),y=require("path"),I=(e,t)=>e.order!==t.order?e.order-t.order:e.title.localeCompare(t.title);function j(e,t={}){const{extensions:r=[".mdx",".md"],filter:i,sort:o=I}=t,n=C(e,r);return(i?n.filter(i):n).sort(o).map(m=>({title:m.title,slug:m.slug,file:m.path}))}function q(e,t={}){return V(e,t,0)}function V(e,t,r){const{extensions:i=[".mdx",".md"],filter:o,sort:n=I,maxDepth:c=1/0,folderFilter:u}=t,m=N.readdirSync(e,{withFileTypes:!0}),h=[],$=C(e,i),D=(o?$.filter(o):$).sort(n);for(const f of D)h.push({title:f.title,slug:f.slug,file:f.path});if(r<c){const f=m.filter(d=>d.isDirectory());for(const d of f){if(u){const s=y.join(e,d.name);if(!u(d.name,s))continue}const F=y.join(e,d.name),v=V(F,t,r+1);if(v.length>0){const s=B(F,i);h.push({title:(s==null?void 0:s.title)||l.titleFromFilename(d.name),slug:l.slugFromFilename(d.name),file:s==null?void 0:s.path,children:v.filter(P=>!(s&&P.file===s.path))})}}}return h.sort((f,d)=>{var E,w;const F=D.find(M=>M.slug===f.slug),v=D.find(M=>M.slug===d.slug);if(F&&v)return n(F,v);const s=!!f.file&&!((E=f.children)!=null&&E.length),P=!!d.file&&!((w=d.children)!=null&&w.length);return s!==P?s?-1:1:(f.title||"").localeCompare(d.title||"")})}function C(e,t){try{const r=N.readdirSync(e,{withFileTypes:!0}),i=[];for(const o of r){if(!o.isFile())continue;const n=t.find(h=>o.name.toLowerCase().endsWith(h));if(!n||o.name.slice(0,-n.length).toLowerCase()==="index")continue;const u=y.join(e,o.name),m=k(u,o.name,n);i.push(m)}return i}catch{return[]}}function k(e,t,r){let i={},o=l.titleFromFilename(t),n=1/0;try{const c=N.readFileSync(e,"utf-8");i=g.extractFrontmatterData(c),i.title&&typeof i.title=="string"&&(o=i.title),typeof i.order=="number"&&(n=i.order)}catch{}return{path:e,filename:t,extension:r,frontmatter:i,order:n,title:o,slug:l.slugFromFilename(t)}}function B(e,t){for(const r of t){const i=y.join(e,`index${r}`);try{if(N.statSync(i).isFile())return k(i,`index${r}`,r)}catch{}}}class b extends Error{constructor(r,i,o,n){super(r);S(this,"nodePath");S(this,"filePath");S(this,"originalError");this.name="ManifestResolutionError",this.nodePath=i,this.filePath=o,this.originalError=n}}function T(e,t={}){const{strict:r=!0}=t,i=x(e.navigation,"",r);return{id:e.id,name:e.name,version:e.version,vendureVersion:e.vendureVersion,navigation:i,search:e.search,github:e.github,basePath:e.basePath}}function x(e,t,r){return e.map((i,o)=>U(i,t,o,r))}function U(e,t,r,i){const o=t?`${t}[${r}]`:`navigation[${r}]`;if(e.title&&e.slug)return{title:e.title,slug:e.slug,file:e.file,children:e.children?x(e.children,`${o}.children`,i):void 0,badge:e.badge,hidden:e.hidden};let n=e.title,c=e.slug;if(e.file&&(c||(c=l.slugFromFilename(e.file)),n||(n=W(e.file,o,i))),!n){if(i)throw new b(`Navigation node at ${o} is missing title and has no file to derive it from`,o,e.file);n=c||`Unknown (${r})`}if(!c){if(i)throw new b(`Navigation node at ${o} is missing slug and has no file to derive it from`,o,e.file);c=n?l.slugFromFilename(n):`node-${r}`}return{title:n,slug:c,file:e.file,children:e.children?x(e.children,`${o}.children`,i):void 0,badge:e.badge,hidden:e.hidden}}function W(e,t,r){try{const i=N.readFileSync(e,"utf-8"),o=g.extractFrontmatterData(i);return o.title&&typeof o.title=="string"?o.title:l.titleFromFilename(e)}catch(i){if(r)throw new b(`Failed to read file for title derivation at ${t}: ${e}`,t,e,i);return l.titleFromFilename(e)}}function G(e){return A(e.navigation)}function A(e){for(const t of e)if(!t.title||!t.slug||t.children&&A(t.children))return!0;return!1}exports.BreadcrumbItemSchema=a.BreadcrumbItemSchema;exports.DocPageMetaSchema=a.DocPageMetaSchema;exports.DocPageSchema=a.DocPageSchema;exports.DocsPackageManifestInputSchema=a.DocsPackageManifestInputSchema;exports.DocsPackageManifestSchema=a.DocsPackageManifestSchema;exports.FlatNavigationNodeSchema=a.FlatNavigationNodeSchema;exports.GitHubConfigSchema=a.GitHubConfigSchema;exports.LoadedDocsPackageSchema=a.LoadedDocsPackageSchema;exports.ManifestValidationError=a.ManifestValidationError;exports.NavigationNodeInputSchema=a.NavigationNodeInputSchema;exports.NavigationNodeSchema=a.NavigationNodeSchema;exports.SearchConfigSchema=a.SearchConfigSchema;exports.VendureVersionSchema=a.VendureVersionSchema;exports.buildBreadcrumbs=a.buildBreadcrumbs;exports.findNavigationNode=a.findNavigationNode;exports.flattenNavigation=a.flattenNavigation;exports.getLeafNodes=a.getLeafNodes;exports.getNodesAtDepth=a.getNodesAtDepth;exports.getPrevNextNodes=a.getPrevNextNodes;exports.isNodeActive=a.isNodeActive;exports.validateManifest=a.validateManifest;exports.FrontmatterParseError=g.FrontmatterParseError;exports.extractFrontmatterData=g.extractFrontmatterData;exports.hasFrontmatter=g.hasFrontmatter;exports.parseFrontmatter=g.parseFrontmatter;exports.validateFrontmatter=g.validateFrontmatter;exports.filterVisibleNavigation=l.filterVisibleNavigation;exports.getAllFilePaths=l.getAllFilePaths;exports.slugFromFilename=l.slugFromFilename;exports.titleFromFilename=l.titleFromFilename;exports.toSlug=l.toSlug;exports.ManifestResolutionError=b;exports.createNavigationFromFolder=j;exports.createNestedNavigationFromFolder=q;exports.manifestNeedsResolution=G;exports.resolveManifest=T;
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export { BreadcrumbItemSchema, DocPageMetaSchema, DocPageSchema, DocsPackageMani
3
3
  export { FrontmatterParseError, extractFrontmatterData, hasFrontmatter, parseFrontmatter, validateFrontmatter, } from './frontmatter';
4
4
  export type { ParsedFrontmatter } from './frontmatter';
5
5
  export { ManifestValidationError, buildBreadcrumbs, findNavigationNode, flattenNavigation, getLeafNodes, getNodesAtDepth, getPrevNextNodes, isNodeActive, validateManifest, } from './manifest';
6
- export { getAllFilePaths } from './navigation-utils';
6
+ export { filterVisibleNavigation, getAllFilePaths } from './navigation-utils';
7
7
  export type { CustomFieldPropertyProps, GenerationInfoProps, GraphQLDocProps, LinkCardProps, MdxComponentProps, MemberDescriptionProps, MemberInfoProps, StackblitzProps, } from './mdx-components';
8
8
  export { slugFromFilename, titleFromFilename, toSlug } from './slug-utils';
9
9
  export { createNavigationFromFolder, createNestedNavigationFromFolder } from './folder-utils';
@@ -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,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,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,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1E,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AAC7F,YAAY,EACV,iCAAiC,EACjC,uCAAuC,EACvC,QAAQ,GACT,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,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,wBAAwB,EACxB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,cAAc,GACf,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,8BAA8B,EAC9B,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,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,uBAAuB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAG7E,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1E,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAA;AAC7F,YAAY,EACV,iCAAiC,EACjC,uCAAuC,EACvC,QAAQ,GACT,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -1,245 +1,233 @@
1
- var R = Object.defineProperty;
2
- var A = (e, t, r) => t in e ? R(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
- var g = (e, t, r) => A(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { e as P } from "./manifest-CVIfw0ha.js";
5
- import { B as te, D as ie, a as re, b as ne, c as oe, F as se, f as ae, G as le, L as ce, M as fe, N as de, d as ue, S as me, V as he, g as ge, i as ve, j as Fe, k as Ne, l as xe, m as pe, h as Se, n as we, p as be, v as ye, o as $e } from "./manifest-CVIfw0ha.js";
6
- import { readdirSync as C, readFileSync as D, statSync as B } from "fs";
7
- import { join as v } from "path";
8
- function K(e) {
9
- const t = [];
10
- return M(e.navigation, t), t;
11
- }
12
- function M(e, t) {
13
- for (const r of e)
14
- r.file && t.push(r.file), r.children && M(r.children, t);
15
- }
16
- function T(e) {
17
- return e.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-").replace(/^-|-$/g, "");
18
- }
19
- function F(e) {
20
- const i = (e.split("/").pop() || e).replace(/\.(mdx?|md)$/i, "").replace(/^\d+-/, "");
21
- return T(i);
22
- }
23
- function N(e) {
24
- return (e.split("/").pop() || e).replace(/\.(mdx?|md)$/i, "").replace(/^\d+-/, "").replace(/[-_]+/g, " ").toLowerCase().replace(/\b\w/g, (n) => n.toUpperCase()).trim();
25
- }
26
- const I = (e, t) => e.order !== t.order ? e.order - t.order : e.title.localeCompare(t.title);
27
- function O(e, t = {}) {
28
- const { extensions: r = [".mdx", ".md"], filter: i, sort: n = I } = t, o = W(e, r);
29
- return (i ? o.filter(i) : o).sort(n).map((f) => ({
1
+ var A = Object.defineProperty;
2
+ var B = (e, t, i) => t in e ? A(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
+ var m = (e, t, i) => B(e, typeof t != "symbol" ? t + "" : t, i);
4
+ import { B as _, D as ee, a as te, b as re, c as ie, F as oe, G as ne, L as se, M as ae, N as le, d as ce, S as fe, V as de, e as he, f as ue, g as ge, h as me, i as ve, j as Fe, k as Ne, v as Se } from "./manifest-B_cvT6F9.js";
5
+ import { e as M } from "./frontmatter-8Bwpoi8r.js";
6
+ import { F as xe, h as be, p as $e, v as we } from "./frontmatter-8Bwpoi8r.js";
7
+ import { s as v, t as F } from "./slug-utils-DVKYe9h8.js";
8
+ import { f as Ee, g as Me, a as Ie } from "./slug-utils-DVKYe9h8.js";
9
+ import { readdirSync as I, readFileSync as P, statSync as T } from "fs";
10
+ import { join as N } from "path";
11
+ const V = (e, t) => e.order !== t.order ? e.order - t.order : e.title.localeCompare(t.title);
12
+ function K(e, t = {}) {
13
+ const { extensions: i = [".mdx", ".md"], filter: r, sort: o = V } = t, n = k(e, i);
14
+ return (r ? n.filter(r) : n).sort(o).map((f) => ({
30
15
  title: f.title,
31
16
  slug: f.slug,
32
17
  file: f.path
33
18
  }));
34
19
  }
35
- function Q(e, t = {}) {
36
- return L(e, t, 0);
20
+ function O(e, t = {}) {
21
+ return C(e, t, 0);
37
22
  }
38
- function L(e, t, r) {
23
+ function C(e, t, i) {
39
24
  const {
40
- extensions: i = [".mdx", ".md"],
41
- filter: n,
42
- sort: o = I,
25
+ extensions: r = [".mdx", ".md"],
26
+ filter: o,
27
+ sort: n = V,
43
28
  maxDepth: a = 1 / 0,
44
29
  folderFilter: d
45
- } = t, f = C(e, { withFileTypes: !0 }), u = [], y = W(e, i), x = (n ? y.filter(n) : y).sort(o);
46
- for (const c of x)
47
- u.push({
30
+ } = t, f = I(e, { withFileTypes: !0 }), h = [], w = k(e, r), S = (o ? w.filter(o) : w).sort(n);
31
+ for (const c of S)
32
+ h.push({
48
33
  title: c.title,
49
34
  slug: c.slug,
50
35
  file: c.path
51
36
  });
52
- if (r < a) {
37
+ if (i < a) {
53
38
  const c = f.filter((l) => l.isDirectory());
54
39
  for (const l of c) {
55
40
  if (d) {
56
- const s = v(e, l.name);
41
+ const s = N(e, l.name);
57
42
  if (!d(l.name, s))
58
43
  continue;
59
44
  }
60
- const m = v(e, l.name), h = L(m, t, r + 1);
61
- if (h.length > 0) {
62
- const s = U(m, i);
63
- u.push({
64
- title: (s == null ? void 0 : s.title) || N(l.name),
65
- slug: F(l.name),
45
+ const u = N(e, l.name), g = C(u, t, i + 1);
46
+ if (g.length > 0) {
47
+ const s = W(u, r);
48
+ h.push({
49
+ title: (s == null ? void 0 : s.title) || F(l.name),
50
+ slug: v(l.name),
66
51
  file: s == null ? void 0 : s.path,
67
- children: h.filter((p) => !(s && p.file === s.path))
52
+ children: g.filter((y) => !(s && y.file === s.path))
68
53
  });
69
54
  }
70
55
  }
71
56
  }
72
- return u.sort((c, l) => {
73
- var $, E;
74
- const m = x.find((S) => S.slug === c.slug), h = x.find((S) => S.slug === l.slug);
75
- if (m && h)
76
- return o(m, h);
77
- const s = !!c.file && !(($ = c.children) != null && $.length), p = !!l.file && !((E = l.children) != null && E.length);
78
- return s !== p ? s ? -1 : 1 : (c.title || "").localeCompare(l.title || "");
57
+ return h.sort((c, l) => {
58
+ var D, E;
59
+ const u = S.find((x) => x.slug === c.slug), g = S.find((x) => x.slug === l.slug);
60
+ if (u && g)
61
+ return n(u, g);
62
+ const s = !!c.file && !((D = c.children) != null && D.length), y = !!l.file && !((E = l.children) != null && E.length);
63
+ return s !== y ? s ? -1 : 1 : (c.title || "").localeCompare(l.title || "");
79
64
  });
80
65
  }
81
- function W(e, t) {
66
+ function k(e, t) {
82
67
  try {
83
- const r = C(e, { withFileTypes: !0 }), i = [];
84
- for (const n of r) {
85
- if (!n.isFile()) continue;
86
- const o = t.find((u) => n.name.toLowerCase().endsWith(u));
87
- if (!o || n.name.slice(0, -o.length).toLowerCase() === "index") continue;
88
- const d = v(e, n.name), f = V(d, n.name, o);
89
- i.push(f);
68
+ const i = I(e, { withFileTypes: !0 }), r = [];
69
+ for (const o of i) {
70
+ if (!o.isFile()) continue;
71
+ const n = t.find((h) => o.name.toLowerCase().endsWith(h));
72
+ if (!n || o.name.slice(0, -n.length).toLowerCase() === "index") continue;
73
+ const d = N(e, o.name), f = L(d, o.name, n);
74
+ r.push(f);
90
75
  }
91
- return i;
76
+ return r;
92
77
  } catch {
93
78
  return [];
94
79
  }
95
80
  }
96
- function V(e, t, r) {
97
- let i = {}, n = N(t), o = 1 / 0;
81
+ function L(e, t, i) {
82
+ let r = {}, o = F(t), n = 1 / 0;
98
83
  try {
99
- const a = D(e, "utf-8");
100
- i = P(a), i.title && typeof i.title == "string" && (n = i.title), typeof i.order == "number" && (o = i.order);
84
+ const a = P(e, "utf-8");
85
+ r = M(a), r.title && typeof r.title == "string" && (o = r.title), typeof r.order == "number" && (n = r.order);
101
86
  } catch {
102
87
  }
103
88
  return {
104
89
  path: e,
105
90
  filename: t,
106
- extension: r,
107
- frontmatter: i,
108
- order: o,
109
- title: n,
110
- slug: F(t)
91
+ extension: i,
92
+ frontmatter: r,
93
+ order: n,
94
+ title: o,
95
+ slug: v(t)
111
96
  };
112
97
  }
113
- function U(e, t) {
114
- for (const r of t) {
115
- const i = v(e, `index${r}`);
98
+ function W(e, t) {
99
+ for (const i of t) {
100
+ const r = N(e, `index${i}`);
116
101
  try {
117
- if (B(i).isFile())
118
- return V(i, `index${r}`, r);
102
+ if (T(r).isFile())
103
+ return L(r, `index${i}`, i);
119
104
  } catch {
120
105
  }
121
106
  }
122
107
  }
123
- class w extends Error {
124
- constructor(r, i, n, o) {
125
- super(r);
126
- g(this, "nodePath");
127
- g(this, "filePath");
128
- g(this, "originalError");
129
- this.name = "ManifestResolutionError", this.nodePath = i, this.filePath = n, this.originalError = o;
108
+ class b extends Error {
109
+ constructor(i, r, o, n) {
110
+ super(i);
111
+ m(this, "nodePath");
112
+ m(this, "filePath");
113
+ m(this, "originalError");
114
+ this.name = "ManifestResolutionError", this.nodePath = r, this.filePath = o, this.originalError = n;
130
115
  }
131
116
  }
132
- function X(e, t = {}) {
133
- const { strict: r = !0 } = t, i = b(e.navigation, "", r);
117
+ function Q(e, t = {}) {
118
+ const { strict: i = !0 } = t, r = $(e.navigation, "", i);
134
119
  return {
135
120
  id: e.id,
136
121
  name: e.name,
137
122
  version: e.version,
138
123
  vendureVersion: e.vendureVersion,
139
- navigation: i,
124
+ navigation: r,
140
125
  search: e.search,
141
126
  github: e.github,
142
127
  basePath: e.basePath
143
128
  };
144
129
  }
145
- function b(e, t, r) {
146
- return e.map((i, n) => j(i, t, n, r));
130
+ function $(e, t, i) {
131
+ return e.map((r, o) => j(r, t, o, i));
147
132
  }
148
- function j(e, t, r, i) {
149
- const n = t ? `${t}[${r}]` : `navigation[${r}]`;
133
+ function j(e, t, i, r) {
134
+ const o = t ? `${t}[${i}]` : `navigation[${i}]`;
150
135
  if (e.title && e.slug)
151
136
  return {
152
137
  title: e.title,
153
138
  slug: e.slug,
154
139
  file: e.file,
155
- children: e.children ? b(e.children, `${n}.children`, i) : void 0,
156
- badge: e.badge
140
+ children: e.children ? $(e.children, `${o}.children`, r) : void 0,
141
+ badge: e.badge,
142
+ hidden: e.hidden
157
143
  };
158
- let o = e.title, a = e.slug;
159
- if (e.file && (a || (a = F(e.file)), o || (o = G(e.file, n, i))), !o) {
160
- if (i)
161
- throw new w(
162
- `Navigation node at ${n} is missing title and has no file to derive it from`,
163
- n,
144
+ let n = e.title, a = e.slug;
145
+ if (e.file && (a || (a = v(e.file)), n || (n = p(e.file, o, r))), !n) {
146
+ if (r)
147
+ throw new b(
148
+ `Navigation node at ${o} is missing title and has no file to derive it from`,
149
+ o,
164
150
  e.file
165
151
  );
166
- o = a || `Unknown (${r})`;
152
+ n = a || `Unknown (${i})`;
167
153
  }
168
154
  if (!a) {
169
- if (i)
170
- throw new w(
171
- `Navigation node at ${n} is missing slug and has no file to derive it from`,
172
- n,
155
+ if (r)
156
+ throw new b(
157
+ `Navigation node at ${o} is missing slug and has no file to derive it from`,
158
+ o,
173
159
  e.file
174
160
  );
175
- a = o ? F(o) : `node-${r}`;
161
+ a = n ? v(n) : `node-${i}`;
176
162
  }
177
163
  return {
178
- title: o,
164
+ title: n,
179
165
  slug: a,
180
166
  file: e.file,
181
- children: e.children ? b(e.children, `${n}.children`, i) : void 0,
182
- badge: e.badge
167
+ children: e.children ? $(e.children, `${o}.children`, r) : void 0,
168
+ badge: e.badge,
169
+ hidden: e.hidden
183
170
  };
184
171
  }
185
- function G(e, t, r) {
172
+ function p(e, t, i) {
186
173
  try {
187
- const i = D(e, "utf-8"), n = P(i);
188
- return n.title && typeof n.title == "string" ? n.title : N(e);
189
- } catch (i) {
190
- if (r)
191
- throw new w(
174
+ const r = P(e, "utf-8"), o = M(r);
175
+ return o.title && typeof o.title == "string" ? o.title : F(e);
176
+ } catch (r) {
177
+ if (i)
178
+ throw new b(
192
179
  `Failed to read file for title derivation at ${t}: ${e}`,
193
180
  t,
194
181
  e,
195
- i
182
+ r
196
183
  );
197
- return N(e);
184
+ return F(e);
198
185
  }
199
186
  }
200
- function Y(e) {
201
- return k(e.navigation);
187
+ function X(e) {
188
+ return R(e.navigation);
202
189
  }
203
- function k(e) {
190
+ function R(e) {
204
191
  for (const t of e)
205
- if (!t.title || !t.slug || t.children && k(t.children))
192
+ if (!t.title || !t.slug || t.children && R(t.children))
206
193
  return !0;
207
194
  return !1;
208
195
  }
209
196
  export {
210
- te as BreadcrumbItemSchema,
211
- ie as DocPageMetaSchema,
212
- re as DocPageSchema,
213
- ne as DocsPackageManifestInputSchema,
214
- oe as DocsPackageManifestSchema,
215
- se as FlatNavigationNodeSchema,
216
- ae as FrontmatterParseError,
217
- le as GitHubConfigSchema,
218
- ce as LoadedDocsPackageSchema,
219
- w as ManifestResolutionError,
220
- fe as ManifestValidationError,
221
- de as NavigationNodeInputSchema,
222
- ue as NavigationNodeSchema,
223
- me as SearchConfigSchema,
224
- he as VendureVersionSchema,
225
- ge as buildBreadcrumbs,
226
- O as createNavigationFromFolder,
227
- Q as createNestedNavigationFromFolder,
228
- P as extractFrontmatterData,
229
- ve as findNavigationNode,
230
- Fe as flattenNavigation,
231
- K as getAllFilePaths,
232
- Ne as getLeafNodes,
233
- xe as getNodesAtDepth,
234
- pe as getPrevNextNodes,
235
- Se as hasFrontmatter,
236
- we as isNodeActive,
237
- Y as manifestNeedsResolution,
238
- be as parseFrontmatter,
239
- X as resolveManifest,
240
- F as slugFromFilename,
241
- N as titleFromFilename,
242
- T as toSlug,
243
- ye as validateFrontmatter,
244
- $e as validateManifest
197
+ _ as BreadcrumbItemSchema,
198
+ ee as DocPageMetaSchema,
199
+ te as DocPageSchema,
200
+ re as DocsPackageManifestInputSchema,
201
+ ie as DocsPackageManifestSchema,
202
+ oe as FlatNavigationNodeSchema,
203
+ xe as FrontmatterParseError,
204
+ ne as GitHubConfigSchema,
205
+ se as LoadedDocsPackageSchema,
206
+ b as ManifestResolutionError,
207
+ ae as ManifestValidationError,
208
+ le as NavigationNodeInputSchema,
209
+ ce as NavigationNodeSchema,
210
+ fe as SearchConfigSchema,
211
+ de as VendureVersionSchema,
212
+ he as buildBreadcrumbs,
213
+ K as createNavigationFromFolder,
214
+ O as createNestedNavigationFromFolder,
215
+ M as extractFrontmatterData,
216
+ Ee as filterVisibleNavigation,
217
+ ue as findNavigationNode,
218
+ ge as flattenNavigation,
219
+ Me as getAllFilePaths,
220
+ me as getLeafNodes,
221
+ ve as getNodesAtDepth,
222
+ Fe as getPrevNextNodes,
223
+ be as hasFrontmatter,
224
+ Ne as isNodeActive,
225
+ X as manifestNeedsResolution,
226
+ $e as parseFrontmatter,
227
+ Q as resolveManifest,
228
+ v as slugFromFilename,
229
+ F as titleFromFilename,
230
+ Ie as toSlug,
231
+ we as validateFrontmatter,
232
+ Se as validateManifest
245
233
  };