@forge42/seo-tools
Version:
Framework agnostic set of helpers designed to help you create, maintain and develop your SEO
2 lines • 1.12 kB
JavaScript
import{g as m}from"../chunk-5ZGWRL5O.mjs";var R=(e,n)=>{let t=n,i=[];for(;t&&(i.push(t.path),!(!t.parentId||!e[t.parentId]));)t=e[t.parentId];let a=i.reverse().filter(Boolean).join("/");return a===""?"/":a},l=e=>Object.values(e).map(n=>({...n,url:R(e,n)})),f=async({domain:e,sitemapData:n,routes:t})=>{let i=t;if(!i){let{routes:r}=await import("virtual:remix/server-build").catch(()=>{throw new Error("Could not find the remix server build. Make sure you have Remix running on Vite and not in SPA mode. Otherwise use the generateSitemap utility.")});i=r}let a=l(i);return(await Promise.all(a.map(async r=>{let u=r.url;if(r.id==="root")return;let o=r.module.handle;if(o&&typeof o=="object"&&"sitemap"in o&&typeof o.sitemap=="function"){let p=o.sitemap,c=await p(e,u,n);return{url:u,sitemapEntries:c,id:r.id}}return{url:u,sitemapEntries:null,id:r.id}}))).filter(Boolean)},S=async e=>{let{domain:n,sitemapData:t,ignore:i,urlTransformer:a,routes:s}=e,r=await f({domain:n,sitemapData:t,routes:s});return m({domain:n,routes:r,ignore:i,urlTransformer:a})};export{S as generateRemixSitemap};
//# sourceMappingURL=sitemap.mjs.map