@griddo/cx 10.7.3 → 10.7.5
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/adapters/gatsby/utils.d.ts +1 -12
- package/build/index.d.ts +2 -5
- package/build/index.js +1 -1
- package/build/index.js.map +4 -4
- package/build/react/Favicon/index.d.ts +4 -0
- package/build/react/Favicon/utils.d.ts +9 -0
- package/build/react/GriddoIntegrations/index.d.ts +1 -1
- package/build/{utils/integrations.d.ts → react/GriddoIntegrations/utils.d.ts} +1 -1
- package/build/react/index.d.ts +2 -1
- package/build/react/index.js +3 -3
- package/build/run-start-render.js +1 -1
- package/build/run-start-render.js.map +4 -4
- package/build/start-render.js +1 -1
- package/build/start-render.js.map +4 -4
- package/build/utils/images.d.ts +12 -0
- package/build/utils/pages.d.ts +1 -1
- package/exporter/adapters/gatsby/utils.ts +0 -53
- package/exporter/index.ts +2 -5
- package/exporter/react/Favicon/index.tsx +37 -0
- package/exporter/react/Favicon/utils.ts +60 -0
- package/exporter/react/GriddoIntegrations/index.tsx +2 -3
- package/exporter/{utils/integrations.ts → react/GriddoIntegrations/utils.ts} +1 -1
- package/exporter/react/index.tsx +2 -1
- package/{src/utils.ts → exporter/utils/images.ts} +1 -21
- package/exporter/utils/pages.ts +2 -3
- package/package.json +3 -3
- package/src/components/Head.tsx +13 -7
- package/build/browser/index.d.ts +0 -5
- package/build/browser/index.js +0 -2
- package/build/browser/index.js.map +0 -7
- package/exporter/browser/README.md +0 -3
- package/exporter/browser/index.ts +0 -46
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Fields } from "@griddo/core";
|
|
2
1
|
/**
|
|
3
2
|
* Return the assetPrefix with the domain concatenated `assetPrefix/domain` only
|
|
4
3
|
* if the domain is "pro-" **and** there is a env `GRIDDO_ASSET_PREFIX` with any
|
|
@@ -9,16 +8,6 @@ import type { Fields } from "@griddo/core";
|
|
|
9
8
|
* - If the domain is not "pro-", returns ""
|
|
10
9
|
*/
|
|
11
10
|
declare function getGatsbyAssetPrefixWithDomain(domain: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* Format Cloudinary or DAM URL
|
|
14
|
-
*
|
|
15
|
-
* @param image The image url
|
|
16
|
-
* @param width With of the image
|
|
17
|
-
* @param height Height of the image
|
|
18
|
-
* @param format Format of the image
|
|
19
|
-
* @returns A composed URL for the Cloudinary or DAM service
|
|
20
|
-
*/
|
|
21
|
-
declare function formatImage(image: Fields.Image | string, width: number, height: number, format?: string): string | null;
|
|
22
11
|
/**
|
|
23
12
|
* Spawn a new node process `yarn gatsby-build`
|
|
24
13
|
* @note This proccess (`yarn gatsby-build`) can not access to the custom Griddo
|
|
@@ -30,4 +19,4 @@ declare function runGatsbyBuildCommand(assetPrefixWithDomain: string): void;
|
|
|
30
19
|
* with files of type: js, json and css.
|
|
31
20
|
*/
|
|
32
21
|
declare function legacy__createDistFromGatsbyPublic(domain: string, needsAssetPrefix: boolean): Promise<void>;
|
|
33
|
-
export {
|
|
22
|
+
export { getGatsbyAssetPrefixWithDomain, legacy__createDistFromGatsbyPublic, runGatsbyBuildCommand, };
|
package/build/index.d.ts
CHANGED
|
@@ -5,13 +5,10 @@
|
|
|
5
5
|
* This file exports functions to use in both: adapters and SSG's frameworks.
|
|
6
6
|
* Turning CX basically in a javascript library.
|
|
7
7
|
*
|
|
8
|
-
* #
|
|
9
|
-
* There is another export in the `/
|
|
8
|
+
* # React
|
|
9
|
+
* There is another export in the `/react` directory to use exclusivelly in
|
|
10
10
|
* the browser context where nodejs (path, fs, etc..) is not available.
|
|
11
11
|
*
|
|
12
|
-
* # Render script (bin)
|
|
13
|
-
* The binary file of the package is `run-start-render.ts`.
|
|
14
|
-
*
|
|
15
12
|
* # Separate scripts.
|
|
16
13
|
* There are some separate .ts files as build-complete.ts or reset-render.ts
|
|
17
14
|
* that are intended to be used by infra via npm script like `npm run
|
package/build/index.js
CHANGED
|
@@ -81,7 +81,7 @@ ${h}
|
|
|
81
81
|
`),st(`\u231B\uFE0F ${e}`,"",1,0),process.stdin.once("data",()=>{r()})})}async function nt(e,t){let{steps:r,bypass:n,delay:i}=t;if(n)return;let o={Archive:j.GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS,Data:j.GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS,Meta:j.GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS,Relocation:j.GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS,Clean:j.GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS,Restore:j.GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS,Prepare:j.GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS,Close:j.GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS,SSG:j.GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS,HealthCheck:1,__DEBUG__:1},s=0,a=o[e]||1;for(;s<a;)try{console.info(`
|
|
82
82
|
${sn.default.blue("info")} start ${e} life-cycle`);let c=await Aa(r,i);console.info(`${sn.default.green("success")} ${e} - ${c}s`),await _w(`${e} LifeCycle`);break}catch(c){let d=sn.default.bgRed.black(` Error in ${e} LifeCycle `),l=sn.default.yellow(`Attempt (${s+1})`);console.log(`
|
|
83
83
|
${d} ${l}
|
|
84
|
-
`),console.log(c),console.log(),s++}if(s===a)throw new Error(`Exceeded maximum retry attempts (${a}) for ${e} LifeCycle`)}async function Fm(e){await bm(),await Sm(),await wm(e)}function Lm(){let{__cx:e}=Am.paths(),t=Jt.default.join(e,"store"),i=rt.default.readdirSync(t).filter(o=>o!=="metadata").map(o=>Jt.default.join(t,o));for(let o of i)rt.default.rmSync(o,{recursive:!0,force:!0})}Nm.default.config();var Mm=ee();function jm(e){let{proDomain:t}=ee(),r=process.env.GRIDDO_ASSET_PREFIX||process.env.ASSET_PREFIX;if(!r||!e||!e.startsWith(t))return"";let n=`${r}/${e}`;return Z(`Reading env.GRIDDO_ASSET_PREFIX, ${process.env.GRIDDO_ASSET_PREFIX}`),Z(`Setting the asset prefix with the domain concatenated, ${n}`),n}function Ta(e,t,r,n="jpg"){let i=typeof e=="string"?e:e?.url;return i?i.split("/")[2].includes("cloudinary.com")?bw(i,`c_fill,w_${t},h_${r}`):Ew(i,`f/${n}/w/${t}/h/${r}`):null}function Ew(e,t){let r=e.split("/"),n=r.slice(0,-1).join("/"),i=r.slice(-1)[0];return`${n}/${t}/${i}`}function bw(e,t){let r=e.replace("https://",""),n=r.split("/").slice(0,4).join("/"),i=r.replace(n,"");return`https://${n}/${t}${i}`}function qm(e){Z(`read assetPrefixWithDomain, ${e}`);let{__ssg:t}=Mm.paths(),r=(0,km.spawnSync)("yarn",["gatsby-build",process.env.GRIDDO_SSG_VERBOSE?"--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})});if(r.status!==0)throw new Error(`Error in gatsby build ${JSON.stringify(r)}`)}async function $m(e,t){let{__cx:r,__ssg:n}=Mm.paths(e),i=mt.default.join(r,"dist"),o=mt.default.join(r,"assets"),s=mt.default.join(r,"dist",e),a=mt.default.join(n,"public"),c=it.default.readdirSync(a).filter(b=>mt.default.extname(b)===".js"||mt.default.extname(b)===".json"||mt.default.extname(b)===".css"),d=`${a}/page-data`,l=`${o}/page-data`,p=mt.default.join(n,"static"),h=o,m=`${i}/static`,_=`${o}/static`;try{it.default.mkdirSync(o,{recursive:!0}),it.default.copySync(a,i,{preserveTimestamps:!0}),t&&(it.default.copySync(d,l,{preserveTimestamps:!0}),it.default.existsSync(p)&&it.default.copySync(p,h,{overwrite:!1,preserveTimestamps:!0}),it.default.copySync(m,_,{overwrite:!1,preserveTimestamps:!0}),it.default.existsSync(p)&&it.default.copySync(p,s,{overwrite:!1,preserveTimestamps:!0}),c.map(async b=>{let w=`${a}/${b}`,I=`${o}/${b}`;it.default.copySync(w,I,{preserveTimestamps:!0})}))}catch(b){console.error(b)}}var Bi=P(require("node:path"));function Sw(e){let{__cx:t,__exports:r,__caches:n}=e;return{initials:[r,n],disposables:[Bi.default.join(t,"store"),Bi.default.join(t,"apiCache"),Bi.default.join(t,"dist")],cacheables:["apiCache","store"],archivables:["dist","assets"]}}var Gm=Sw;var Ui=P(require("node:path"));function ww(e){let{__ssg:t}=e;return{disposables:[Ui.default.join(t,"public"),Ui.default.join(t,"static"),Ui.default.join(t,".cache")],cacheables:[".cache"],initials:[],archivables:[]}}var Bm=ww;function Um(e,t){let{cxPaths:r}=t,n={gatsby:Bm(r)};return{cx:Gm(r),ssg:n[e]}}var Xm=P(Ni());async function Xi({area:e,description:t,fullData:r,instantNotification:n=!1,level:i}){let o=ue.ALERT,s={level:i,area:e,description:t,fullData:r,instantNotification:n};try{await Xm.default.post(o,s,{headers:{"Content-Type":"application/json"}})}catch(a){console.error("Error creating Griddo alert:",a)}}var ty=P(require("node:fs")),ka=P(require("node:path")),ry=P($t()),ny=P(jo());var Hi=class{static getBody(t,r){let{order:n,sources:i,quantity:o,mode:s,fixed:a,fullRelations:c=!1,allLanguages:d=!1,preferenceLanguage:l=!1,referenceId:p}=t;return s==="auto"?{mode:s,order:n,sources:i,quantity:o,fullRelations:c,allLanguages:d,preferenceLanguage:l}:s==="manual"?{mode:s,fixed:a,fullRelations:c}:s==="navigation"?{mode:s,order:n,quantity:o,fullRelations:c,referenceId:p||r?.structuredDataContent?.id}:(console.log(`Error: Distribuidor mode: ${s} is not recognized on page ${r?.id}.`),t)}static async fetchContentTypeData(t){let{page:r,component:{data:n},cacheKey:i}=t;if(!n)return st(`Error: Page ${r.id} has \`hasDistributorData: true\` but it doesn't have a \`data\` prop`,"No data in ReferenceField"),[];if(Array.isArray(n.sources)&&n.sources.length<1)return st(`Warning: Page with id: ${r.id} has a ReferenceField with empty \`data.sources\``,"Empty data.sources in ReferenceField"),[];let{site:o,lang:s}=n;!n.sources&&n.mode==="auto"&&st(`Warning: Page with id: ${r.id} has a ReferenceField with \`undefined\` \`data.sources\``,"undefined data.sources in ReferenceField");let a=this.getBody(n,r);return await hm(r,a,i,o,s)}static async getDistributorData({page:t,cacheKey:r=""}){try{let{template:n}=t,i=async(a,c=1)=>{if(!(!a||typeof a!="object")&&JSON.stringify(a).includes('"hasDistributorData":true'))for(let d in a){if(d==="queriedItems")continue;let p=a[d];!p||typeof p!="object"||(p.hasDistributorData&&(p.queriedItems=await this.fetchContentTypeData({page:t,cacheKey:r,component:p})),await i(p,c+1))}};return await(async a=>(await i([a]),a))(n)}catch(n){console.error(`Error en get distributor ${n}`),process.exit(1)}}};var Wi=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(){return[...this.navigations.footers].filter(i=>!!i.setAsDefault).reduce((i,o)=>{let{language:s}=o;return{...i,[s]:o}},{})}getDefaultHeaders(){return[...this.navigations.headers].filter(i=>!!i.setAsDefault).reduce((i,o)=>{let{language:s}=o;return{...i,[s]:o}},{})}getRightLanguage(t,r,n){if(!t||!r)return null;let o=t.find(s=>s.language===n&&s.navigationLanguages?.find(a=>a.navigationId===r))||t.find(s=>s.id===r);return o?{...o}:null}getPageHeader(t,r){return this.getRightLanguage(this.navigations.headers,t,r)}getPageFooter(t,r){return this.getRightLanguage(this.navigations.footers,t,r)}getPageNavigations(t){let{header:r,footer:n,language:i,template:{templateType:o},templateConfig:{defaultHeader:s,defaultFooter:a,templates:c}}=t,d=_=>{let b=_.find(w=>typeof w=="number");return typeof b=="number"?b:null},l=d([r,c?.[o]?.defaultHeader,s]),p=d([n,c?.[o]?.defaultFooter,a]),h=l?this.getPageHeader(l,i):l===0?null:this._defaultHeaders[i],m=p?this.getPageFooter(p,i):p===0?null:this._defaultFooters[i];return{header:h,footer:m}}};async function Hm(){return await $e({endpoint:ue.SETTINGS})}var Vm=P($t());Vm.default.config();var Dw=25;function Cw({socialTitle:e,socialDescription:t,socialImage:r}){return{type:"website",title:e,description:t,image:r?Ta(r,1280,768):"",twitterImage:r?Ta(r,1280,768):""}}function Rw(e){let{title:t,metaTitle:r,metaDescription:n,canonicalURL:i,locale:o,url:s,isIndexed:a,follow:c,metasAdvanced:d,pageLanguages:l,fullUrl:p,metaKeywords:h}=e,m=d?.split(",").filter(Boolean).map(_=>_.trim().toLowerCase())||[];return{title:(r||t||"").trim(),description:n,canonical:i&&i.trim()&&i!==p?i.trim():a?p:void 0,locale:o,url:s,index:a?"index":"noindex",follow:c?"follow":"nofollow",translate:m.includes("notranslate")?"notranslate":"",metasAdvanced:m.filter(_=>_!=="notranslate").join(),pageLanguages:l,metaKeywords:h?.filter(Boolean).map(_=>_.replace(/"/g,"'")).join(", ")}}async function La(e,t){let{id:r,title:n,fullPath:i,language:o,breadcrumb:s,socialDescription:a,socialImage:c,socialTitle:d}=e,{baseUrl:l,cloudinaryName:p,griddoVersion:h,siteLangs:m,siteMetadata:_,siteOptions:b,siteScript:w,siteSlug:I,socials:F,theme:A,navigations:{header:L,footer:K}}=t;e.breadcrumb=s,e.siteSlug=I,e.apiUrl=l,e.publicApiUrl=t.publicBaseUrl,e.instance=t.instance;let Ge=m.find(({id:X})=>X===e?.language)?.locale.replace(/_/g,"-"),de=Rw(e),R=Cw({socialDescription:a,socialImage:c,socialTitle:d}),q=i.compose,M=new Date().toString();return{path:q,size:void 0,context:{id:r,title:n,fullPath:i,locale:Ge,languageId:o,theme:A,siteMetadata:_,pageMetadata:de,openGraph:R,socials:F,siteLangs:m,cloudinaryName:p,siteOptions:b,griddoVersion:h,renderDate:M,siteScript:w,header:L,footer:K,page:e}}}async function zm(e,t){return await La(e,t)}async function Jm({page:e,pages:t,isRoot:r=!1,defaultLang:n,template:i,totalQueriedItems:o},s){let a=t.map(async(c,d)=>{let l=d===0,p=d+1,{domainUrl:h,compose:m}=e.fullPath,_={...e,id:parseInt("-"+e.id+d),fullPath:{...e.fullPath,compose:Fa(m,p,{addEndingSlash:!0})},fullUrl:Fa(e.fullUrl,p,{addEndingSlash:!0}),slug:Fa(e.slug,p),title:Ym(e.title,p),metaTitle:Ym(e.metaTitle||"",p),disableHrefLangs:p>1,template:{...i,isFirstPage:l,pageNumber:p,totalPages:t.length,baseLink:`${h}${m}`,queriedItems:c,totalQueriedItems:o?.length},isRoot:r,defaultLang:n};return await La(_,s)});return Promise.all(a)}function Km(e,t){let{multiPageElements:r,...n}=e,i=JSON.parse(JSON.stringify(r));i.find(({sectionSlug:s})=>s==="/")||i.push({});let o=i.map(async(s,a)=>{let c=JSON.parse(JSON.stringify(n)),{sectionSlug:d="/",title:l="",metaTitle:p="",metaDescription:h=""}=s,m=typeof l=="string"?l:l.content,_=c.fullPath.compose||"",b=c.fullUrl.endsWith("/")?c.fullUrl.slice(0,-1):c.fullUrl,w=d?.replace(/\//g,""),F=d==="/"?w:w+"/",A=_.endsWith("/")?"":"/",L=`${_}${A}${F}`;return m.trim()&&(c.title=m),h.trim()&&(c.metaDescription=h),c.id=parseInt("-"+c.id+a),c.fullUrl=`${b}/${F}`,c.fullPath.compose=L,c.slug=L,c.template.activeSectionSlug=d,c.template.activeSectionBase=b,c.metaTitle=p.trim()||m.trim()||c.metaTitle,await La(c,t)});return Promise.all(o)}function Qm(e){return new Promise(r=>{let n=(i,o=0)=>{if(!(!i||typeof i!="object")){for(let s in i){let a=i[s],c=a||typeof a=="object",d=JSON.stringify(a).includes('"hasGriddoMultiPage":true');if(!c||!d)continue;let{component:l,hasGriddoMultiPage:p,elements:h}=a;l&&p&&r(h||[]),n(a,o+1)}o||r(null)}};n([e])})}function xw(e,t,r){return t?.slice(e*(r-1),e*r)}function Ow(e,t){let r=Math.ceil(t.length/e)||1;return Array.from({length:r},(i,o)=>o+1)?.map(i=>xw(e,t,i))}function Zm(e){let t=e.queriedItems||[],r=e?.itemsPerPage||Dw;return Ow(r,t)}function Wm(e){return e.replace(/\/+$/,"/")}function Fa(e,t,r){let n=e.endsWith("/")?"":"/",i=r?.addEndingSlash?"/":"";return t<=1?Wm(`${e}${i}`):Wm(`${e}${n}${t}${i}`)}function Ym(e,t){return!e||t<=1?e:`${e} - ${t}`}var ey=ee();ry.default.config();var Pw=new Date().valueOf().toString();async function iy(e){yp(),console.info(`API calls with ${j.GRIDDO_API_CONCURRENCY_COUNT} threads`);let{__cx:t}=ey.paths(),{griddoVersion:r}=ey,n=ka.default.join(t,"store");try{let i=[],o={},{sitesToPublish:s,sitesToUnpublish:a}=await vm(e),c=s.length>0||a.length>0;c||console.warn(`There are no sites to update in the domain ${e}`),console.info(`Sites to publish: ${Ia(s)}`),console.info(`Sites to unpublish: ${Ia(a)}`),await _m(a);for(let d of s){let{id:l,slug:p,theme:h,favicon:m,changedPages:_=[]}=d,{siteInfo:b,validPagesIds:w,siteHash:I,unpublishHashes:F,siteLangs:A,defaultLang:L,headers:K,footers:ce,socials:Ge}=await Em(l),{cloudinaryName:de,useMetaTitle:R,useMetaKeywords:q,showBasicMetaRobots:M,avoidHrefLangsOnCanonicals:Q,avoidSelfReferenceCanonicals:X,avoidHrefLangXDefault:W,avoidDebugMetas:S}=await Hm();o[l]={siteHash:I,unpublishHashes:F,publishHashes:[]};let H=new Wi;H.navigations={headers:K,footers:ce},d.languages=A;let k=om(l,I),x=b.siteScript,$={siteUrl:b.slug,title:b.name,favicon:m},ye={baseUrl:j.GRIDDO_API_URL,publicBaseUrl:j.GRIDDO_PUBLIC_API_URL,instance:j.GRIDDO_REACT_APP_INSTANCE,siteSlug:p,theme:h,siteMetadata:$,socials:Ge,siteLangs:A,cloudinaryName:de,griddoVersion:r,siteOptions:{useMetaTitle:R,useMetaKeywords:q,showBasicMetaRobots:M,avoidHrefLangsOnCanonicals:Q,avoidSelfReferenceCanonicals:X,avoidHrefLangXDefault:W,avoidDebugMetas:S},siteScript:x};Ze(`${d.name} site`),ty.default.mkdirSync(ka.default.join(n,l.toString()),{recursive:!0});let ot=async(Nt,Kt)=>{let Qt=[],ze=await fm(Kt,k);if(!ze)return;i.push(Kt);let ft=JSON.parse(JSON.stringify(ye));ft.navigations=H.getPageNavigations(ze);let yt=await Hi.getDistributorData({page:ze,cacheKey:Pw}),un=await Qm(yt),Zt=ze?.mode==="list",Mt=!Zt&&un,Qi=!Mt&&!Zt;if(Zt){let Be={page:ze,pages:Zm(yt),isRoot:!1,defaultLang:L,template:yt,totalQueriedItems:yt.queriedItems};Qt=await Jm(Be,ft)}if(Mt){let Be=ze;Be.template=yt,Be.multiPageElements=un,Be.defaultLang=L,Qt=await Km(Be,ft)}if(Qi){let Be=ze;Be.template=yt,Be.defaultLang=L,Qt=[await zm(Be,ft)]}ze.hash!==null&&o[l].publishHashes.push(ze.hash),gp(Nt,Qt)},{pagesMissingInStore:We,pagesToDeleteFromStore:lt,pagesToWriteToStore:kt}=await _p({sitesToPublish:s,validPagesIds:w,changedPages:_,siteDirName:l.toString()});vp(l.toString(),lt);let Se=(0,ny.default)(j.GRIDDO_API_CONCURRENCY_COUNT),an=kt.map(Nt=>Se(()=>ot(l.toString(),Nt)));Z(`Store site: ${d.name}`),Z(`${w} valid pages from API`),Z(`changed ${_} pages from API`),Z(`deleted ${lt} pages from store`),Z(`missing ${We} pages in store`),Z(`write ${kt} pages to store`),await Promise.all(an)}c?Ns(n,{buildProcessData:o,createdPages:i,sitesToPublish:s}):(Lm(),Ns(n,{buildProcessData:o,createdPages:[],sitesToPublish:[]}))}catch(i){console.error(i.message),process.exit(1)}}async function oy(e){tm(),await iy(e),Tm()}var Vi=P(require("node:fs")),zi=P(require("node:path"));var Na=class extends Error{constructor(){super(),this.name="InternalCXError",this.stack=""}};function Yi({error:e,message:t,expected:r="",hint:n=""}){let i=[t,r,n].filter(Boolean).join(`
|
|
84
|
+
`),console.log(c),console.log(),s++}if(s===a)throw new Error(`Exceeded maximum retry attempts (${a}) for ${e} LifeCycle`)}async function Fm(e){await bm(),await Sm(),await wm(e)}function Lm(){let{__cx:e}=Am.paths(),t=Jt.default.join(e,"store"),i=rt.default.readdirSync(t).filter(o=>o!=="metadata").map(o=>Jt.default.join(t,o));for(let o of i)rt.default.rmSync(o,{recursive:!0,force:!0})}Nm.default.config();var Mm=ee();function jm(e){let{proDomain:t}=ee(),r=process.env.GRIDDO_ASSET_PREFIX||process.env.ASSET_PREFIX;if(!r||!e||!e.startsWith(t))return"";let n=`${r}/${e}`;return Z(`Reading env.GRIDDO_ASSET_PREFIX, ${process.env.GRIDDO_ASSET_PREFIX}`),Z(`Setting the asset prefix with the domain concatenated, ${n}`),n}function qm(e){Z(`read assetPrefixWithDomain, ${e}`);let{__ssg:t}=Mm.paths(),r=(0,km.spawnSync)("yarn",["gatsby-build",process.env.GRIDDO_SSG_VERBOSE?"--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})});if(r.status!==0)throw new Error(`Error in gatsby build ${JSON.stringify(r)}`)}async function $m(e,t){let{__cx:r,__ssg:n}=Mm.paths(e),i=mt.default.join(r,"dist"),o=mt.default.join(r,"assets"),s=mt.default.join(r,"dist",e),a=mt.default.join(n,"public"),c=it.default.readdirSync(a).filter(b=>mt.default.extname(b)===".js"||mt.default.extname(b)===".json"||mt.default.extname(b)===".css"),d=`${a}/page-data`,l=`${o}/page-data`,p=mt.default.join(n,"static"),h=o,m=`${i}/static`,_=`${o}/static`;try{it.default.mkdirSync(o,{recursive:!0}),it.default.copySync(a,i,{preserveTimestamps:!0}),t&&(it.default.copySync(d,l,{preserveTimestamps:!0}),it.default.existsSync(p)&&it.default.copySync(p,h,{overwrite:!1,preserveTimestamps:!0}),it.default.copySync(m,_,{overwrite:!1,preserveTimestamps:!0}),it.default.existsSync(p)&&it.default.copySync(p,s,{overwrite:!1,preserveTimestamps:!0}),c.map(async b=>{let w=`${a}/${b}`,I=`${o}/${b}`;it.default.copySync(w,I,{preserveTimestamps:!0})}))}catch(b){console.error(b)}}var Bi=P(require("node:path"));function Ew(e){let{__cx:t,__exports:r,__caches:n}=e;return{initials:[r,n],disposables:[Bi.default.join(t,"store"),Bi.default.join(t,"apiCache"),Bi.default.join(t,"dist")],cacheables:["apiCache","store"],archivables:["dist","assets"]}}var Gm=Ew;var Ui=P(require("node:path"));function bw(e){let{__ssg:t}=e;return{disposables:[Ui.default.join(t,"public"),Ui.default.join(t,"static"),Ui.default.join(t,".cache")],cacheables:[".cache"],initials:[],archivables:[]}}var Bm=bw;function Um(e,t){let{cxPaths:r}=t,n={gatsby:Bm(r)};return{cx:Gm(r),ssg:n[e]}}var Xm=P(Ni());async function Xi({area:e,description:t,fullData:r,instantNotification:n=!1,level:i}){let o=ue.ALERT,s={level:i,area:e,description:t,fullData:r,instantNotification:n};try{await Xm.default.post(o,s,{headers:{"Content-Type":"application/json"}})}catch(a){console.error("Error creating Griddo alert:",a)}}var ty=P(require("node:fs")),ka=P(require("node:path")),ry=P($t()),ny=P(jo());var Hi=class{static getBody(t,r){let{order:n,sources:i,quantity:o,mode:s,fixed:a,fullRelations:c=!1,allLanguages:d=!1,preferenceLanguage:l=!1,referenceId:p}=t;return s==="auto"?{mode:s,order:n,sources:i,quantity:o,fullRelations:c,allLanguages:d,preferenceLanguage:l}:s==="manual"?{mode:s,fixed:a,fullRelations:c}:s==="navigation"?{mode:s,order:n,quantity:o,fullRelations:c,referenceId:p||r?.structuredDataContent?.id}:(console.log(`Error: Distribuidor mode: ${s} is not recognized on page ${r?.id}.`),t)}static async fetchContentTypeData(t){let{page:r,component:{data:n},cacheKey:i}=t;if(!n)return st(`Error: Page ${r.id} has \`hasDistributorData: true\` but it doesn't have a \`data\` prop`,"No data in ReferenceField"),[];if(Array.isArray(n.sources)&&n.sources.length<1)return st(`Warning: Page with id: ${r.id} has a ReferenceField with empty \`data.sources\``,"Empty data.sources in ReferenceField"),[];let{site:o,lang:s}=n;!n.sources&&n.mode==="auto"&&st(`Warning: Page with id: ${r.id} has a ReferenceField with \`undefined\` \`data.sources\``,"undefined data.sources in ReferenceField");let a=this.getBody(n,r);return await hm(r,a,i,o,s)}static async getDistributorData({page:t,cacheKey:r=""}){try{let{template:n}=t,i=async(a,c=1)=>{if(!(!a||typeof a!="object")&&JSON.stringify(a).includes('"hasDistributorData":true'))for(let d in a){if(d==="queriedItems")continue;let p=a[d];!p||typeof p!="object"||(p.hasDistributorData&&(p.queriedItems=await this.fetchContentTypeData({page:t,cacheKey:r,component:p})),await i(p,c+1))}};return await(async a=>(await i([a]),a))(n)}catch(n){console.error(`Error en get distributor ${n}`),process.exit(1)}}};var Wi=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(){return[...this.navigations.footers].filter(i=>!!i.setAsDefault).reduce((i,o)=>{let{language:s}=o;return{...i,[s]:o}},{})}getDefaultHeaders(){return[...this.navigations.headers].filter(i=>!!i.setAsDefault).reduce((i,o)=>{let{language:s}=o;return{...i,[s]:o}},{})}getRightLanguage(t,r,n){if(!t||!r)return null;let o=t.find(s=>s.language===n&&s.navigationLanguages?.find(a=>a.navigationId===r))||t.find(s=>s.id===r);return o?{...o}:null}getPageHeader(t,r){return this.getRightLanguage(this.navigations.headers,t,r)}getPageFooter(t,r){return this.getRightLanguage(this.navigations.footers,t,r)}getPageNavigations(t){let{header:r,footer:n,language:i,template:{templateType:o},templateConfig:{defaultHeader:s,defaultFooter:a,templates:c}}=t,d=_=>{let b=_.find(w=>typeof w=="number");return typeof b=="number"?b:null},l=d([r,c?.[o]?.defaultHeader,s]),p=d([n,c?.[o]?.defaultFooter,a]),h=l?this.getPageHeader(l,i):l===0?null:this._defaultHeaders[i],m=p?this.getPageFooter(p,i):p===0?null:this._defaultFooters[i];return{header:h,footer:m}}};async function Hm(){return await $e({endpoint:ue.SETTINGS})}var Vm=P($t());function Ta(e,t,r,n="jpg"){let i=typeof e=="string"?e:e?.url;return i?i.split("/")[2].includes("cloudinary.com")?ww(i,`c_fill,w_${t},h_${r}`):Sw(i,`f/${n}/w/${t}/h/${r}`):null}function Sw(e,t){let r=e.split("/"),n=r.slice(0,-1).join("/"),i=r.slice(-1)[0];return`${n}/${t}/${i}`}function ww(e,t){let r=e.replace("https://",""),n=r.split("/").slice(0,4).join("/"),i=r.replace(n,"");return`https://${n}/${t}${i}`}Vm.default.config();var Dw=25;function Cw({socialTitle:e,socialDescription:t,socialImage:r}){return{type:"website",title:e,description:t,image:r?Ta(r,1280,768):"",twitterImage:r?Ta(r,1280,768):""}}function Rw(e){let{title:t,metaTitle:r,metaDescription:n,canonicalURL:i,locale:o,url:s,isIndexed:a,follow:c,metasAdvanced:d,pageLanguages:l,fullUrl:p,metaKeywords:h}=e,m=d?.split(",").filter(Boolean).map(_=>_.trim().toLowerCase())||[];return{title:(r||t||"").trim(),description:n,canonical:i&&i.trim()&&i!==p?i.trim():a?p:void 0,locale:o,url:s,index:a?"index":"noindex",follow:c?"follow":"nofollow",translate:m.includes("notranslate")?"notranslate":"",metasAdvanced:m.filter(_=>_!=="notranslate").join(),pageLanguages:l,metaKeywords:h?.filter(Boolean).map(_=>_.replace(/"/g,"'")).join(", ")}}async function La(e,t){let{id:r,title:n,fullPath:i,language:o,breadcrumb:s,socialDescription:a,socialImage:c,socialTitle:d}=e,{baseUrl:l,cloudinaryName:p,griddoVersion:h,siteLangs:m,siteMetadata:_,siteOptions:b,siteScript:w,siteSlug:I,socials:F,theme:A,navigations:{header:L,footer:K}}=t;e.breadcrumb=s,e.siteSlug=I,e.apiUrl=l,e.publicApiUrl=t.publicBaseUrl,e.instance=t.instance;let Ge=m.find(({id:X})=>X===e?.language)?.locale.replace(/_/g,"-"),de=Rw(e),R=Cw({socialDescription:a,socialImage:c,socialTitle:d}),q=i.compose,M=new Date().toString();return{path:q,size:void 0,context:{id:r,title:n,fullPath:i,locale:Ge,languageId:o,theme:A,siteMetadata:_,pageMetadata:de,openGraph:R,socials:F,siteLangs:m,cloudinaryName:p,siteOptions:b,griddoVersion:h,renderDate:M,siteScript:w,header:L,footer:K,page:e}}}async function zm(e,t){return await La(e,t)}async function Jm({page:e,pages:t,isRoot:r=!1,defaultLang:n,template:i,totalQueriedItems:o},s){let a=t.map(async(c,d)=>{let l=d===0,p=d+1,{domainUrl:h,compose:m}=e.fullPath,_={...e,id:parseInt("-"+e.id+d),fullPath:{...e.fullPath,compose:Fa(m,p,{addEndingSlash:!0})},fullUrl:Fa(e.fullUrl,p,{addEndingSlash:!0}),slug:Fa(e.slug,p),title:Ym(e.title,p),metaTitle:Ym(e.metaTitle||"",p),disableHrefLangs:p>1,template:{...i,isFirstPage:l,pageNumber:p,totalPages:t.length,baseLink:`${h}${m}`,queriedItems:c,totalQueriedItems:o?.length},isRoot:r,defaultLang:n};return await La(_,s)});return Promise.all(a)}function Km(e,t){let{multiPageElements:r,...n}=e,i=JSON.parse(JSON.stringify(r));i.find(({sectionSlug:s})=>s==="/")||i.push({});let o=i.map(async(s,a)=>{let c=JSON.parse(JSON.stringify(n)),{sectionSlug:d="/",title:l="",metaTitle:p="",metaDescription:h=""}=s,m=typeof l=="string"?l:l.content,_=c.fullPath.compose||"",b=c.fullUrl.endsWith("/")?c.fullUrl.slice(0,-1):c.fullUrl,w=d?.replace(/\//g,""),F=d==="/"?w:w+"/",A=_.endsWith("/")?"":"/",L=`${_}${A}${F}`;return m.trim()&&(c.title=m),h.trim()&&(c.metaDescription=h),c.id=parseInt("-"+c.id+a),c.fullUrl=`${b}/${F}`,c.fullPath.compose=L,c.slug=L,c.template.activeSectionSlug=d,c.template.activeSectionBase=b,c.metaTitle=p.trim()||m.trim()||c.metaTitle,await La(c,t)});return Promise.all(o)}function Qm(e){return new Promise(r=>{let n=(i,o=0)=>{if(!(!i||typeof i!="object")){for(let s in i){let a=i[s],c=a||typeof a=="object",d=JSON.stringify(a).includes('"hasGriddoMultiPage":true');if(!c||!d)continue;let{component:l,hasGriddoMultiPage:p,elements:h}=a;l&&p&&r(h||[]),n(a,o+1)}o||r(null)}};n([e])})}function xw(e,t,r){return t?.slice(e*(r-1),e*r)}function Ow(e,t){let r=Math.ceil(t.length/e)||1;return Array.from({length:r},(i,o)=>o+1)?.map(i=>xw(e,t,i))}function Zm(e){let t=e.queriedItems||[],r=e?.itemsPerPage||Dw;return Ow(r,t)}function Wm(e){return e.replace(/\/+$/,"/")}function Fa(e,t,r){let n=e.endsWith("/")?"":"/",i=r?.addEndingSlash?"/":"";return t<=1?Wm(`${e}${i}`):Wm(`${e}${n}${t}${i}`)}function Ym(e,t){return!e||t<=1?e:`${e} - ${t}`}var ey=ee();ry.default.config();var Pw=new Date().valueOf().toString();async function iy(e){yp(),console.info(`API calls with ${j.GRIDDO_API_CONCURRENCY_COUNT} threads`);let{__cx:t}=ey.paths(),{griddoVersion:r}=ey,n=ka.default.join(t,"store");try{let i=[],o={},{sitesToPublish:s,sitesToUnpublish:a}=await vm(e),c=s.length>0||a.length>0;c||console.warn(`There are no sites to update in the domain ${e}`),console.info(`Sites to publish: ${Ia(s)}`),console.info(`Sites to unpublish: ${Ia(a)}`),await _m(a);for(let d of s){let{id:l,slug:p,theme:h,favicon:m,changedPages:_=[]}=d,{siteInfo:b,validPagesIds:w,siteHash:I,unpublishHashes:F,siteLangs:A,defaultLang:L,headers:K,footers:ce,socials:Ge}=await Em(l),{cloudinaryName:de,useMetaTitle:R,useMetaKeywords:q,showBasicMetaRobots:M,avoidHrefLangsOnCanonicals:Q,avoidSelfReferenceCanonicals:X,avoidHrefLangXDefault:W,avoidDebugMetas:S}=await Hm();o[l]={siteHash:I,unpublishHashes:F,publishHashes:[]};let H=new Wi;H.navigations={headers:K,footers:ce},d.languages=A;let k=om(l,I),x=b.siteScript,$={siteUrl:b.slug,title:b.name,favicon:m},ye={baseUrl:j.GRIDDO_API_URL,publicBaseUrl:j.GRIDDO_PUBLIC_API_URL,instance:j.GRIDDO_REACT_APP_INSTANCE,siteSlug:p,theme:h,siteMetadata:$,socials:Ge,siteLangs:A,cloudinaryName:de,griddoVersion:r,siteOptions:{useMetaTitle:R,useMetaKeywords:q,showBasicMetaRobots:M,avoidHrefLangsOnCanonicals:Q,avoidSelfReferenceCanonicals:X,avoidHrefLangXDefault:W,avoidDebugMetas:S},siteScript:x};Ze(`${d.name} site`),ty.default.mkdirSync(ka.default.join(n,l.toString()),{recursive:!0});let ot=async(Nt,Kt)=>{let Qt=[],ze=await fm(Kt,k);if(!ze)return;i.push(Kt);let ft=JSON.parse(JSON.stringify(ye));ft.navigations=H.getPageNavigations(ze);let yt=await Hi.getDistributorData({page:ze,cacheKey:Pw}),un=await Qm(yt),Zt=ze?.mode==="list",Mt=!Zt&&un,Qi=!Mt&&!Zt;if(Zt){let Be={page:ze,pages:Zm(yt),isRoot:!1,defaultLang:L,template:yt,totalQueriedItems:yt.queriedItems};Qt=await Jm(Be,ft)}if(Mt){let Be=ze;Be.template=yt,Be.multiPageElements=un,Be.defaultLang=L,Qt=await Km(Be,ft)}if(Qi){let Be=ze;Be.template=yt,Be.defaultLang=L,Qt=[await zm(Be,ft)]}ze.hash!==null&&o[l].publishHashes.push(ze.hash),gp(Nt,Qt)},{pagesMissingInStore:We,pagesToDeleteFromStore:lt,pagesToWriteToStore:kt}=await _p({sitesToPublish:s,validPagesIds:w,changedPages:_,siteDirName:l.toString()});vp(l.toString(),lt);let Se=(0,ny.default)(j.GRIDDO_API_CONCURRENCY_COUNT),an=kt.map(Nt=>Se(()=>ot(l.toString(),Nt)));Z(`Store site: ${d.name}`),Z(`${w} valid pages from API`),Z(`changed ${_} pages from API`),Z(`deleted ${lt} pages from store`),Z(`missing ${We} pages in store`),Z(`write ${kt} pages to store`),await Promise.all(an)}c?Ns(n,{buildProcessData:o,createdPages:i,sitesToPublish:s}):(Lm(),Ns(n,{buildProcessData:o,createdPages:[],sitesToPublish:[]}))}catch(i){console.error(i.message),process.exit(1)}}async function oy(e){tm(),await iy(e),Tm()}var Vi=P(require("node:fs")),zi=P(require("node:path"));var Na=class extends Error{constructor(){super(),this.name="InternalCXError",this.stack=""}};function Yi({error:e,message:t,expected:r="",hint:n=""}){let i=[t,r,n].filter(Boolean).join(`
|
|
85
85
|
`);throw st(i,e,1,0),new Na}var sy={id:100,error:"NoDomainsFoundError",message:"No domains found in this instance. The process cannot continue.",expected:"This can happen if the API is not functioning or the site is not properly configured, or the domains are not registered.",hint:"You can contact the instance administrator."},ay={id:101,error:"RenderUUIDError",message:`Render sentinel file does not exist.
|
|
86
86
|
The rendering uuid cannot be read safely.
|
|
87
87
|
There was probably a instance deployment during the render and files were deleted.
|