@griddo/cx 11.0.4-rc.0 → 11.0.4

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/build/index.js CHANGED
@@ -92,7 +92,7 @@ ${x}
92
92
  \rAllow: /`}))||[]}catch(t){console.warn(`${this.constructor.name}: ${t.message}`)}}async writeFiles(t){let{__cx:n}=q0.paths(t),i=rc.default.join(n,"dist");await this.getRobots();let a=this.robots.find(({path:r})=>r===`/${t}`);if(!a){console.log(`Robots not found for ${t}`);return}if(ac.default.existsSync(i)){let r=rc.default.join(i,"robots.txt");ac.default.writeFileSync(r,a?.content),J(`wrote robots.txt to ${r}`)}else console.log(`${i} not found`)}},sh=new oc;var fh=ae(),RI=mh.default.sync();function ae(){try{return(dh(),au(ph)).default}catch{console.log("Error while reading configuration file"),process.exit(1)}}function dt(e){if(typeof e=="boolean")return e;if(e==null)return!1;if(e.toLowerCase()==="true")return!0;if(e.toLowerCase()==="false")return!1;if(e.toLowerCase()==="on")return!0;if(e.toLowerCase()==="off")return!1;let t=Number.parseInt(e,10);return Number.isNaN(t)?!1:t>0}function Fa(e){let t=[],n=pt.default.readdirSync(e);for(let i of n)t.push(Zt.default.join(e,i));return t}function ja(e){let t=[],n=pt.default.readdirSync(e).filter(i=>{let a=Zt.default.join(e,i);return pt.default.statSync(a).isDirectory()&&i!=="metadata"});for(let i of n){let a=Zt.default.join(e,i),r=pt.default.readdirSync(a).filter(o=>o.endsWith(".json"));for(let o of r)t.push(Zt.default.join(a,o))}return t}function ec(e){return new Promise(t=>setTimeout(t,e))}function Ks(e,t=3){return(e/1e3).toFixed(t)}function Qs(e){if(typeof e!="string")return"site"in e&&e.site?e?.site:void 0}function Vo(e,t){for(let n in e)t.includes(n)?delete e[n]:typeof e[n]=="object"&&Vo(e[n],t)}function dc(e){return e.map(({name:t,id:n})=>`${t} (${n})`).join(", ")}function hh(){let{__cx:e}=fh.paths(),t=Zt.default.join(e,"apiCache"),n=pt.default.readdirSync(t),i={},a=n.filter(o=>{let s=`${t}/${o}`,u=cr.default.readJSONSync(s,"utf-8"),{id:p,entity:l,fullUrl:m}=u;return!!(p&&l&&m)});for(let o of a){let s=`${t}/${o}`,u=cr.default.readJSONSync(s,"utf-8"),p=pt.default.statSync(s).mtimeMs,{id:l}=u;(!i[l]||p>pt.default.statSync(`${t}/${i[l]}`).mtimeMs)&&(i[l]=o)}let r=0;for(let o of a){let s=`${t}/${o}`,u=cr.default.readJSONSync(s,"utf-8"),{id:p}=u;o!==i[p]&&(pt.default.unlinkSync(s),r++)}console.log(`Sanitize apiCache dir for ${r} files`)}async function mc(e,t=0){let n=process.hrtime();for(let o of e)await o(),t>0&&await ec(t);let[i,a]=process.hrtime(n);return+(i+a/1e9).toFixed(3)}function V0(e){if(L.GRIDDO_RENDER_BREAKPOINTS_FEATURE)return new Promise(n=>{console.log(`
93
93
  `),Fn(`\u231B\uFE0F ${e}`,"",1,0),process.stdin.once("data",()=>{n()})})}async function mt(e,t){let{steps:n,bypass:i,delay:a}=t;if(i)return;let r={Archive:L.GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS,Data:L.GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS,Meta:L.GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS,Relocation:L.GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS,Clean:L.GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS,Restore:L.GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS,Prepare:L.GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS,Close:L.GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS,SSG:L.GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS,HealthCheck:1,__DEBUG__:1},o=0,s=r[e]||1;for(;o<s;)try{Bt(`start ${e} life-cycle`);let u=await mc(n,a);zp(`${e} - ${u}s`),await V0(`${e} LifeCycle`);break}catch(u){let p=dp(pp(` Error in ${e} LifeCycle `)),l=ke.yellow(`Attempt (${o+1})`);console.log(`
94
94
  ${p} ${l}
