@vendure-io/docs-provider 0.9.0 → 0.10.1

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/browser.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./manifest-BkO3d77g.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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./manifest-BTgLk3DA.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;
package/dist/browser.js CHANGED
@@ -1,4 +1,4 @@
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-DlSWyjsA.js";
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-DGVvC75a.js";
2
2
  import { f as p, g as V, s as k, t as x, a as A } from "./slug-utils-DVKYe9h8.js";
3
3
  export {
4
4
  s as BreadcrumbItemSchema,
@@ -1,3 +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-BkO3d77g.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(`
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-BTgLk3DA.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
2
  `);throw new o(`Invalid frontmatter${t?` in ${t}`:""}:
3
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;
@@ -2,7 +2,7 @@ var c = Object.defineProperty;
2
2
  var m = (a, t, r) => t in a ? c(a, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : a[t] = r;
3
3
  var o = (a, t, r) => m(a, typeof t != "symbol" ? t + "" : t, r);
4
4
  import i from "gray-matter";
5
- import { D as u } from "./manifest-DlSWyjsA.js";
5
+ import { D as u } from "./manifest-DGVvC75a.js";
6
6
  class s extends Error {
7
7
  constructor(r, e, n) {
8
8
  super(r);
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var _=Object.defineProperty;var z=(e,t,r)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var y=(e,t,r)=>z(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./manifest-BkO3d77g.cjs"),F=require("./frontmatter-QFErVd9b.cjs"),u=require("./slug-utils-DUQgikEz.cjs"),w=require("fs"),S=require("path"),U=require("node:child_process"),H=require("node:util"),k=require("node:fs/promises"),x=require("node:path"),V=(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:n=V}=t,a=R(e,r);return(i?a.filter(i):a).sort(n).map(c=>({title:c.title,slug:c.slug,file:c.path}))}function K(e,t={}){return W(e,t,0)}function W(e,t,r){const{extensions:i=[".mdx",".md"],filter:n,sort:a=V,maxDepth:o=1/0,folderFilter:l}=t,c=w.readdirSync(e,{withFileTypes:!0}),d=[],m=R(e,i),p=(n?m.filter(n):m).sort(a);for(const h of p)d.push({title:h.title,slug:h.slug,file:h.path});if(r<o){const h=c.filter(g=>g.isDirectory());for(const g of h){if(l){const f=S.join(e,g.name);if(!l(g.name,f))continue}const v=S.join(e,g.name),N=W(v,t,r+1);if(N.length>0){const f=Q(v,i);d.push({title:(f==null?void 0:f.title)||u.titleFromFilename(g.name),slug:u.slugFromFilename(g.name),file:f==null?void 0:f.path,children:N.filter(b=>!(f&&b.file===f.path))})}}}return d.sort((h,g)=>{var j,C;const v=p.find(P=>P.slug===h.slug),N=p.find(P=>P.slug===g.slug);if(v&&N)return a(v,N);const f=!!h.file&&!((j=h.children)!=null&&j.length),b=!!g.file&&!((C=g.children)!=null&&C.length);return f!==b?f?-1:1:(h.title||"").localeCompare(g.title||"")})}function R(e,t){try{const r=w.readdirSync(e,{withFileTypes:!0}),i=[];for(const n of r){if(!n.isFile())continue;const a=t.find(d=>n.name.toLowerCase().endsWith(d));if(!a||n.name.slice(0,-a.length).toLowerCase()==="index")continue;const l=S.join(e,n.name),c=q(l,n.name,a);i.push(c)}return i}catch{return[]}}function q(e,t,r){let i={},n=u.titleFromFilename(t),a=1/0;try{const o=w.readFileSync(e,"utf-8");i=F.extractFrontmatterData(o),i.title&&typeof i.title=="string"&&(n=i.title),typeof i.order=="number"&&(a=i.order)}catch{}return{path:e,filename:t,extension:r,frontmatter:i,order:a,title:n,slug:u.slugFromFilename(t)}}function Q(e,t){for(const r of t){const i=S.join(e,`index${r}`);try{if(w.statSync(i).isFile())return q(i,`index${r}`,r)}catch{}}}class D extends Error{constructor(r,i,n,a){super(r);y(this,"nodePath");y(this,"filePath");y(this,"originalError");this.name="ManifestResolutionError",this.nodePath=i,this.filePath=n,this.originalError=a}}function X(e,t={}){const{strict:r=!0}=t,i=M(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 M(e,t,r){return e.map((i,n)=>Y(i,t,n,r))}function Y(e,t,r,i){const n=t?`${t}[${r}]`:`navigation[${r}]`;if(e.title&&e.slug)return{title:e.title,slug:e.slug,file:e.file,children:e.children?M(e.children,`${n}.children`,i):void 0,badge:e.badge,hidden:e.hidden};let a=e.title,o=e.slug;if(e.file&&(o||(o=u.slugFromFilename(e.file)),a||(a=Z(e.file,n,i))),!a){if(i)throw new D(`Navigation node at ${n} is missing title and has no file to derive it from`,n,e.file);a=o||`Unknown (${r})`}if(!o){if(i)throw new D(`Navigation node at ${n} is missing slug and has no file to derive it from`,n,e.file);o=a?u.slugFromFilename(a):`node-${r}`}return{title:a,slug:o,file:e.file,children:e.children?M(e.children,`${n}.children`,i):void 0,badge:e.badge,hidden:e.hidden}}function Z(e,t,r){try{const i=w.readFileSync(e,"utf-8"),n=F.extractFrontmatterData(i);return n.title&&typeof n.title=="string"?n.title:u.titleFromFilename(e)}catch(i){if(r)throw new D(`Failed to read file for title derivation at ${t}: ${e}`,t,e,i);return u.titleFromFilename(e)}}function ee(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}const B=H.promisify(U.exec);async function I(e=process.cwd()){try{return await B("git rev-parse --git-dir",{cwd:e}),!0}catch{return!1}}async function T(e,t={}){const r=t.cwd??process.cwd();try{const{stdout:i}=await B(`git log -1 --format=%cI -- "${e}"`,{cwd:r}),n=i.trim();return n||null}catch{return null}}async function O(e,t={}){const r=t.cwd??process.cwd(),i={},n=[];return await I(r)?(await Promise.all(e.map(async a=>{const o=await T(a,t);o?i[a]=o:n.push(a)})),{dates:i,skipped:n}):{dates:{},skipped:e}}async function te(e,t){const r=[];async function i(n){const a=await k.readdir(n,{withFileTypes:!0});for(const o of a){const l=x.join(n,o.name);o.isDirectory()?!o.name.startsWith(".")&&o.name!=="node_modules"&&await i(l):o.isFile()&&t.some(d=>o.name.endsWith(d))&&r.push(l)}}return await i(e),r}async function ie(e){const{docsDir:t,outputPath:r,extensions:i=[".mdx",".md"]}=e,n=e.gitCwd??x.join(t,"..");if(!await I(n))return console.warn("Warning: Not a git repository. Generating empty dates file."),await G(r),{filesWithDates:0,filesSkipped:0,outputPath:r};const a=await te(t,i);if(a.length===0)return console.warn(`Warning: No files found in ${t} with extensions ${i.join(", ")}`),await G(r),{filesWithDates:0,filesSkipped:0,outputPath:r};const o=a.map(m=>x.relative(n,m)),{dates:l,skipped:c}=await O(o,{cwd:n}),d=ne(l);return await k.writeFile(r,d,"utf-8"),{filesWithDates:Object.keys(l).length,filesSkipped:c.length,outputPath:r}}async function G(e){const t=`// dates.generated.ts (auto-generated, do not edit)
1
+ "use strict";var _=Object.defineProperty;var z=(e,t,r)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var y=(e,t,r)=>z(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./manifest-BTgLk3DA.cjs"),F=require("./frontmatter-DJJguSGP.cjs"),u=require("./slug-utils-DUQgikEz.cjs"),w=require("fs"),S=require("path"),U=require("node:child_process"),H=require("node:util"),k=require("node:fs/promises"),x=require("node:path"),V=(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:n=V}=t,a=R(e,r);return(i?a.filter(i):a).sort(n).map(c=>({title:c.title,slug:c.slug,file:c.path}))}function K(e,t={}){return W(e,t,0)}function W(e,t,r){const{extensions:i=[".mdx",".md"],filter:n,sort:a=V,maxDepth:o=1/0,folderFilter:l}=t,c=w.readdirSync(e,{withFileTypes:!0}),d=[],m=R(e,i),p=(n?m.filter(n):m).sort(a);for(const h of p)d.push({title:h.title,slug:h.slug,file:h.path});if(r<o){const h=c.filter(g=>g.isDirectory());for(const g of h){if(l){const f=S.join(e,g.name);if(!l(g.name,f))continue}const v=S.join(e,g.name),N=W(v,t,r+1);if(N.length>0){const f=Q(v,i);d.push({title:(f==null?void 0:f.title)||u.titleFromFilename(g.name),slug:u.slugFromFilename(g.name),file:f==null?void 0:f.path,children:N.filter(b=>!(f&&b.file===f.path))})}}}return d.sort((h,g)=>{var j,C;const v=p.find(P=>P.slug===h.slug),N=p.find(P=>P.slug===g.slug);if(v&&N)return a(v,N);const f=!!h.file&&!((j=h.children)!=null&&j.length),b=!!g.file&&!((C=g.children)!=null&&C.length);return f!==b?f?-1:1:(h.title||"").localeCompare(g.title||"")})}function R(e,t){try{const r=w.readdirSync(e,{withFileTypes:!0}),i=[];for(const n of r){if(!n.isFile())continue;const a=t.find(d=>n.name.toLowerCase().endsWith(d));if(!a||n.name.slice(0,-a.length).toLowerCase()==="index")continue;const l=S.join(e,n.name),c=q(l,n.name,a);i.push(c)}return i}catch{return[]}}function q(e,t,r){let i={},n=u.titleFromFilename(t),a=1/0;try{const o=w.readFileSync(e,"utf-8");i=F.extractFrontmatterData(o),i.title&&typeof i.title=="string"&&(n=i.title),typeof i.order=="number"&&(a=i.order)}catch{}return{path:e,filename:t,extension:r,frontmatter:i,order:a,title:n,slug:u.slugFromFilename(t)}}function Q(e,t){for(const r of t){const i=S.join(e,`index${r}`);try{if(w.statSync(i).isFile())return q(i,`index${r}`,r)}catch{}}}class D extends Error{constructor(r,i,n,a){super(r);y(this,"nodePath");y(this,"filePath");y(this,"originalError");this.name="ManifestResolutionError",this.nodePath=i,this.filePath=n,this.originalError=a}}function X(e,t={}){const{strict:r=!0}=t,i=M(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 M(e,t,r){return e.map((i,n)=>Y(i,t,n,r))}function Y(e,t,r,i){const n=t?`${t}[${r}]`:`navigation[${r}]`;if(e.title&&e.slug)return{title:e.title,slug:e.slug,file:e.file,children:e.children?M(e.children,`${n}.children`,i):void 0,badge:e.badge,hidden:e.hidden};let a=e.title,o=e.slug;if(e.file&&(o||(o=u.slugFromFilename(e.file)),a||(a=Z(e.file,n,i))),!a){if(i)throw new D(`Navigation node at ${n} is missing title and has no file to derive it from`,n,e.file);a=o||`Unknown (${r})`}if(!o){if(i)throw new D(`Navigation node at ${n} is missing slug and has no file to derive it from`,n,e.file);o=a?u.slugFromFilename(a):`node-${r}`}return{title:a,slug:o,file:e.file,children:e.children?M(e.children,`${n}.children`,i):void 0,badge:e.badge,hidden:e.hidden}}function Z(e,t,r){try{const i=w.readFileSync(e,"utf-8"),n=F.extractFrontmatterData(i);return n.title&&typeof n.title=="string"?n.title:u.titleFromFilename(e)}catch(i){if(r)throw new D(`Failed to read file for title derivation at ${t}: ${e}`,t,e,i);return u.titleFromFilename(e)}}function ee(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}const B=H.promisify(U.exec);async function I(e=process.cwd()){try{return await B("git rev-parse --git-dir",{cwd:e}),!0}catch{return!1}}async function T(e,t={}){const r=t.cwd??process.cwd();try{const{stdout:i}=await B(`git log -1 --format=%cI -- "${e}"`,{cwd:r}),n=i.trim();return n||null}catch{return null}}async function O(e,t={}){const r=t.cwd??process.cwd(),i={},n=[];return await I(r)?(await Promise.all(e.map(async a=>{const o=await T(a,t);o?i[a]=o:n.push(a)})),{dates:i,skipped:n}):{dates:{},skipped:e}}async function te(e,t){const r=[];async function i(n){const a=await k.readdir(n,{withFileTypes:!0});for(const o of a){const l=x.join(n,o.name);o.isDirectory()?!o.name.startsWith(".")&&o.name!=="node_modules"&&await i(l):o.isFile()&&t.some(d=>o.name.endsWith(d))&&r.push(l)}}return await i(e),r}async function ie(e){const{docsDir:t,outputPath:r,extensions:i=[".mdx",".md"]}=e,n=e.gitCwd??x.join(t,"..");if(!await I(n))return console.warn("Warning: Not a git repository. Generating empty dates file."),await G(r),{filesWithDates:0,filesSkipped:0,outputPath:r};const a=await te(t,i);if(a.length===0)return console.warn(`Warning: No files found in ${t} with extensions ${i.join(", ")}`),await G(r),{filesWithDates:0,filesSkipped:0,outputPath:r};const o=a.map(m=>x.relative(n,m)),{dates:l,skipped:c}=await O(o,{cwd:n}),d=ne(l);return await k.writeFile(r,d,"utf-8"),{filesWithDates:Object.keys(l).length,filesSkipped:c.length,outputPath:r}}async function G(e){const t=`// dates.generated.ts (auto-generated, do not edit)
2
2
  // Generated at: ${new Date().toISOString()}
3
3
  // Warning: Git repository not available, no dates extracted
4
4
 
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  var A = Object.defineProperty;
2
2
  var U = (e, t, r) => t in e ? A(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var v = (e, t, r) => U(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { B as ye, D as Ne, a as Se, b as $e, c as xe, F as be, G as De, L as Pe, M as Me, N as ke, d as Ee, S as Ie, V as We, e as je, f as Ce, g as Ge, h as Le, i as Ve, j as Re, k as Te, v as Be } from "./manifest-DlSWyjsA.js";
5
- import { e as I } from "./frontmatter-B5d9WZzh.js";
6
- import { F as ze, h as Ae, p as Ue, v as He } from "./frontmatter-B5d9WZzh.js";
4
+ import { B as ye, D as Ne, a as Se, b as $e, c as xe, F as be, G as De, L as Pe, M as Me, N as ke, d as Ee, S as Ie, V as We, e as je, f as Ce, g as Ge, h as Le, i as Ve, j as Re, k as Te, v as Be } from "./manifest-DGVvC75a.js";
5
+ import { e as I } from "./frontmatter-Dd7D5fcG.js";
6
+ import { F as ze, h as Ae, p as Ue, v as He } from "./frontmatter-Dd7D5fcG.js";
7
7
  import { s as F, t as w } from "./slug-utils-DVKYe9h8.js";
8
8
  import { f as qe, g as Je, a as Ke } from "./slug-utils-DVKYe9h8.js";
9
9
  import { readdirSync as W, readFileSync as j, statSync as H } from "fs";
package/dist/loader.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var f=Object.defineProperty;var g=(e,r,t)=>r in e?f(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var i=(e,r,t)=>g(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("fs/promises"),P=require("module"),m=require("./frontmatter-QFErVd9b.cjs"),p=require("./manifest-BkO3d77g.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 $(e,r={}){try{const t=r.resolver?await r.resolver(e):u(e),n=await import(e);if(!n.manifest)throw new a(`Package "${e}" does not export a manifest`,e);return{manifest:p.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 u(e){try{return P.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 l(e,r){try{const t=`${e.basePath}/${r}`,n=await h.readFile(t,"utf-8"),{meta:o,content:s}=m.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 v(e,r){const t=d(e.manifest.navigation,r.split("/"));if(t!=null&&t.file)return l(e,t.file)}function d(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 d(o.children,n)}}function y(e,r){if(r.file)return`${e.basePath}/${r.file}`}function w(e){try{return u(e),!0}catch{return!1}}exports.DocsPackageLoadError=a;exports.isDocsPackageInstalled=w;exports.loadDocPage=l;exports.loadDocPageBySlug=v;exports.loadDocsPackage=$;exports.resolveFilePath=y;
1
+ "use strict";var f=Object.defineProperty;var g=(e,r,t)=>r in e?f(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var i=(e,r,t)=>g(e,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("fs/promises"),P=require("module"),m=require("./frontmatter-DJJguSGP.cjs"),p=require("./manifest-BTgLk3DA.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 $(e,r={}){try{const t=r.resolver?await r.resolver(e):u(e),n=await import(e);if(!n.manifest)throw new a(`Package "${e}" does not export a manifest`,e);return{manifest:p.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 u(e){try{return P.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 l(e,r){try{const t=`${e.basePath}/${r}`,n=await h.readFile(t,"utf-8"),{meta:o,content:s}=m.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 v(e,r){const t=d(e.manifest.navigation,r.split("/"));if(t!=null&&t.file)return l(e,t.file)}function d(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 d(o.children,n)}}function y(e,r){if(r.file)return`${e.basePath}/${r.file}`}function w(e){try{return u(e),!0}catch{return!1}}exports.DocsPackageLoadError=a;exports.isDocsPackageInstalled=w;exports.loadDocPage=l;exports.loadDocPageBySlug=v;exports.loadDocsPackage=$;exports.resolveFilePath=y;
package/dist/loader.js CHANGED
@@ -3,8 +3,8 @@ var l = (t, e, r) => e in t ? u(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 { p as g } from "./frontmatter-B5d9WZzh.js";
7
- import { v as m } from "./manifest-DlSWyjsA.js";
6
+ import { p as g } from "./frontmatter-Dd7D5fcG.js";
7
+ import { v as m } from "./manifest-DGVvC75a.js";
8
8
  class a extends Error {
9
9
  constructor(r, n) {
10
10
  super(r);
@@ -0,0 +1 @@
1
+ "use strict";var D=Object.defineProperty;var M=(n,t,i)=>t in n?D(n,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[t]=i;var h=(n,t,i)=>M(n,typeof t!="symbol"?t+"":t,i);const e=require("zod"),d=e.z.enum(["v1","v2","v3"]),g=e.z.object({indexFields:e.z.array(e.z.enum(["title","description","content","keywords"])),boosts:e.z.record(e.z.string(),e.z.number()).optional()}),u=e.z.object({repository:e.z.string().regex(/^[^/]+\/[^/]+$/,'Repository must be in format "owner/repo"'),branch:e.z.string().optional(),docsPath:e.z.string().optional()}),l=e.z.lazy(()=>e.z.object({title:e.z.string().min(1,"Navigation title is required"),slug:e.z.string().min(1,"Navigation slug is required"),file:e.z.string().optional(),children:e.z.array(l).optional(),badge:e.z.string().optional(),hidden:e.z.boolean().optional(),lastModified:e.z.string().datetime({offset:!0}).optional()})),f=e.z.object({id:e.z.string().min(1,"Package ID is required"),name:e.z.string().min(1,"Package name is required"),version:e.z.string().regex(/^\d+\.\d+\.\d+/,"Version must be valid semver"),vendureVersion:d,navigation:e.z.array(l),search:g.optional(),github:u.optional(),basePath:e.z.string().optional()}),p=e.z.object({title:e.z.string().min(1,"Page title is required"),metaTitle:e.z.string().optional(),metaDescription:e.z.string().optional(),description:e.z.string().optional(),keywords:e.z.array(e.z.string()).optional(),sidebarLabel:e.z.string().optional(),hidden:e.z.boolean().optional(),order:e.z.number().int().optional(),lastModified:e.z.string().datetime({offset:!0}).optional()}),j=e.z.object({meta:p,content:e.z.string(),filePath:e.z.string()}),k=e.z.object({manifest:f,basePath:e.z.string()}),I=e.z.object({title:e.z.string(),slug:e.z.string(),path:e.z.string()}),V=e.z.object({title:e.z.string(),slug:e.z.string(),file:e.z.string().optional(),children:e.z.array(e.z.lazy(()=>l)).optional(),badge:e.z.string().optional(),hidden:e.z.boolean().optional(),lastModified:e.z.string().datetime({offset:!0}).optional(),path:e.z.string(),depth:e.z.number().int().min(0),parentPath:e.z.string().optional()}),z=e.z.lazy(()=>e.z.object({title:e.z.string().min(1).optional(),slug:e.z.string().min(1).optional(),file:e.z.string().optional(),children:e.z.array(z).optional(),badge:e.z.string().optional(),hidden:e.z.boolean().optional(),lastModified:e.z.string().datetime({offset:!0}).optional()})),x=e.z.object({id:e.z.string().min(1,"Package ID is required"),name:e.z.string().min(1,"Package name is required"),version:e.z.string().regex(/^\d+\.\d+\.\d+/,"Version must be valid semver"),vendureVersion:d,navigation:e.z.array(z),search:g.optional(),github:u.optional(),basePath:e.z.string().optional()});class b extends Error{constructor(i,o){super(i);h(this,"issues");this.name="ManifestValidationError",this.issues=o}}function q(n){const t=f.safeParse(n);if(!t.success){const i=t.error.issues.map(o=>`${o.path.join(".")}: ${o.message}`);throw new b("Invalid manifest",i)}return t.data}function B(n,t){const i=t.split("/").filter(Boolean);return v(n.navigation,i)}function v(n,t){if(t.length===0)return;const[i,...o]=t,a=n.find(r=>r.slug===i);if(a){if(o.length===0)return a;if(a.children)return v(a.children,o)}}function m(n){const t=[];return N(n.navigation,"",0,void 0,t),t}function N(n,t,i,o,a){for(const r of n){const s=t?`${t}/${r.slug}`:r.slug;a.push({...r,path:s,depth:i,parentPath:o}),r.children&&r.children.length>0&&N(r.children,s,i+1,s,a)}}function $(n,t){const i=t.split("/").filter(Boolean),o=[];let a=n.navigation,r="";for(const s of i){const c=a.find(y=>y.slug===s);if(!c)break;r=r?`${r}/${s}`:s,o.push({title:c.title,slug:c.slug,path:r,file:c.file}),a=c.children??[]}return o}function S(n){return m(n).filter(t=>t.file!==void 0)}function w(n,t){const i=S(n),o=i.findIndex(a=>a.path===t);return o===-1?{}:{prev:o>0?i[o-1]:void 0,next:o<i.length-1?i[o+1]:void 0}}function P(n,t){const i=t.split("/").filter(Boolean);if(i.length===0)return!1;if(n.slug===i[0]){if(i.length===1)return!0;if(n.children){const o=i.slice(1).join("/");return n.children.some(a=>P(a,o))}}return!1}function L(n,t){return m(n).filter(i=>i.depth===t)}exports.BreadcrumbItemSchema=I;exports.DocPageMetaSchema=p;exports.DocPageSchema=j;exports.DocsPackageManifestInputSchema=x;exports.DocsPackageManifestSchema=f;exports.FlatNavigationNodeSchema=V;exports.GitHubConfigSchema=u;exports.LoadedDocsPackageSchema=k;exports.ManifestValidationError=b;exports.NavigationNodeInputSchema=z;exports.NavigationNodeSchema=l;exports.SearchConfigSchema=g;exports.VendureVersionSchema=d;exports.buildBreadcrumbs=$;exports.findNavigationNode=B;exports.flattenNavigation=m;exports.getLeafNodes=S;exports.getNodesAtDepth=L;exports.getPrevNextNodes=w;exports.isNodeActive=P;exports.validateManifest=q;
@@ -19,7 +19,7 @@ const g = t.enum(["v1", "v2", "v3"]), u = t.object({
19
19
  hidden: t.boolean().optional(),
20
20
  lastModified: t.string().datetime({ offset: !0 }).optional()
21
21
  })
22
- ), h = t.object({
22
+ ), m = t.object({
23
23
  id: t.string().min(1, "Package ID is required"),
24
24
  name: t.string().min(1, "Package name is required"),
25
25
  version: t.string().regex(/^\d+\.\d+\.\d+/, "Version must be valid semver"),
@@ -30,6 +30,8 @@ const g = t.enum(["v1", "v2", "v3"]), u = t.object({
30
30
  basePath: t.string().optional()
31
31
  }), y = t.object({
32
32
  title: t.string().min(1, "Page title is required"),
33
+ metaTitle: t.string().optional(),
34
+ metaDescription: t.string().optional(),
33
35
  description: t.string().optional(),
34
36
  keywords: t.array(t.string()).optional(),
35
37
  sidebarLabel: t.string().optional(),
@@ -41,7 +43,7 @@ const g = t.enum(["v1", "v2", "v3"]), u = t.object({
41
43
  content: t.string(),
42
44
  filePath: t.string()
43
45
  }), I = t.object({
44
- manifest: h,
46
+ manifest: m,
45
47
  basePath: t.string()
46
48
  }), q = t.object({
47
49
  title: t.string(),
@@ -58,12 +60,12 @@ const g = t.enum(["v1", "v2", "v3"]), u = t.object({
58
60
  path: t.string(),
59
61
  depth: t.number().int().min(0),
60
62
  parentPath: t.string().optional()
61
- }), m = t.lazy(
63
+ }), p = t.lazy(
62
64
  () => t.object({
63
65
  title: t.string().min(1).optional(),
64
66
  slug: t.string().min(1).optional(),
65
67
  file: t.string().optional(),
66
- children: t.array(m).optional(),
68
+ children: t.array(p).optional(),
67
69
  badge: t.string().optional(),
68
70
  hidden: t.boolean().optional(),
69
71
  lastModified: t.string().datetime({ offset: !0 }).optional()
@@ -73,7 +75,7 @@ const g = t.enum(["v1", "v2", "v3"]), u = t.object({
73
75
  name: t.string().min(1, "Package name is required"),
74
76
  version: t.string().regex(/^\d+\.\d+\.\d+/, "Version must be valid semver"),
75
77
  vendureVersion: g,
76
- navigation: t.array(m),
78
+ navigation: t.array(p),
77
79
  search: u.optional(),
78
80
  github: f.optional(),
79
81
  basePath: t.string().optional()
@@ -86,7 +88,7 @@ class j extends Error {
86
88
  }
87
89
  }
88
90
  function w(i) {
89
- const e = h.safeParse(i);
91
+ const e = m.safeParse(i);
90
92
  if (!e.success) {
91
93
  const n = e.error.issues.map((o) => `${o.path.join(".")}: ${o.message}`);
92
94
  throw new j("Invalid manifest", n);
@@ -95,15 +97,15 @@ function w(i) {
95
97
  }
96
98
  function z(i, e) {
97
99
  const n = e.split("/").filter(Boolean);
98
- return p(i.navigation, n);
100
+ return h(i.navigation, n);
99
101
  }
100
- function p(i, e) {
102
+ function h(i, e) {
101
103
  if (e.length === 0) return;
102
104
  const [n, ...o] = e, a = i.find((s) => s.slug === n);
103
105
  if (a) {
104
106
  if (o.length === 0) return a;
105
107
  if (a.children)
106
- return p(a.children, o);
108
+ return h(a.children, o);
107
109
  }
108
110
  }
109
111
  function b(i) {
@@ -168,12 +170,12 @@ export {
168
170
  f as G,
169
171
  I as L,
170
172
  j as M,
171
- m as N,
173
+ p as N,
172
174
  u as S,
173
175
  g as V,
174
176
  V as a,
175
177
  $ as b,
176
- h as c,
178
+ m as c,
177
179
  c as d,
178
180
  L as e,
179
181
  z as f,