95
- `),console.log(u),console.log(),o++}o===s&&_e(Rd(s,e))}async function xh(e){await rh(),await oh(),await sh.writeFiles(e)}function vh(){let{__cx:e}=fh.paths(),t=Zt.default.join(e,"store"),a=pt.default.readdirSync(t).filter(r=>r!=="metadata").map(r=>Zt.default.join(t,r));for(let r of a)pt.default.rmSync(r,{recursive:!0,force:!0})}gh.default.config();var tt=process.env.GRIDDO_API_URL||process.env.API_URL,ur=process.env.GRIDDO_PUBLIC_API_URL||process.env.PUBLIC_API_URL,bh=process.env.botEmail,yh=process.env.botPassword,_h=Number.parseInt(process.env.GRIDDO_API_CONCURRENCY_COUNT||"10"),wh=dt(process.env.GRIDDO_RENDER_ALL_SITES||process.env.updateAllSites),Sh=Number.parseInt(process.env.GRIDDO_RENDER_SITE||""),Eh=(process.env.GRIDDO_RENDER_PAGES||"").split(",").map(e=>Number.parseInt(e)).filter(Boolean),Rh=dt(process.env.GRIDDO_SKIP_BUILD_CHECKS),Dh=dt(process.env.GRIDDO_DEBUG_LOGS),Ch=dt(process.env.GRIDDO_BUILD_LOGS),Oh=dt(process.env.GRIDDO_RENDER_BREAKPOINTS_FEATURE),Th=dt(process.env.GRIDDO_SSG_VERBOSE_LOGS),Ph=dt(process.env.GRIDGRIDDO_SEARCH_FEATURE_FEATURE),Ah=process.env.GRIDDO_ASSET_PREFIX||process.env.ASSET_PREFIX,Ih=process.env.GRIDDO_REACT_APP_INSTANCE||process.env.REACT_APP_INSTANCE,kh=dt(process.env.GRIDDO_AI_EMBEDDINGS),Fh=dt(process.env.GRIDDO_VERBOSE_LOGS),jh=dt(process.env.GRIDDO_ALERT_FEATURE),Lh=Number.parseInt(process.env.GRIDDO_API_MAX_RESPONSE_SIZE||"81920"),Nh=Number.parseInt(process.env.GRIDDO_SSG_MAX_PAGE_SIZE||"524288"),qh=Number.parseInt(process.env.GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS||"1"),Uh=Number.parseInt(process.env.GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS||"1"),Bh=Number.parseInt(process.env.GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS||"1"),Mh=Number.parseInt(process.env.GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS||"1"),$h=Number.parseInt(process.env.GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS||"1"),Gh=Number.parseInt(process.env.GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS||"2"),zh=Number.parseInt(process.env.GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS||"1"),Xh=Number.parseInt(process.env.GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS||"4"),Hh=Number.parseInt(process.env.GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS||"1"),Vh=process.env.GRIDDO_CX_FIXTURES_DOMAIN_NAMES,Wh=process.env.GRIDDO_CX_FIXTURES_SITE_NAMES;var en=`${tt}/site/`,Yh=`${tt}/ai/embeddings`,Jh=`${ur}/alert`,Kh=`${tt}/domains`,Qh=`${tt}/sites/all`,Zh=`${tt}/page`,ex=`${tt}/login_check`,tx=`${tt}/debug/reset-render`,nx=`${tt}/domains/robots`,ix=`${tt}/search`,ax=`${tt}/settings`,rx=[en,"/build/end"],ox=[en,"/build/start"],sx=[en,"/pages?pagination=false"],cx=[en,"/distributor"],ux=[en,"/sitemap"],lx=[en,"/all"],px=[en,"/languages"],dx=[en,"/socials"];var fe={ALERT:Jh,AI_EMBEDDINGS:Yh,BUILD_END:rx,BUILD_START:ox,DOMAINS:Kh,GET_ALL:Qh,GET_PAGE:Zh,GET_PAGES:sx,GET_REFERENCE_FIELD_DATA:cx,GET_SITEMAP:ux,INFO:lx,LANGUAGES:px,LOGIN:ex,RESET_RENDER:tx,ROBOTS:nx,SEARCH:ix,SETTINGS:ax,SOCIALS:dx},L={GRIDDO_AI_EMBEDDINGS:kh,GRIDDO_ALERT_FEATURE:jh,GRIDDO_API_CONCURRENCY_COUNT:_h,GRIDDO_API_MAX_RESPONSE_SIZE:Lh,GRIDDO_API_URL:tt,GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS:Hh,GRIDDO_ASSET_PREFIX:Ah,GRIDDO_BOT_PASSWORD:yh,GRIDDO_BOT_USER:bh,GRIDDO_BUILD_LOGS:Ch,GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS:qh,GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS:Uh,GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS:$h,GRIDDO_DEBUG_LOGS:Dh,GRIDDO_FIXTURES_DOMAIN_NAMES:Vh,GRIDDO_FIXTURES_SITE_NAMES:Wh,GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS:Xh,GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS:Bh,GRIDDO_PUBLIC_API_URL:ur,GRIDDO_REACT_APP_INSTANCE:Ih,GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS:zh,GRIDDO_RENDER_ALL_SITES:wh,GRIDDO_RENDER_BREAKPOINTS_FEATURE:Oh,GRIDDO_RENDER_PAGES:Eh,GRIDDO_RENDER_SITE:Sh,GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS:Mh,GRIDDO_SEARCH_FEATURE:Ph,GRIDDO_SKIP_BUILD_CHECKS:Rh,GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS:Gh,GRIDDO_SSG_MAX_PAGE_SIZE:Nh,GRIDDO_SSG_VERBOSE_LOGS:Th,GRIDDO_VERBOSE_LOGS:Fh};An();var xr=k(require("node:path"));var mx=require("node:child_process"),At=k(require("node:path")),fx=k(ri()),ft=k(qt());Rt();zt();fx.default.config();var hx=ae();function xx(e){let{proDomain:t}=ae();if(!L.GRIDDO_ASSET_PREFIX||!e||!e.startsWith(t))return"";let n=`${L.GRIDDO_ASSET_PREFIX}/${e}`;return J(`Reading process.env.GRIDDO_ASSET_PREFIX, ${L.GRIDDO_ASSET_PREFIX}`),J(`Setting the asset prefix with the domain concatenated, ${n}`),n}function vx(e){J(`read assetPrefixWithDomain, ${e}`);let{__ssg:t}=hx.paths(),n=(0,mx.spawnSync)("yarn",["gatsby-build",L.GRIDDO_SSG_VERBOSE_LOGS?"--verbose":""],{cwd:t,stdio:["ignore","inherit","ignore"],encoding:"utf8",shell:!0,env:Object.assign(process.env,{GRIDDO_EXPORTER:"true",SPAWN_ASSET_PREFIX_WITH_DOMAIN:e,NODE_OPTIONS:void 0})});n.status!==0&&_e(Dd(n))}async function gx(e,t){let{__cx:n,__ssg:i}=hx.paths(e),a=At.default.join(n,"dist"),r=At.default.join(n,"assets"),o=At.default.join(n,"dist",e),s=At.default.join(i,"public"),u=ft.default.readdirSync(s).filter(y=>At.default.extname(y)===".js"||At.default.extname(y)===".json"||At.default.extname(y)===".css"),p=`${s}/page-data`,l=`${r}/page-data`,m=At.default.join(i,"static"),x=r,g=`${a}/static`,h=`${r}/static`;try{ft.default.mkdirSync(r,{recursive:!0}),ft.default.copySync(s,a,{preserveTimestamps:!0}),t&&(ft.default.copySync(p,l,{preserveTimestamps:!0}),ft.default.existsSync(m)&&ft.default.copySync(m,x,{overwrite:!1,preserveTimestamps:!0}),ft.default.copySync(g,h,{overwrite:!1,preserveTimestamps:!0}),ft.default.existsSync(m)&&ft.default.copySync(m,o,{overwrite:!1,preserveTimestamps:!0}),u.map(async y=>{let _=`${s}/${y}`,E=`${r}/${y}`;ft.default.copySync(_,E,{preserveTimestamps:!0})}))}catch(y){console.error(y)}}var yn=k(require("node:path"));function W0(e){let{__cx:t,__exports:n,__cache:i}=e;return{initials:[n,i,yn.default.join(t,"store"),yn.default.join(t,"apiCache")],disposables:[yn.default.join(t,"store"),yn.default.join(t,"apiCache"),yn.default.join(t,"render-metadata.json"),yn.default.join(t,"dist")],cacheables:["apiCache","store"],archivables:["dist","assets"]}}var lr=W0;var pr=k(require("node:path"));function Y0(e){let{__ssg:t}=e;return{disposables:[pr.default.join(t,"public"),pr.default.join(t,"static"),pr.default.join(t,".cache")],cacheables:[".cache"],initials:[],archivables:[]}}var bx=Y0;function yx(e,t){let{cxPaths:n}=t,i={gatsby:bx(n)};return{cx:lr(n),[e]:i[e],all:{initials:[...lr(n).initials,...i[e].initials],disposables:[...lr(n).disposables,...i[e].disposables]}}}async function dr({area:e,description:t,fullData:n,instantNotification:i=!1,level:a}){let r=fe.ALERT,o={level:a,area:e,description:t,fullData:n,instantNotification:i};try{await Jn.post(r,o,{headers:{"Content-Type":"application/json",Connection:"close"}})}catch(s){console.error("Error creating Griddo alert:",s)}}var Ix=k(require("node:fs")),vc=k(require("node:path")),kx=k(Qr());var mr=class{_defaultHeaders;_defaultFooters;_navigations;constructor(){this._navigations={footers:[],headers:[]},this._defaultHeaders={},this._defaultFooters={}}set navigations(t){this._navigations=t,this._defaultFooters=this.getDefaultFooters(),this._defaultHeaders=this.getDefaultHeaders()}get navigations(){return this._navigations}getDefaultFooters(){let n=[...this.navigations.footers].filter(a=>a.setAsDefault),i={};for(let a of n)i[a.language]=a;return i}getDefaultHeaders(){let n=[...this.navigations.headers].filter(a=>a.setAsDefault),i={};for(let a of n)i[a.language]=a;return i}getRightLanguage(t,n,i){if(!t||!n)return null;let r=t.find(o=>o.language===i&&o.navigationLanguages?.find(s=>s.navigationId===n))||t.find(o=>o.id===n);return r?{...r}:null}getPageHeader(t,n){return this.getRightLanguage(this.navigations.headers,t,n)}getPageFooter(t,n){return this.getRightLanguage(this.navigations.footers,t,n)}getPageNavigations(t){let{header:n,footer:i,language:a,template:{templateType:r},templateConfig:{defaultHeader:o,defaultFooter:s,templates:u}}=t,p=h=>{let y=h.find(_=>typeof _=="number");return typeof y=="number"?y:null},l=p([n,u?.[r]?.defaultHeader,o]),m=p([i,u?.[r]?.defaultFooter,s]),x=l?this.getPageHeader(l,a):l===0?null:this._defaultHeaders[a],g=m?this.getPageFooter(m,a):m===0?null:this._defaultFooters[a];return{header:x,footer:g}}};function J0(e,t){let{order:n,sources:i,quantity:a,mode:r,fixed:o,fullRelations:s=!1,allLanguages:u=!1,preferenceLanguage:p=!1,referenceId:l,fields:m}=e;return r==="auto"?{mode:r,order:n,sources:i,quantity:a,fullRelations:s,allLanguages:u,preferenceLanguage:p,fields:m}:r==="manual"?{mode:r,fixed:o,fullRelations:s,fields:m}:r==="navigation"?{mode:r,order:n,quantity:a,fullRelations:s,referenceId:l||t?.structuredDataContent?.id,fields:m}:(console.log(`Error: ReferenceField mode: ${r} is not recognized on page ${t?.id}.`),e)}async function K0(e){let{page:t,component:{data:n},cacheKey:i}=e;if(!n)return Fn(`Error: Page ${t.id} has \`hasDistributorData: true\` or \`getStaticData: true\` but it doesn't have a \`data\` property.`,"No `data` in `ReferenceField`"),[];if(Array.isArray(n.sources)&&n.sources.length<1)return Fn(`Warning: Page with id: ${t.id} has a ReferenceField with empty \`data.sources\``,"Empty data.sources in ReferenceField"),[];let{site:a,lang:r}=n;!n.sources&&n.mode==="auto"&&Fn(`Warning: Page with id: ${t.id} has a ReferenceField with \`undefined\` \`data.sources\``,"undefined data.sources in ReferenceField");let o=J0(n,t);return await Qf(t,o,i,a,r)}async function _x({page:e,cacheKey:t=""}){try{let{template:n}=e,i=async(o,s=1)=>{if(!(!o||typeof o!="object"||!(JSON.stringify(o).includes('"hasDistributorData":true')||JSON.stringify(o).includes('"getStaticData":true'))))for(let p in o){if(p==="queriedItems")continue;let m=o[p];if(!m||typeof m!="object")continue;(m.hasDistributorData||m.getStaticData)&&(m.queriedItems=await K0({page:e,cacheKey:t,component:m})),await i(m,s+1)}};return await(async o=>(await i([o]),o))(n)}catch(n){console.error(`Error in getReferenceFieldData ${n}`),process.exit(1)}}async function wx(){return await Ye({endpoint:fe.SETTINGS})}var Rx=k(ri());function fc(e,t,n,i="jpg"){let a=typeof e=="string"?e:e?.url;return a?a.split("/")[2].includes("cloudinary.com")?Z0(a,`c_fill,w_${t},h_${n}`):Q0(a,`f/${i}/w/${t}/h/${n}`):null}function Q0(e,t){let n=e.split("/"),i=n.slice(0,-1).join("/"),a=n.slice(-1)[0];return`${i}/${t}/${a}`}function Z0(e,t){let n=e.replace("https://",""),i=n.split("/").slice(0,4).join("/"),a=n.replace(i,"");return`https://${i}/${t}${a}`}Rx.default.config();var eR=25;function tR({socialTitle:e,socialDescription:t,socialImage:n}){return{type:"website",title:e,description:t,image:n?fc(n,1280,768):"",twitterImage:n?fc(n,1280,768):""}}function nR(e){let{title:t,metaTitle:n,metaDescription:i,canonicalURL:a,locale:r,url:o,isIndexed:s,follow:u,metasAdvanced:p,pageLanguages:l,fullUrl:m,metaKeywords:x}=e,g=p?.split(",").filter(Boolean).map(h=>h.trim().toLowerCase())||[];return{title:(n||t||"").trim(),description:i,canonical:a?.trim()&&a!==m?a.trim():s?m:void 0,locale:r,url:o,index:s?"index":"noindex",follow:u?"follow":"nofollow",translate:g.includes("notranslate")?"notranslate":"",metasAdvanced:g.filter(h=>h!=="notranslate").join(),pageLanguages:l,metaKeywords:x?.filter(Boolean).map(h=>h.replace(/"/g,"'")).join(", ")}}async function xc(e,t){let{id:n,title:i,fullPath:a,language:r,breadcrumb:o,socialDescription:s,socialImage:u,socialTitle:p}=e,{baseUrl:l,cloudinaryName:m,griddoVersion:x,siteLangs:g,siteMetadata:h,siteOptions:y,siteScript:_,siteSlug:E,socials:O,theme:R,navigations:{header:F,footer:q}}=t;e.breadcrumb=o,e.siteSlug=E,e.apiUrl=l,e.publicApiUrl=t.publicBaseUrl,e.instance=t.instance;let pe=g.find(({id:Y})=>Y===e?.language)?.locale.replace(/_/g,"-"),de=nR(e),I=tR({socialDescription:s,socialImage:u,socialTitle:p}),M=a.compose,G=new Date().toString();return{path:M,size:void 0,context:{id:n,title:i,fullPath:a,locale:pe,languageId:r,theme:R,siteMetadata:h,pageMetadata:de,openGraph:I,socials:O,siteLangs:g,cloudinaryName:m,siteOptions:y,griddoVersion:x,renderDate:G,siteScript:_,header:F,footer:q,page:e}}}async function Dx(e,t){return await xc(e,t)}async function Cx({page:e,pages:t,isRoot:n=!1,defaultLang:i,template:a,totalQueriedItems:r},o){let s=t.map(async(u,p)=>{let l=p===0,m=p+1,{domainUrl:x,compose:g}=e.fullPath,h={...e,id:Number.parseInt(`-${e.id}${p}`),fullPath:{...e.fullPath,compose:hc(g,m,{addEndingSlash:!0})},fullUrl:hc(e.fullUrl,m,{addEndingSlash:!0}),slug:hc(e.slug,m),title:Ex(e.title,m),metaTitle:Ex(e.metaTitle||"",m),disableHrefLangs:m>1,template:{...a,isFirstPage:l,pageNumber:m,totalPages:t.length,baseLink:`${x}${g}`,queriedItems:u,totalQueriedItems:r?.length},isRoot:n,defaultLang:i};return await xc(h,o)});return Promise.all(s)}function Ox(e,t){let{multiPageElements:n,...i}=e,a=JSON.parse(JSON.stringify(n));a.find(({sectionSlug:o})=>o==="/")||a.push({});let r=a.map(async(o,s)=>{let u=JSON.parse(JSON.stringify(i)),{sectionSlug:p="/",title:l="",metaTitle:m="",metaDescription:x=""}=o,g=typeof l=="string"?l:l.content,h=u.fullPath.compose||"",y=u.fullUrl.endsWith("/")?u.fullUrl.slice(0,-1):u.fullUrl,_=p?.replace(/\//g,""),O=p==="/"?_:`${_}/`,R=h.endsWith("/")?"":"/",F=`${h}${R}${O}`;return g.trim()&&(u.title=g),x.trim()&&(u.metaDescription=x),u.id=Number.parseInt(`-${u.id}${s}`),u.fullUrl=`${y}/${O}`,u.fullPath.compose=F,u.slug=F,u.template.activeSectionSlug=p,u.template.activeSectionBase=y,u.metaTitle=m.trim()||g.trim()||u.metaTitle,await xc(u,t)});return Promise.all(r)}function Tx(e){return new Promise(n=>{let i=(a,r=0)=>{if(!(!a||typeof a!="object")){for(let o in a){let s=a[o],u=s||typeof s=="object",p=JSON.stringify(s).includes('"hasGriddoMultiPage":true');if(!u||!p)continue;let{component:l,hasGriddoMultiPage:m,elements:x}=s;l&&m&&n(x||[]),i(s,r+1)}r||n(null)}};i([e])})}function iR(e,t,n){return t?.slice(e*(n-1),e*n)}function aR(e,t){let n=Math.ceil(t.length/e)||1;return Array.from({length:n},(a,r)=>r+1)?.map(a=>iR(e,t,a))}function Px(e){let t=e.queriedItems||[],n=e?.itemsPerPage||eR;return aR(n,t)}function Sx(e){return e.replace(/\/+$/,"/")}function hc(e,t,n){let i=e.endsWith("/")?"":"/",a=n?.addEndingSlash?"/":"";return t<=1?Sx(`${e}${a}`):Sx(`${e}${i}${t}${a}`)}function Ex(e,t){return!e||t<=1?e:`${e} - ${t}`}var Ax=ae(),rR=new Date().valueOf().toString();async function Fx(e){yd(),console.info(`API calls with ${L.GRIDDO_API_CONCURRENCY_COUNT} threads`);let{__cx:t}=Ax.paths(),{griddoVersion:n}=Ax,i=vc.default.join(t,"store");try{let a=[],r={},{sitesToPublish:o,sitesToUnpublish:s}=await nh(e),u=o.length>0||s.length>0;u||console.warn(`There are no sites to update in the domain ${e}`),console.info(`Sites to publish: ${dc(o)}`),console.info(`Sites to unpublish: ${dc(s)}`),await ih(s);for(let p of o){let{id:l,slug:m,theme:x,favicon:g,changedPages:h=[]}=p,{siteInfo:y,validPagesIds:_,siteHash:E,unpublishHashes:O,siteLangs:R,defaultLang:F,headers:q,footers:K,socials:pe}=await ah(l),{cloudinaryName:de,useMetaTitle:I,useMetaKeywords:M,showBasicMetaRobots:G,avoidHrefLangsOnCanonicals:Z,avoidSelfReferenceCanonicals:Y,avoidHrefLangXDefault:B,avoidDebugMetas:P}=await wx();r[l]={siteHash:E,unpublishHashes:O,publishHashes:[]};let W=new mr;W.navigations={headers:q,footers:K},p.languages=R;let C=Xf(l,E),T=y.siteScript,N={siteUrl:y.slug,title:y.name,favicon:g},xe={baseUrl:L.GRIDDO_API_URL,publicBaseUrl:L.GRIDDO_PUBLIC_API_URL,instance:L.GRIDDO_REACT_APP_INSTANCE,siteSlug:m,theme:x,siteMetadata:N,socials:pe,siteLangs:R,cloudinaryName:de,griddoVersion:n,siteOptions:{useMetaTitle:I,useMetaKeywords:M,showBasicMetaRobots:G,avoidHrefLangsOnCanonicals:Z,avoidSelfReferenceCanonicals:Y,avoidHrefLangXDefault:B,avoidDebugMetas:P},siteScript:T};Dt(`${p.name} site`),Ix.default.mkdirSync(vc.default.join(i,l.toString()),{recursive:!0});let se=async(at,me)=>{let _n=[],rt=await Yf(me,C);if(!rt)return;a.push(me);let _t=JSON.parse(JSON.stringify(xe));_t.navigations=W.getPageNavigations(rt);let It=await _x({page:rt,cacheKey:rR}),qi=await Tx(It),wn=rt?.mode==="list",nn=!wn&&qi,vr=!nn&&!wn;if(wn){let Ke={page:rt,pages:Px(It),isRoot:!1,defaultLang:F,template:It,totalQueriedItems:It.queriedItems};_n=await Cx(Ke,_t)}if(nn){let Ke=rt;Ke.template=It,Ke.multiPageElements=qi,Ke.defaultLang=F,_n=await Ox(Ke,_t)}if(vr){let Ke=rt;Ke.template=It,Ke.defaultLang=F,_n=[await Dx(Ke,_t)]}rt.hash!==null&&r[l].publishHashes.push(rt.hash),_d(at,_n)},{pagesMissingInStore:Ee,pagesToDeleteFromStore:ht,pagesToWriteToStore:Ne}=await Sd({sitesToPublish:o,validPagesIds:_,changedPages:h,siteDirName:l.toString()});wd(l.toString(),ht);let Re=(0,kx.default)(L.GRIDDO_API_CONCURRENCY_COUNT),tn=Ne.map(at=>Re(()=>se(l.toString(),at)));J(`Store site: ${p.name}`),J(`${_.length} valid pages from API`),J(`changed ${h.length} pages from API`),J(`deleted ${ht.length} pages from store`),J(`missing ${Ee.length} pages in store`),J(`write ${Ne.length} pages to store`),await Promise.all(tn)}u?Ho({buildProcessData:r,createdPages:a,sitesToPublish:o}):(vh(),Ho({buildProcessData:r,createdPages:[],sitesToPublish:[]}))}catch(a){console.error(a.message),process.exit(1)}}async function jx(e){Mf(),await Fx(e),hh()}Rt();zt();async function Lx(){return await Ye({endpoint:fe.DOMAINS})}async function Nx(){await Ot.login();let e=await Lx();return e.length||_e(Cd),J(`getting domains names (${e.length})`),oR(e)}function oR(e){let t=e.filter(({slug:n})=>!!n).map(({slug:n})=>n.replace("/",""));return[...new Set(t)]}var Je=k(require("node:fs")),yt=k(require("node:path")),ze=k(qt());Rt();zt();var sR=ae(),gc=e=>{if(!ze.default.statSync(e).isDirectory())return;let n=ze.default.readdirSync(e);if(n.length>0){let a=n.length,r=n.filter(o=>yt.default.extname(o).toLowerCase()===".xml").length;if(a===r){for(let o of n){let s=yt.default.join(e,o);ze.default.rmSync(s)}n=ze.default.readdirSync(e)}for(let o of n){let s=yt.default.join(e,o);gc(s)}n=ze.default.readdirSync(e)}if(n.length===0){ze.default.rmdirSync(e);return}J("remove empty site directories")};function qx(e,t){for(let n of e)try{Je.default.existsSync(n)||(Je.default.mkdirSync(n,{recursive:!0,...t}),J(`create directory: ${n}`))}catch(i){_e(un,i)}}function Ux(e,t){try{Je.default.existsSync(e)&&(Je.default.renameSync(e,t),J(`rename ${e} to ${t}`))}catch(n){_e(un,n)}}function bc(e,t,n,i={withBackup:!1}){let{withBackup:a}=i;for(let r of n){let o=yt.default.join(e,r),s=yt.default.join(t,r);if(!ze.default.existsSync(o)){console.log(`(Maybe first render) Source directory does not exist: ${o}`);continue}a&&($x(s),J(`create backup: ${s}`));try{ze.default.existsSync(s)&&(Je.default.rmSync(s,{recursive:!0,force:!0}),J(`clean destination: ${s}`)),Je.default.cpSync(o,s,{recursive:!0,preserveTimestamps:!0}),J(`copy: ${o} to ${s}`),a&&(Mx(s),J(`delete backup: ${s}`))}catch(u){a&&(Bx(s),console.log("Backup has been restored.")),_e(un,u)}}}function ei(e,t,n,i){let{override:a,withBackup:r}=i||{};for(let o of n){let s=yt.default.join(e,o),u=yt.default.join(t,o);if(ze.default.existsSync(s)){r&&$x(u);try{a&&ze.default.existsSync(u)&&Je.default.rmSync(u,{recursive:!0,force:!0}),Je.default.renameSync(s,u),J(`moved: ${s} to ${u}`),r&&Mx(u)}catch(p){r&&(Bx(u),console.log("Backup has been restored.")),_e(un,p)}}}}function yc(e){for(let t of e)if(t)try{ze.default.existsSync(t)&&(Je.default.rmSync(t,{recursive:!0,force:!0}),J(`removed directory: ${t}`))}catch(n){_e(un,n)}}function Bx(e,t="-BACKUP"){let n=e+t;try{Je.default.renameSync(n,e),console.log(`Backup ${n} has been restored`)}catch{console.log(`Error while delete ${n} backup`)}}function Mx(e,t="-BACKUP"){let n=e+t;if(ze.default.existsSync(n))try{Je.default.rmSync(n,{recursive:!0,force:!0}),console.log(`Backup ${n} has been deleted`)}catch{console.log(`Error while delete ${n} backup`)}}function $x(e,t="-BACKUP"){let n=e+t;if(ze.default.existsSync(e)){if(ze.default.existsSync(n)){console.log(`Destination ${n} already exists`);return}try{Je.default.renameSync(e,n),console.log(`Backup of ${e} has been created in ${n}`)}catch(i){console.log(`Error while coping ${e} to ${n} backup`),_e(un,i)}}}async function Gx(){let{__cx:e}=sR.paths(),t=yt.default.join(e,"store");try{let n=ja(t);for(let i of n)yt.default.basename(i).startsWith("-")&&Je.default.unlinkSync(i)}catch{console.info("`store` folder does not exist. Skipping multipage or static list template cleaning.")}}var fr=k(require("node:fs")),hr=k(require("node:path"));Rt();zt();var _c=ae();function zx(){let{__cx:e}=_c.paths(),t=hr.default.join(e,".render-sentinel");fr.default.writeFileSync(t,new Date().toISOString())}function Xx(){let{__cx:e}=_c.paths(),t=hr.default.join(e,".render-sentinel");fr.default.unlinkSync(t)}function Hx(){let{__cx:e}=_c.paths(),t=hr.default.join(e,".render-sentinel");fr.default.existsSync(t)||_e(Od)}var cR=ae();async function uR(){Hp("gatsby");let e=await Nx();for(let t of e)await lR(t);if(L.GRIDDO_ALERT_FEATURE){let t=bn.get("API_RESPONSE_TOO_BIG");if(t.entries.length<1)return;jn(`
95
+ `),console.log(u),console.log(),o++}o===s&&_e(Rd(s,e))}async function xh(e){await rh(),await oh(),await sh.writeFiles(e)}function vh(){let{__cx:e}=fh.paths(),t=Zt.default.join(e,"store"),a=pt.default.readdirSync(t).filter(r=>r!=="metadata").map(r=>Zt.default.join(t,r));for(let r of a)pt.default.rmSync(r,{recursive:!0,force:!0})}gh.default.config();var tt=process.env.GRIDDO_API_URL||process.env.API_URL,ur=process.env.GRIDDO_PUBLIC_API_URL||process.env.PUBLIC_API_URL,bh=process.env.botEmail,yh=process.env.botPassword,_h=Number.parseInt(process.env.GRIDDO_API_CONCURRENCY_COUNT||"10"),wh=dt(process.env.GRIDDO_RENDER_ALL_SITES||process.env.updateAllSites),Sh=Number.parseInt(process.env.GRIDDO_RENDER_SITE||""),Eh=(process.env.GRIDDO_RENDER_PAGES||"").split(",").map(e=>Number.parseInt(e)).filter(Boolean),Rh=dt(process.env.GRIDDO_SKIP_BUILD_CHECKS),Dh=dt(process.env.GRIDDO_DEBUG_LOGS),Ch=dt(process.env.GRIDDO_BUILD_LOGS),Oh=dt(process.env.GRIDDO_RENDER_BREAKPOINTS_FEATURE),Th=dt(process.env.GRIDDO_SSG_VERBOSE_LOGS),Ph=dt(process.env.GRIDGRIDDO_SEARCH_FEATURE_FEATURE),Ah=process.env.GRIDDO_ASSET_PREFIX||process.env.ASSET_PREFIX,Ih=process.env.GRIDDO_REACT_APP_INSTANCE||process.env.REACT_APP_INSTANCE,kh=dt(process.env.GRIDDO_AI_EMBEDDINGS),Fh=dt(process.env.GRIDDO_VERBOSE_LOGS),jh=dt(process.env.GRIDDO_ALERT_FEATURE),Lh=Number.parseInt(process.env.GRIDDO_API_MAX_RESPONSE_SIZE||"81920"),Nh=Number.parseInt(process.env.GRIDDO_SSG_MAX_PAGE_SIZE||"524288"),qh=Number.parseInt(process.env.GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS||"1"),Uh=Number.parseInt(process.env.GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS||"1"),Bh=Number.parseInt(process.env.GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS||"1"),Mh=Number.parseInt(process.env.GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS||"1"),$h=Number.parseInt(process.env.GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS||"1"),Gh=Number.parseInt(process.env.GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS||"2"),zh=Number.parseInt(process.env.GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS||"1"),Xh=Number.parseInt(process.env.GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS||"4"),Hh=Number.parseInt(process.env.GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS||"1"),Vh=process.env.GRIDDO_CX_FIXTURES_DOMAIN_NAMES,Wh=process.env.GRIDDO_CX_FIXTURES_SITE_NAMES;var en=`${tt}/site/`,Yh=`${tt}/ai/embeddings`,Jh=`${ur}/alert`,Kh=`${tt}/domains`,Qh=`${tt}/sites/all`,Zh=`${tt}/page`,ex=`${tt}/login_check`,tx=`${tt}/debug/reset-render`,nx=`${tt}/domains/robots`,ix=`${tt}/search`,ax=`${tt}/settings`,rx=[en,"/build/end"],ox=[en,"/build/start"],sx=[en,"/pages?pagination=false"],cx=[en,"/distributor"],ux=[en,"/sitemap"],lx=[en,"/all"],px=[en,"/languages"],dx=[en,"/socials"];var fe={ALERT:Jh,AI_EMBEDDINGS:Yh,BUILD_END:rx,BUILD_START:ox,DOMAINS:Kh,GET_ALL:Qh,GET_PAGE:Zh,GET_PAGES:sx,GET_REFERENCE_FIELD_DATA:cx,GET_SITEMAP:ux,INFO:lx,LANGUAGES:px,LOGIN:ex,RESET_RENDER:tx,ROBOTS:nx,SEARCH:ix,SETTINGS:ax,SOCIALS:dx},L={GRIDDO_AI_EMBEDDINGS:kh,GRIDDO_ALERT_FEATURE:jh,GRIDDO_API_CONCURRENCY_COUNT:_h,GRIDDO_API_MAX_RESPONSE_SIZE:Lh,GRIDDO_API_URL:tt,GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS:Hh,GRIDDO_ASSET_PREFIX:Ah,GRIDDO_BOT_PASSWORD:yh,GRIDDO_BOT_USER:bh,GRIDDO_BUILD_LOGS:Ch,GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS:qh,GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS:Uh,GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS:$h,GRIDDO_DEBUG_LOGS:Dh,GRIDDO_FIXTURES_DOMAIN_NAMES:Vh,GRIDDO_FIXTURES_SITE_NAMES:Wh,GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS:Xh,GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS:Bh,GRIDDO_PUBLIC_API_URL:ur,GRIDDO_REACT_APP_INSTANCE:Ih,GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS:zh,GRIDDO_RENDER_ALL_SITES:wh,GRIDDO_RENDER_BREAKPOINTS_FEATURE:Oh,GRIDDO_RENDER_PAGES:Eh,GRIDDO_RENDER_SITE:Sh,GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS:Mh,GRIDDO_SEARCH_FEATURE:Ph,GRIDDO_SKIP_BUILD_CHECKS:Rh,GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS:Gh,GRIDDO_SSG_MAX_PAGE_SIZE:Nh,GRIDDO_SSG_VERBOSE_LOGS:Th,GRIDDO_VERBOSE_LOGS:Fh};An();var xr=k(require("node:path"));var mx=require("node:child_process"),At=k(require("node:path")),fx=k(ri()),ft=k(qt());Rt();zt();fx.default.config();var hx=ae();function xx(e){let{proDomain:t}=ae();if(!L.GRIDDO_ASSET_PREFIX||!e||!e.startsWith(t))return"";let n=`${L.GRIDDO_ASSET_PREFIX}/${e}`;return J(`Reading process.env.GRIDDO_ASSET_PREFIX, ${L.GRIDDO_ASSET_PREFIX}`),J(`Setting the asset prefix with the domain concatenated, ${n}`),n}function vx(e){J(`read assetPrefixWithDomain, ${e}`),J(`using this NODE_OPTIONS in gatsby command: ${process.env.NODE_OPTIONS}`);let{__ssg:t}=hx.paths(),n=(0,mx.spawnSync)("yarn",["gatsby-build",L.GRIDDO_SSG_VERBOSE_LOGS?"--verbose":""],{cwd:t,stdio:["ignore","inherit","ignore"],encoding:"utf8",shell:!0,env:Object.assign(process.env,{GRIDDO_EXPORTER:"true",SPAWN_ASSET_PREFIX_WITH_DOMAIN:e})});n.status!==0&&_e(Dd(n))}async function gx(e,t){let{__cx:n,__ssg:i}=hx.paths(e),a=At.default.join(n,"dist"),r=At.default.join(n,"assets"),o=At.default.join(n,"dist",e),s=At.default.join(i,"public"),u=ft.default.readdirSync(s).filter(y=>At.default.extname(y)===".js"||At.default.extname(y)===".json"||At.default.extname(y)===".css"),p=`${s}/page-data`,l=`${r}/page-data`,m=At.default.join(i,"static"),x=r,g=`${a}/static`,h=`${r}/static`;try{ft.default.mkdirSync(r,{recursive:!0}),ft.default.copySync(s,a,{preserveTimestamps:!0}),t&&(ft.default.copySync(p,l,{preserveTimestamps:!0}),ft.default.existsSync(m)&&ft.default.copySync(m,x,{overwrite:!1,preserveTimestamps:!0}),ft.default.copySync(g,h,{overwrite:!1,preserveTimestamps:!0}),ft.default.existsSync(m)&&ft.default.copySync(m,o,{overwrite:!1,preserveTimestamps:!0}),u.map(async y=>{let _=`${s}/${y}`,E=`${r}/${y}`;ft.default.copySync(_,E,{preserveTimestamps:!0})}))}catch(y){console.error(y)}}var yn=k(require("node:path"));function W0(e){let{__cx:t,__exports:n,__cache:i}=e;return{initials:[n,i,yn.default.join(t,"store"),yn.default.join(t,"apiCache")],disposables:[yn.default.join(t,"store"),yn.default.join(t,"apiCache"),yn.default.join(t,"render-metadata.json"),yn.default.join(t,"dist")],cacheables:["apiCache","store"],archivables:["dist","assets"]}}var lr=W0;var pr=k(require("node:path"));function Y0(e){let{__ssg:t}=e;return{disposables:[pr.default.join(t,"public"),pr.default.join(t,"static"),pr.default.join(t,".cache")],cacheables:[".cache"],initials:[],archivables:[]}}var bx=Y0;function yx(e,t){let{cxPaths:n}=t,i={gatsby:bx(n)};return{cx:lr(n),[e]:i[e],all:{initials:[...lr(n).initials,...i[e].initials],disposables:[...lr(n).disposables,...i[e].disposables]}}}async function dr({area:e,description:t,fullData:n,instantNotification:i=!1,level:a}){let r=fe.ALERT,o={level:a,area:e,description:t,fullData:n,instantNotification:i};try{await Jn.post(r,o,{headers:{"Content-Type":"application/json",Connection:"close"}})}catch(s){console.error("Error creating Griddo alert:",s)}}var Ix=k(require("node:fs")),vc=k(require("node:path")),kx=k(Qr());var mr=class{_defaultHeaders;_defaultFooters;_navigations;constructor(){this._navigations={footers:[],headers:[]},this._defaultHeaders={},this._defaultFooters={}}set navigations(t){this._navigations=t,this._defaultFooters=this.getDefaultFooters(),this._defaultHeaders=this.getDefaultHeaders()}get navigations(){return this._navigations}getDefaultFooters(){let n=[...this.navigations.footers].filter(a=>a.setAsDefault),i={};for(let a of n)i[a.language]=a;return i}getDefaultHeaders(){let n=[...this.navigations.headers].filter(a=>a.setAsDefault),i={};for(let a of n)i[a.language]=a;return i}getRightLanguage(t,n,i){if(!t||!n)return null;let r=t.find(o=>o.language===i&&o.navigationLanguages?.find(s=>s.navigationId===n))||t.find(o=>o.id===n);return r?{...r}:null}getPageHeader(t,n){return this.getRightLanguage(this.navigations.headers,t,n)}getPageFooter(t,n){return this.getRightLanguage(this.navigations.footers,t,n)}getPageNavigations(t){let{header:n,footer:i,language:a,template:{templateType:r},templateConfig:{defaultHeader:o,defaultFooter:s,templates:u}}=t,p=h=>{let y=h.find(_=>typeof _=="number");return typeof y=="number"?y:null},l=p([n,u?.[r]?.defaultHeader,o]),m=p([i,u?.[r]?.defaultFooter,s]),x=l?this.getPageHeader(l,a):l===0?null:this._defaultHeaders[a],g=m?this.getPageFooter(m,a):m===0?null:this._defaultFooters[a];return{header:x,footer:g}}};function J0(e,t){let{order:n,sources:i,quantity:a,mode:r,fixed:o,fullRelations:s=!1,allLanguages:u=!1,preferenceLanguage:p=!1,referenceId:l,fields:m}=e;return r==="auto"?{mode:r,order:n,sources:i,quantity:a,fullRelations:s,allLanguages:u,preferenceLanguage:p,fields:m}:r==="manual"?{mode:r,fixed:o,fullRelations:s,fields:m}:r==="navigation"?{mode:r,order:n,quantity:a,fullRelations:s,referenceId:l||t?.structuredDataContent?.id,fields:m}:(console.log(`Error: ReferenceField mode: ${r} is not recognized on page ${t?.id}.`),e)}async function K0(e){let{page:t,component:{data:n},cacheKey:i}=e;if(!n)return Fn(`Error: Page ${t.id} has \`hasDistributorData: true\` or \`getStaticData: true\` but it doesn't have a \`data\` property.`,"No `data` in `ReferenceField`"),[];if(Array.isArray(n.sources)&&n.sources.length<1)return Fn(`Warning: Page with id: ${t.id} has a ReferenceField with empty \`data.sources\``,"Empty data.sources in ReferenceField"),[];let{site:a,lang:r}=n;!n.sources&&n.mode==="auto"&&Fn(`Warning: Page with id: ${t.id} has a ReferenceField with \`undefined\` \`data.sources\``,"undefined data.sources in ReferenceField");let o=J0(n,t);return await Qf(t,o,i,a,r)}async function _x({page:e,cacheKey:t=""}){try{let{template:n}=e,i=async(o,s=1)=>{if(!(!o||typeof o!="object"||!(JSON.stringify(o).includes('"hasDistributorData":true')||JSON.stringify(o).includes('"getStaticData":true'))))for(let p in o){if(p==="queriedItems")continue;let m=o[p];if(!m||typeof m!="object")continue;(m.hasDistributorData||m.getStaticData)&&(m.queriedItems=await K0({page:e,cacheKey:t,component:m})),await i(m,s+1)}};return await(async o=>(await i([o]),o))(n)}catch(n){console.error(`Error in getReferenceFieldData ${n}`),process.exit(1)}}async function wx(){return await Ye({endpoint:fe.SETTINGS})}var Rx=k(ri());function fc(e,t,n,i="jpg"){let a=typeof e=="string"?e:e?.url;return a?a.split("/")[2].includes("cloudinary.com")?Z0(a,`c_fill,w_${t},h_${n}`):Q0(a,`f/${i}/w/${t}/h/${n}`):null}function Q0(e,t){let n=e.split("/"),i=n.slice(0,-1).join("/"),a=n.slice(-1)[0];return`${i}/${t}/${a}`}function Z0(e,t){let n=e.replace("https://",""),i=n.split("/").slice(0,4).join("/"),a=n.replace(i,"");return`https://${i}/${t}${a}`}Rx.default.config();var eR=25;function tR({socialTitle:e,socialDescription:t,socialImage:n}){return{type:"website",title:e,description:t,image:n?fc(n,1280,768):"",twitterImage:n?fc(n,1280,768):""}}function nR(e){let{title:t,metaTitle:n,metaDescription:i,canonicalURL:a,locale:r,url:o,isIndexed:s,follow:u,metasAdvanced:p,pageLanguages:l,fullUrl:m,metaKeywords:x}=e,g=p?.split(",").filter(Boolean).map(h=>h.trim().toLowerCase())||[];return{title:(n||t||"").trim(),description:i,canonical:a?.trim()&&a!==m?a.trim():s?m:void 0,locale:r,url:o,index:s?"index":"noindex",follow:u?"follow":"nofollow",translate:g.includes("notranslate")?"notranslate":"",metasAdvanced:g.filter(h=>h!=="notranslate").join(),pageLanguages:l,metaKeywords:x?.filter(Boolean).map(h=>h.replace(/"/g,"'")).join(", ")}}async function xc(e,t){let{id:n,title:i,fullPath:a,language:r,breadcrumb:o,socialDescription:s,socialImage:u,socialTitle:p}=e,{baseUrl:l,cloudinaryName:m,griddoVersion:x,siteLangs:g,siteMetadata:h,siteOptions:y,siteScript:_,siteSlug:E,socials:O,theme:R,navigations:{header:F,footer:q}}=t;e.breadcrumb=o,e.siteSlug=E,e.apiUrl=l,e.publicApiUrl=t.publicBaseUrl,e.instance=t.instance;let pe=g.find(({id:Y})=>Y===e?.language)?.locale.replace(/_/g,"-"),de=nR(e),I=tR({socialDescription:s,socialImage:u,socialTitle:p}),M=a.compose,G=new Date().toString();return{path:M,size:void 0,context:{id:n,title:i,fullPath:a,locale:pe,languageId:r,theme:R,siteMetadata:h,pageMetadata:de,openGraph:I,socials:O,siteLangs:g,cloudinaryName:m,siteOptions:y,griddoVersion:x,renderDate:G,siteScript:_,header:F,footer:q,page:e}}}async function Dx(e,t){return await xc(e,t)}async function Cx({page:e,pages:t,isRoot:n=!1,defaultLang:i,template:a,totalQueriedItems:r},o){let s=t.map(async(u,p)=>{let l=p===0,m=p+1,{domainUrl:x,compose:g}=e.fullPath,h={...e,id:Number.parseInt(`-${e.id}${p}`),fullPath:{...e.fullPath,compose:hc(g,m,{addEndingSlash:!0})},fullUrl:hc(e.fullUrl,m,{addEndingSlash:!0}),slug:hc(e.slug,m),title:Ex(e.title,m),metaTitle:Ex(e.metaTitle||"",m),disableHrefLangs:m>1,template:{...a,isFirstPage:l,pageNumber:m,totalPages:t.length,baseLink:`${x}${g}`,queriedItems:u,totalQueriedItems:r?.length},isRoot:n,defaultLang:i};return await xc(h,o)});return Promise.all(s)}function Ox(e,t){let{multiPageElements:n,...i}=e,a=JSON.parse(JSON.stringify(n));a.find(({sectionSlug:o})=>o==="/")||a.push({});let r=a.map(async(o,s)=>{let u=JSON.parse(JSON.stringify(i)),{sectionSlug:p="/",title:l="",metaTitle:m="",metaDescription:x=""}=o,g=typeof l=="string"?l:l.content,h=u.fullPath.compose||"",y=u.fullUrl.endsWith("/")?u.fullUrl.slice(0,-1):u.fullUrl,_=p?.replace(/\//g,""),O=p==="/"?_:`${_}/`,R=h.endsWith("/")?"":"/",F=`${h}${R}${O}`;return g.trim()&&(u.title=g),x.trim()&&(u.metaDescription=x),u.id=Number.parseInt(`-${u.id}${s}`),u.fullUrl=`${y}/${O}`,u.fullPath.compose=F,u.slug=F,u.template.activeSectionSlug=p,u.template.activeSectionBase=y,u.metaTitle=m.trim()||g.trim()||u.metaTitle,await xc(u,t)});return Promise.all(r)}function Tx(e){return new Promise(n=>{let i=(a,r=0)=>{if(!(!a||typeof a!="object")){for(let o in a){let s=a[o],u=s||typeof s=="object",p=JSON.stringify(s).includes('"hasGriddoMultiPage":true');if(!u||!p)continue;let{component:l,hasGriddoMultiPage:m,elements:x}=s;l&&m&&n(x||[]),i(s,r+1)}r||n(null)}};i([e])})}function iR(e,t,n){return t?.slice(e*(n-1),e*n)}function aR(e,t){let n=Math.ceil(t.length/e)||1;return Array.from({length:n},(a,r)=>r+1)?.map(a=>iR(e,t,a))}function Px(e){let t=e.queriedItems||[],n=e?.itemsPerPage||eR;return aR(n,t)}function Sx(e){return e.replace(/\/+$/,"/")}function hc(e,t,n){let i=e.endsWith("/")?"":"/",a=n?.addEndingSlash?"/":"";return t<=1?Sx(`${e}${a}`):Sx(`${e}${i}${t}${a}`)}function Ex(e,t){return!e||t<=1?e:`${e} - ${t}`}var Ax=ae(),rR=new Date().valueOf().toString();async function Fx(e){yd(),console.info(`API calls with ${L.GRIDDO_API_CONCURRENCY_COUNT} threads`);let{__cx:t}=Ax.paths(),{griddoVersion:n}=Ax,i=vc.default.join(t,"store");try{let a=[],r={},{sitesToPublish:o,sitesToUnpublish:s}=await nh(e),u=o.length>0||s.length>0;u||console.warn(`There are no sites to update in the domain ${e}`),console.info(`Sites to publish: ${dc(o)}`),console.info(`Sites to unpublish: ${dc(s)}`),await ih(s);for(let p of o){let{id:l,slug:m,theme:x,favicon:g,changedPages:h=[]}=p,{siteInfo:y,validPagesIds:_,siteHash:E,unpublishHashes:O,siteLangs:R,defaultLang:F,headers:q,footers:K,socials:pe}=await ah(l),{cloudinaryName:de,useMetaTitle:I,useMetaKeywords:M,showBasicMetaRobots:G,avoidHrefLangsOnCanonicals:Z,avoidSelfReferenceCanonicals:Y,avoidHrefLangXDefault:B,avoidDebugMetas:P}=await wx();r[l]={siteHash:E,unpublishHashes:O,publishHashes:[]};let W=new mr;W.navigations={headers:q,footers:K},p.languages=R;let C=Xf(l,E),T=y.siteScript,N={siteUrl:y.slug,title:y.name,favicon:g},xe={baseUrl:L.GRIDDO_API_URL,publicBaseUrl:L.GRIDDO_PUBLIC_API_URL,instance:L.GRIDDO_REACT_APP_INSTANCE,siteSlug:m,theme:x,siteMetadata:N,socials:pe,siteLangs:R,cloudinaryName:de,griddoVersion:n,siteOptions:{useMetaTitle:I,useMetaKeywords:M,showBasicMetaRobots:G,avoidHrefLangsOnCanonicals:Z,avoidSelfReferenceCanonicals:Y,avoidHrefLangXDefault:B,avoidDebugMetas:P},siteScript:T};Dt(`${p.name} site`),Ix.default.mkdirSync(vc.default.join(i,l.toString()),{recursive:!0});let se=async(at,me)=>{let _n=[],rt=await Yf(me,C);if(!rt)return;a.push(me);let _t=JSON.parse(JSON.stringify(xe));_t.navigations=W.getPageNavigations(rt);let It=await _x({page:rt,cacheKey:rR}),qi=await Tx(It),wn=rt?.mode==="list",nn=!wn&&qi,vr=!nn&&!wn;if(wn){let Ke={page:rt,pages:Px(It),isRoot:!1,defaultLang:F,template:It,totalQueriedItems:It.queriedItems};_n=await Cx(Ke,_t)}if(nn){let Ke=rt;Ke.template=It,Ke.multiPageElements=qi,Ke.defaultLang=F,_n=await Ox(Ke,_t)}if(vr){let Ke=rt;Ke.template=It,Ke.defaultLang=F,_n=[await Dx(Ke,_t)]}rt.hash!==null&&r[l].publishHashes.push(rt.hash),_d(at,_n)},{pagesMissingInStore:Ee,pagesToDeleteFromStore:ht,pagesToWriteToStore:Ne}=await Sd({sitesToPublish:o,validPagesIds:_,changedPages:h,siteDirName:l.toString()});wd(l.toString(),ht);let Re=(0,kx.default)(L.GRIDDO_API_CONCURRENCY_COUNT),tn=Ne.map(at=>Re(()=>se(l.toString(),at)));J(`Store site: ${p.name}`),J(`${_.length} valid pages from API`),J(`changed ${h.length} pages from API`),J(`deleted ${ht.length} pages from store`),J(`missing ${Ee.length} pages in store`),J(`write ${Ne.length} pages to store`),await Promise.all(tn)}u?Ho({buildProcessData:r,createdPages:a,sitesToPublish:o}):(vh(),Ho({buildProcessData:r,createdPages:[],sitesToPublish:[]}))}catch(a){console.error(a.message),process.exit(1)}}async function jx(e){Mf(),await Fx(e),hh()}Rt();zt();async function Lx(){return await Ye({endpoint:fe.DOMAINS})}async function Nx(){await Ot.login();let e=await Lx();return e.length||_e(Cd),J(`getting domains names (${e.length})`),oR(e)}function oR(e){let t=e.filter(({slug:n})=>!!n).map(({slug:n})=>n.replace("/",""));return[...new Set(t)]}var Je=k(require("node:fs")),yt=k(require("node:path")),ze=k(qt());Rt();zt();var sR=ae(),gc=e=>{if(!ze.default.statSync(e).isDirectory())return;let n=ze.default.readdirSync(e);if(n.length>0){let a=n.length,r=n.filter(o=>yt.default.extname(o).toLowerCase()===".xml").length;if(a===r){for(let o of n){let s=yt.default.join(e,o);ze.default.rmSync(s)}n=ze.default.readdirSync(e)}for(let o of n){let s=yt.default.join(e,o);gc(s)}n=ze.default.readdirSync(e)}if(n.length===0){ze.default.rmdirSync(e);return}J("remove empty site directories")};function qx(e,t){for(let n of e)try{Je.default.existsSync(n)||(Je.default.mkdirSync(n,{recursive:!0,...t}),J(`create directory: ${n}`))}catch(i){_e(un,i)}}function Ux(e,t){try{Je.default.existsSync(e)&&(Je.default.renameSync(e,t),J(`rename ${e} to ${t}`))}catch(n){_e(un,n)}}function bc(e,t,n,i={withBackup:!1}){let{withBackup:a}=i;for(let r of n){let o=yt.default.join(e,r),s=yt.default.join(t,r);if(!ze.default.existsSync(o)){console.log(`(Maybe first render) Source directory does not exist: ${o}`);continue}a&&($x(s),J(`create backup: ${s}`));try{ze.default.existsSync(s)&&(Je.default.rmSync(s,{recursive:!0,force:!0}),J(`clean destination: ${s}`)),Je.default.cpSync(o,s,{recursive:!0,preserveTimestamps:!0}),J(`copy: ${o} to ${s}`),a&&(Mx(s),J(`delete backup: ${s}`))}catch(u){a&&(Bx(s),console.log("Backup has been restored.")),_e(un,u)}}}function ei(e,t,n,i){let{override:a,withBackup:r}=i||{};for(let o of n){let s=yt.default.join(e,o),u=yt.default.join(t,o);if(ze.default.existsSync(s)){r&&$x(u);try{a&&ze.default.existsSync(u)&&Je.default.rmSync(u,{recursive:!0,force:!0}),Je.default.renameSync(s,u),J(`moved: ${s} to ${u}`),r&&Mx(u)}catch(p){r&&(Bx(u),console.log("Backup has been restored.")),_e(un,p)}}}}function yc(e){for(let t of e)if(t)try{ze.default.existsSync(t)&&(Je.default.rmSync(t,{recursive:!0,force:!0}),J(`removed directory: ${t}`))}catch(n){_e(un,n)}}function Bx(e,t="-BACKUP"){let n=e+t;try{Je.default.renameSync(n,e),console.log(`Backup ${n} has been restored`)}catch{console.log(`Error while delete ${n} backup`)}}function Mx(e,t="-BACKUP"){let n=e+t;if(ze.default.existsSync(n))try{Je.default.rmSync(n,{recursive:!0,force:!0}),console.log(`Backup ${n} has been deleted`)}catch{console.log(`Error while delete ${n} backup`)}}function $x(e,t="-BACKUP"){let n=e+t;if(ze.default.existsSync(e)){if(ze.default.existsSync(n)){console.log(`Destination ${n} already exists`);return}try{Je.default.renameSync(e,n),console.log(`Backup of ${e} has been created in ${n}`)}catch(i){console.log(`Error while coping ${e} to ${n} backup`),_e(un,i)}}}async function Gx(){let{__cx:e}=sR.paths(),t=yt.default.join(e,"store");try{let n=ja(t);for(let i of n)yt.default.basename(i).startsWith("-")&&Je.default.unlinkSync(i)}catch{console.info("`store` folder does not exist. Skipping multipage or static list template cleaning.")}}var fr=k(require("node:fs")),hr=k(require("node:path"));Rt();zt();var _c=ae();function zx(){let{__cx:e}=_c.paths(),t=hr.default.join(e,".render-sentinel");fr.default.writeFileSync(t,new Date().toISOString())}function Xx(){let{__cx:e}=_c.paths(),t=hr.default.join(e,".render-sentinel");fr.default.unlinkSync(t)}function Hx(){let{__cx:e}=_c.paths(),t=hr.default.join(e,".render-sentinel");fr.default.existsSync(t)||_e(Od)}var cR=ae();async function uR(){Hp("gatsby");let e=await Nx();for(let t of e)await lR(t);if(L.GRIDDO_ALERT_FEATURE){let t=bn.get("API_RESPONSE_TOO_BIG");if(t.entries.length<1)return;jn(`
96
96
  Render register report
97
97
  `),jn(t),jn(),dr({description:`API response size is too large (${L.GRIDDO_API_MAX_RESPONSE_SIZE}KB).`,area:"Griddo",level:"W",fullData:{output:t,date:new Date().toISOString()}})}}async function lR(e){Bt(`Initializing render for the domain ${e}`),zx();let t=cR.paths(e),{all:n,gatsby:i,cx:a}=yx("gatsby",{cxPaths:t}),{__ssg:r,__exports:o,__cache:s,__cx:u,__components:p}=t,l=xx(e),m=!!l&&l!=="";await mt("Clean",{steps:[()=>yc(n.disposables)]}),await mt("Prepare",{steps:[()=>qx(n.initials)]}),await mt("Restore",{steps:[()=>bc(p,r,["static"]),()=>bc(o,u,a.archivables),()=>Ux(xr.default.join(u,"dist"),xr.default.join(r,"public")),()=>ei(s,u,a.cacheables),()=>ei(s,r,i.cacheables)]}),await mt("Data",{steps:[()=>jx(e)]}),await mt("SSG",{steps:[()=>vx(l)]}),await mt("Relocation",{steps:[()=>gx(e,m)]}),await mt("Meta",{steps:[()=>xh(e)]}),await mt("Archive",{steps:[()=>Gx(),()=>gc(xr.default.join(u,"dist")),()=>ei(u,o,a.archivables,{withBackup:!0}),()=>ei(u,s,a.cacheables),()=>ei(r,s,i.cacheables)]}),await mt("Close",{steps:[()=>yc(n.disposables)]}),await mt("HealthCheck",{steps:[()=>Hx()]}),Xx()}var wc=uR;Rt();async function Vx(){try{let e=await mc([()=>wc()]);Bt(`All domains rendered in ${e}s.`),process.exit(0)}catch(e){e instanceof mi&&(console.log(),console.log(ke.black().bgRed(" GRIDDO InternalCXError ")),console.log(),process.exit(1)),console.log(),console.log(ke.black().bgRed(" GRIDDO UnknownError ")),console.log(),console.log(e),console.log(),process.exit(1)}}pc();0&&(module.exports={FileRegister,MemoryRegister,Register,apiRegister,buildLog,componentLibraryPathAlias,debugLog,endpoints,envs,getBuildPagesFromCachedStore,getBuildPagesFromStore,getBuildPagesPath,getConfig,infoLog,insertAlert,isComponentLibrary,pageSizeLog,resolveComponentsPath,startRender,verboseLog,walk});
98
98
  /*! Bundled license information: