@griddo/cx 11.9.17 → 11.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/README.md +13 -240
  2. package/build/commands/end-render.d.ts +0 -1
  3. package/build/commands/end-render.js +31 -0
  4. package/build/commands/end-render.js.map +7 -0
  5. package/build/commands/prepare-assets-directory.js +9 -0
  6. package/build/commands/prepare-assets-directory.js.map +7 -0
  7. package/build/commands/prepare-domains-render.js +40 -0
  8. package/build/commands/prepare-domains-render.js.map +7 -0
  9. package/build/commands/reset-render.d.ts +0 -1
  10. package/build/commands/reset-render.js +31 -0
  11. package/build/commands/reset-render.js.map +7 -0
  12. package/build/commands/single-domain-upload-search-content.d.ts +1 -0
  13. package/build/commands/start-render.d.ts +0 -1
  14. package/build/commands/start-render.js +66 -0
  15. package/build/commands/start-render.js.map +7 -0
  16. package/build/commands/upload-search-content.d.ts +0 -1
  17. package/build/commands/upload-search-content.js +32 -0
  18. package/build/commands/upload-search-content.js.map +7 -0
  19. package/build/core/GriddoLog.d.ts +16 -0
  20. package/build/{utils/health-checks.d.ts → core/check-env-health.d.ts} +4 -2
  21. package/build/core/db-class.d.ts +11 -0
  22. package/build/core/db.d.ts +4 -0
  23. package/build/core/dist-rollback.d.ts +11 -0
  24. package/build/core/errors.d.ts +26 -0
  25. package/build/core/fs.d.ts +69 -0
  26. package/build/core/life-cycle.d.ts +26 -0
  27. package/build/core/logger.d.ts +18 -0
  28. package/build/core/objects.d.ts +11 -0
  29. package/build/core/print-logos.d.ts +5 -0
  30. package/build/index.d.ts +10 -29
  31. package/build/index.js +404 -73
  32. package/build/react/DynamicScript/index.d.ts +4 -0
  33. package/build/react/GriddoFavicon/index.d.ts +4 -0
  34. package/build/react/GriddoIntegrations/index.d.ts +3 -4
  35. package/build/react/GriddoIntegrations/utils.d.ts +7 -6
  36. package/build/react/GriddoOpenGraph/index.d.ts +10 -0
  37. package/build/react/index.d.ts +3 -2
  38. package/build/react/index.js +1 -3
  39. package/build/{utils → services}/api.d.ts +1 -1
  40. package/build/services/auth.d.ts +2 -5
  41. package/build/services/domains.d.ts +3 -4
  42. package/build/services/manage-sites.d.ts +22 -0
  43. package/build/services/manage-store.d.ts +32 -0
  44. package/build/services/navigation.d.ts +16 -16
  45. package/build/{utils → services}/pages.d.ts +3 -3
  46. package/build/services/reference-fields.d.ts +3 -3
  47. package/build/services/render-artifacts.d.ts +6 -0
  48. package/build/services/render.d.ts +70 -0
  49. package/build/services/robots.d.ts +2 -19
  50. package/build/services/sitemaps.d.ts +5 -0
  51. package/build/services/sites.d.ts +8 -5
  52. package/build/services/store.d.ts +10 -1
  53. package/build/shared/context.d.ts +36 -0
  54. package/build/shared/envs.d.ts +17 -0
  55. package/build/{errors/errors-data.d.ts → shared/errors.d.ts} +5 -3
  56. package/build/shared/npm-modules/brush.d.ts +18 -0
  57. package/build/shared/npm-modules/find-up-simple.d.ts +34 -0
  58. package/build/shared/npm-modules/pkg-dir.d.ts +7 -0
  59. package/build/shared/npm-modules/xml-parser.d.ts +4 -0
  60. package/build/{types → shared/types}/api.d.ts +18 -18
  61. package/build/{types → shared/types}/global.d.ts +15 -16
  62. package/build/{types → shared/types}/navigation.d.ts +5 -5
  63. package/build/{types → shared/types}/pages.d.ts +9 -9
  64. package/build/shared/types/render.d.ts +56 -0
  65. package/build/{types → shared/types}/sites.d.ts +18 -19
  66. package/build/shared/types.d.ts +15 -0
  67. package/build/ssg-adapters/gatsby/actions/clean.d.ts +3 -0
  68. package/build/ssg-adapters/gatsby/actions/close.d.ts +3 -0
  69. package/build/ssg-adapters/gatsby/actions/data.d.ts +2 -0
  70. package/build/ssg-adapters/gatsby/actions/healthCheck.d.ts +2 -0
  71. package/build/ssg-adapters/gatsby/actions/init.d.ts +2 -0
  72. package/build/ssg-adapters/gatsby/actions/logs.d.ts +3 -0
  73. package/build/ssg-adapters/gatsby/actions/meta.d.ts +2 -0
  74. package/build/ssg-adapters/gatsby/actions/prepare.d.ts +2 -0
  75. package/build/ssg-adapters/gatsby/actions/relocation.d.ts +2 -0
  76. package/build/ssg-adapters/gatsby/actions/restore.d.ts +3 -0
  77. package/build/ssg-adapters/gatsby/actions/ssg.d.ts +3 -0
  78. package/build/ssg-adapters/gatsby/actions/sync.d.ts +3 -0
  79. package/build/ssg-adapters/gatsby/index.d.ts +9 -0
  80. package/build/ssg-adapters/gatsby/shared/artifacts.d.ts +4 -0
  81. package/build/ssg-adapters/gatsby/shared/diff-assets.d.ts +15 -0
  82. package/build/ssg-adapters/gatsby/shared/extract-assets.d.ts +7 -0
  83. package/build/ssg-adapters/gatsby/shared/gatsby-build.d.ts +7 -0
  84. package/build/ssg-adapters/gatsby/shared/render-rollback.d.ts +18 -0
  85. package/build/ssg-adapters/gatsby/shared/sync-render.d.ts +26 -0
  86. package/build/ssg-adapters/gatsby/shared/types.d.ts +34 -0
  87. package/cli.mjs +231 -0
  88. package/exporter/build-esbuild.noop +42 -0
  89. package/exporter/build.sh +16 -24
  90. package/exporter/commands/README.md +142 -0
  91. package/exporter/commands/end-render.ts +53 -87
  92. package/exporter/commands/prepare-assets-directory.ts +35 -0
  93. package/exporter/commands/prepare-domains-render.ts +150 -33
  94. package/exporter/commands/reset-render.ts +13 -8
  95. package/exporter/commands/single-domain-upload-search-content.ts +206 -0
  96. package/exporter/commands/start-render.ts +14 -65
  97. package/exporter/commands/upload-search-content.ts +204 -26
  98. package/exporter/core/GriddoLog.ts +45 -0
  99. package/exporter/core/check-env-health.ts +203 -0
  100. package/exporter/core/db-class.ts +54 -0
  101. package/exporter/core/db.ts +33 -0
  102. package/exporter/core/dist-rollback.ts +49 -0
  103. package/exporter/core/errors.ts +93 -0
  104. package/exporter/core/fs.ts +385 -0
  105. package/exporter/{utils → core}/images.ts +1 -6
  106. package/exporter/{utils → core}/instance.ts +9 -13
  107. package/exporter/core/life-cycle.ts +73 -0
  108. package/exporter/core/logger.ts +137 -0
  109. package/exporter/core/objects.ts +37 -0
  110. package/exporter/core/print-logos.ts +21 -0
  111. package/exporter/index.ts +14 -56
  112. package/exporter/react/DynamicScript/index.tsx +33 -0
  113. package/exporter/react/{Favicon → GriddoFavicon}/index.tsx +3 -9
  114. package/exporter/react/GriddoIntegrations/index.tsx +17 -23
  115. package/exporter/react/GriddoIntegrations/utils.ts +24 -12
  116. package/exporter/react/GriddoOpenGraph/index.tsx +39 -0
  117. package/exporter/react/index.tsx +3 -9
  118. package/exporter/services/api.ts +306 -0
  119. package/exporter/services/auth.ts +8 -10
  120. package/exporter/services/domains.ts +23 -8
  121. package/exporter/services/manage-sites.ts +116 -0
  122. package/exporter/services/manage-store.ts +173 -0
  123. package/exporter/services/navigation.ts +12 -18
  124. package/exporter/{utils → services}/pages.ts +27 -92
  125. package/exporter/services/reference-fields.ts +14 -32
  126. package/exporter/services/render-artifacts.ts +44 -0
  127. package/exporter/services/render.ts +229 -0
  128. package/exporter/services/robots.ts +33 -61
  129. package/exporter/services/sitemaps.ts +129 -0
  130. package/exporter/services/sites.ts +40 -28
  131. package/exporter/services/store.ts +354 -321
  132. package/exporter/shared/context.ts +49 -0
  133. package/exporter/{constants → shared}/endpoints.ts +12 -11
  134. package/exporter/shared/envs.ts +58 -0
  135. package/exporter/{errors/errors-data.ts → shared/errors.ts} +24 -14
  136. package/exporter/shared/npm-modules/README.md +36 -0
  137. package/exporter/shared/npm-modules/brush.ts +34 -0
  138. package/exporter/shared/npm-modules/find-up-simple.ts +100 -0
  139. package/exporter/shared/npm-modules/pkg-dir.ts +17 -0
  140. package/exporter/shared/npm-modules/xml-parser.ts +57 -0
  141. package/exporter/{types → shared/types}/api.ts +40 -41
  142. package/exporter/{types → shared/types}/global.ts +17 -21
  143. package/exporter/{types → shared/types}/navigation.ts +3 -3
  144. package/exporter/{types → shared/types}/pages.ts +10 -11
  145. package/exporter/shared/types/render.ts +65 -0
  146. package/exporter/{types → shared/types}/sites.ts +18 -19
  147. package/exporter/shared/types.ts +15 -0
  148. package/exporter/ssg-adapters/gatsby/actions/clean.ts +26 -0
  149. package/exporter/ssg-adapters/gatsby/actions/close.ts +17 -0
  150. package/exporter/ssg-adapters/gatsby/actions/data.ts +22 -0
  151. package/exporter/ssg-adapters/gatsby/actions/healthCheck.ts +10 -0
  152. package/exporter/ssg-adapters/gatsby/actions/init.ts +12 -0
  153. package/exporter/ssg-adapters/gatsby/actions/logs.ts +10 -0
  154. package/exporter/ssg-adapters/gatsby/actions/meta.ts +13 -0
  155. package/exporter/ssg-adapters/gatsby/actions/prepare.ts +9 -0
  156. package/exporter/ssg-adapters/gatsby/actions/relocation.ts +15 -0
  157. package/exporter/ssg-adapters/gatsby/actions/restore.ts +21 -0
  158. package/exporter/ssg-adapters/gatsby/actions/ssg.ts +12 -0
  159. package/exporter/ssg-adapters/gatsby/actions/sync.ts +65 -0
  160. package/exporter/ssg-adapters/gatsby/index.ts +117 -0
  161. package/exporter/ssg-adapters/gatsby/shared/artifacts.ts +17 -0
  162. package/exporter/ssg-adapters/gatsby/shared/diff-assets.ts +128 -0
  163. package/exporter/ssg-adapters/gatsby/shared/extract-assets.ts +75 -0
  164. package/exporter/ssg-adapters/gatsby/shared/gatsby-build.ts +58 -0
  165. package/exporter/ssg-adapters/gatsby/shared/render-rollback.ts +33 -0
  166. package/exporter/ssg-adapters/gatsby/shared/sync-render.ts +298 -0
  167. package/exporter/ssg-adapters/gatsby/shared/types.ts +35 -0
  168. package/gatsby-browser.tsx +41 -58
  169. package/gatsby-config.ts +10 -17
  170. package/gatsby-node.ts +20 -79
  171. package/gatsby-ssr.tsx +2 -1
  172. package/package.json +41 -78
  173. package/plugins/gatsby-plugin-svgr-loader/gatsby-node.js +55 -0
  174. package/plugins/gatsby-plugin-svgr-loader/package.json +8 -0
  175. package/src/components/Head.tsx +28 -73
  176. package/src/components/template.tsx +6 -29
  177. package/src/gatsby-node-utils.ts +81 -2
  178. package/src/html.tsx +2 -11
  179. package/src/types.ts +3 -3
  180. package/tsconfig.commands.json +36 -0
  181. package/tsconfig.exporter.json +21 -0
  182. package/tsconfig.json +5 -3
  183. package/build/adapters/gatsby/index.d.ts +0 -4
  184. package/build/adapters/gatsby/utils.d.ts +0 -26
  185. package/build/artifacts/index.d.ts +0 -6
  186. package/build/constants/envs.d.ts +0 -37
  187. package/build/constants/index.d.ts +0 -57
  188. package/build/end-render.js +0 -74
  189. package/build/end-render.js.map +0 -7
  190. package/build/errors/index.d.ts +0 -15
  191. package/build/index.js.map +0 -7
  192. package/build/prepare-domains-render.js +0 -73
  193. package/build/prepare-domains-render.js.map +0 -7
  194. package/build/react/Favicon/index.d.ts +0 -5
  195. package/build/registers/api.d.ts +0 -9
  196. package/build/registers/gatsby.d.ts +0 -9
  197. package/build/registers/index.d.ts +0 -3
  198. package/build/reset-render.js +0 -74
  199. package/build/reset-render.js.map +0 -7
  200. package/build/services/register.d.ts +0 -36
  201. package/build/services/settings.d.ts +0 -4
  202. package/build/start-render.js +0 -100
  203. package/build/start-render.js.map +0 -7
  204. package/build/upload-search-content.js +0 -74
  205. package/build/upload-search-content.js.map +0 -7
  206. package/build/utils/alerts.d.ts +0 -3
  207. package/build/utils/cache.d.ts +0 -35
  208. package/build/utils/core-utils.d.ts +0 -107
  209. package/build/utils/create-build-data.d.ts +0 -8
  210. package/build/utils/domains.d.ts +0 -13
  211. package/build/utils/folders.d.ts +0 -53
  212. package/build/utils/loggin.d.ts +0 -51
  213. package/build/utils/render.d.ts +0 -13
  214. package/build/utils/searches.d.ts +0 -15
  215. package/build/utils/sites.d.ts +0 -31
  216. package/build/utils/store.d.ts +0 -81
  217. package/cx.config.d.ts +0 -5
  218. package/cx.config.js +0 -36
  219. package/exporter/adapters/gatsby/index.ts +0 -182
  220. package/exporter/adapters/gatsby/utils.ts +0 -186
  221. package/exporter/artifacts/README.md +0 -34
  222. package/exporter/artifacts/index.ts +0 -33
  223. package/exporter/commands/move-assets.ts +0 -11
  224. package/exporter/constants/envs.ts +0 -94
  225. package/exporter/constants/index.ts +0 -129
  226. package/exporter/errors/index.ts +0 -40
  227. package/exporter/registers/api.ts +0 -14
  228. package/exporter/registers/gatsby.ts +0 -14
  229. package/exporter/registers/index.ts +0 -4
  230. package/exporter/services/register.ts +0 -113
  231. package/exporter/services/settings.ts +0 -17
  232. package/exporter/utils/alerts.ts +0 -29
  233. package/exporter/utils/api.ts +0 -243
  234. package/exporter/utils/cache.ts +0 -142
  235. package/exporter/utils/core-utils.ts +0 -458
  236. package/exporter/utils/create-build-data.ts +0 -17
  237. package/exporter/utils/domains.ts +0 -39
  238. package/exporter/utils/folders.ts +0 -320
  239. package/exporter/utils/health-checks.ts +0 -64
  240. package/exporter/utils/loggin.ts +0 -184
  241. package/exporter/utils/render.ts +0 -71
  242. package/exporter/utils/searches.ts +0 -156
  243. package/exporter/utils/sites.ts +0 -312
  244. package/exporter/utils/store.ts +0 -314
  245. package/src/README.md +0 -7
  246. package/start-render.js +0 -7
  247. /package/build/commands/{move-assets.d.ts → prepare-assets-directory.d.ts} +0 -0
  248. /package/build/{utils → core}/images.d.ts +0 -0
  249. /package/build/{utils → core}/instance.d.ts +0 -0
  250. /package/build/react/{Favicon → GriddoFavicon}/utils.d.ts +0 -0
  251. /package/build/{constants → shared}/endpoints.d.ts +0 -0
  252. /package/build/{types → shared/types}/templates.d.ts +0 -0
  253. /package/exporter/react/{Favicon → GriddoFavicon}/utils.ts +0 -0
  254. /package/exporter/{types → shared/types}/templates.ts +0 -0
@@ -1,6 +1,6 @@
1
+ import type { Core, Fields } from "@griddo/core";
1
2
  import type { EndSiteRenderBody } from "./api";
2
3
  import type { Site } from "./sites";
3
- import type { Core, Fields } from "@griddo/core";
4
4
  interface Settings {
5
5
  apiVersion?: string;
6
6
  avoidCanonicalsOnSitemaps?: boolean;
@@ -49,36 +49,35 @@ type Domain = {
49
49
  slug: string;
50
50
  url: string;
51
51
  };
52
- type Domains = Array<Domain>;
52
+ type Domains = Domain[];
53
53
  /** Describes the type of build process data object. */
54
54
  type BuildProcessData = Record<string, EndSiteRenderBody>;
55
55
  type Robot = {
56
56
  path: string;
57
57
  content: string;
58
58
  };
59
- type Robots = Array<Robot>;
59
+ type Robots = Robot[];
60
60
  interface RenderInfo {
61
61
  buildProcessData: BuildProcessData;
62
- createdPages: Array<number>;
63
- sitesToPublish: Array<Site>;
62
+ createdPages: number[];
63
+ sitesToPublish: Site[];
64
64
  }
65
- type LifeCycleSteps = Array<(...args: Array<unknown>) => unknown | Promise<unknown>>;
66
- type LifeCyclesNames = "Init" | "Prepare" | "Restore" | "Data" | "SSG" | "Relocation" | "Meta" | "Archive" | "Clean" | "Close" | "HealthCheck" | "Close" | "__DEBUG__";
67
- type PlaceholderPath = "__exports" | "__cache" | "__cx" | "__ssg" | "__components" | "__root" | "__exports_dist" | "__cx_dist";
65
+ type LifeCycleAction = (...args: unknown[]) => void | Promise<void>;
66
+ type LifeCyclesNames = "Init" | "Prepare" | "Restore" | "Data" | "SSG" | "Relocation" | "Meta" | "Sync" | "Clean" | "Close" | "HealthCheck" | "Close";
67
+ type PlaceholderPath = "__exports" | "__cache" | "__cx" | "__ssg" | "__components" | "__root" | "__exports_dist" | "__sites";
68
68
  interface CXConfig {
69
- proDomain: string;
70
69
  griddoVersion: string;
71
70
  buildReportFileName: string;
72
- paths: (domain?: string) => Record<PlaceholderPath, string>;
73
71
  }
74
72
  interface AIEmbeddingsResponse {
75
73
  code: number;
76
74
  message: string;
77
75
  }
78
- interface Artifacts {
79
- disposables: Array<string>;
80
- cacheables: Array<string>;
81
- initials: Array<string>;
82
- archivables: Array<string>;
76
+ interface RenderArtifacts {
77
+ disposables: string[];
78
+ cacheables: string[];
79
+ initials: string[];
80
+ archivables: string[];
81
+ restaurable: string[];
83
82
  }
84
- export type { AIEmbeddingsResponse, Artifacts, BuildProcessData, CXConfig, Domain, Domains, FetchDataProps, LifeCyclesNames, Petition, PlaceholderPath, PostSearchInfoProps, RenderInfo, Robot, Robots, Settings, LifeCycleSteps, };
83
+ export type { AIEmbeddingsResponse, RenderArtifacts, BuildProcessData, CXConfig, Domain, Domains, FetchDataProps, LifeCyclesNames, Petition, PlaceholderPath, PostSearchInfoProps, RenderInfo, Robot, Robots, Settings, LifeCycleAction, };
@@ -4,9 +4,9 @@ export type Header = {
4
4
  id: number;
5
5
  isDefault: boolean;
6
6
  language: number;
7
- navigationLanguages: Array<{
7
+ navigationLanguages: {
8
8
  navigationId: number;
9
- }>;
9
+ }[];
10
10
  setAsDefault: boolean;
11
11
  theme: null | string;
12
12
  title: string;
@@ -18,11 +18,11 @@ export type Footer = {
18
18
  id: number;
19
19
  isDefault: boolean;
20
20
  language: number;
21
- navigationLanguages: Array<{
21
+ navigationLanguages: {
22
22
  navigationId: number;
23
- }>;
23
+ }[];
24
24
  setAsDefault: boolean;
25
25
  theme: null | string;
26
26
  title: string;
27
- type: "header";
27
+ type: "footer";
28
28
  };
@@ -1,7 +1,7 @@
1
+ import type { Core, Fields } from "@griddo/core";
1
2
  import type { SocialsResponse } from "./api";
2
3
  import type { Settings } from "./global";
3
4
  import type { Site } from "./sites";
4
- import type { Core, Fields } from "@griddo/core";
5
5
  export type APIPageObject = Core.Page & {
6
6
  id: number;
7
7
  } & {
@@ -29,7 +29,7 @@ export type GriddoSinglePage = Core.Page & {
29
29
  };
30
30
  export type GriddoListPage = Core.Page & {
31
31
  page: APIPageObject;
32
- pages: Array<Array<Fields.QueriedDataItem>>;
32
+ pages: Fields.QueriedDataItem[][];
33
33
  isRoot?: boolean;
34
34
  defaultLang?: Core.SiteLanguage;
35
35
  template: {
@@ -39,7 +39,7 @@ export type GriddoListPage = Core.Page & {
39
39
  activeSectionSlug: string;
40
40
  activeSectionBase: string;
41
41
  };
42
- totalQueriedItems: Array<Fields.QueriedDataItem>;
42
+ totalQueriedItems: Fields.QueriedDataItem[];
43
43
  };
44
44
  export type GriddoMultiPage = Core.Page & {
45
45
  header: number | null;
@@ -54,7 +54,7 @@ export interface AdditionalInfo {
54
54
  griddoVersion: string;
55
55
  instance?: string;
56
56
  publicBaseUrl: string;
57
- siteLangs: Array<Core.SiteLanguage>;
57
+ siteLangs: Core.SiteLanguage[];
58
58
  siteMetadata: Site["siteMetadata"];
59
59
  siteSlug: string;
60
60
  socials: SocialsResponse;
@@ -71,13 +71,13 @@ export interface PageAdditionalInfo extends AdditionalInfo {
71
71
  export type MultiPageElement = {
72
72
  component: string;
73
73
  title: string | Required<Fields.Heading>;
74
- elements: Array<Record<string, unknown>>;
75
- componentModules: Array<Record<string, unknown>>;
74
+ elements: Record<string, unknown>[];
75
+ componentModules: Record<string, unknown>[];
76
76
  sectionSlug: string;
77
77
  metaTitle: string;
78
78
  metaDescription: string;
79
79
  };
80
- export type MultiPageElements = Array<MultiPageElement>;
80
+ export type MultiPageElements = MultiPageElement[];
81
81
  /**
82
82
  * Gatsby page object format.
83
83
  */
@@ -119,7 +119,7 @@ export type GriddoPageObject = {
119
119
  siteMetadata: Site["siteMetadata"];
120
120
  theme: string;
121
121
  title: string;
122
- siteLangs: Array<Core.SiteLanguage>;
122
+ siteLangs: Core.SiteLanguage[];
123
123
  siteOptions: AdditionalInfo["siteOptions"];
124
124
  siteScript: string;
125
125
  socials: SocialsResponse;
@@ -130,7 +130,7 @@ export interface Dimensions {
130
130
  values: Record<string, string> | null;
131
131
  contentSelect?: "group" | "individual" | null;
132
132
  groupSelect?: string;
133
- dimensionsSelect?: Array<string>;
133
+ dimensionsSelect?: string[];
134
134
  }
135
135
  export interface GatsbyPageTemplateProps extends Omit<GriddoPageObject, "context"> {
136
136
  pageContext: GriddoPageObject["context"] & {
@@ -0,0 +1,56 @@
1
+ import type { RenderInfo } from "./global";
2
+ declare const RENDER_MODE: {
3
+ readonly FROM_SCRATCH: "FROM_SCRATCH";
4
+ readonly INCREMENTAL: "INCREMENTAL";
5
+ readonly IDLE: "IDLE";
6
+ readonly ERROR: "ERROR";
7
+ readonly COMPLETED: "COMPLETED";
8
+ };
9
+ type RenderMode = (typeof RENDER_MODE)[keyof typeof RENDER_MODE];
10
+ export interface RenderModeTuple {
11
+ renderMode: RenderMode;
12
+ reason?: string;
13
+ }
14
+ type DomainLike = string;
15
+ type RenderDB = {
16
+ griddoVersion: string;
17
+ buildReportFileName: string;
18
+ sortedDomains: DomainLike[];
19
+ needsRollbackOnError: boolean;
20
+ currentRenderingDomain: string | null;
21
+ commitHash: string;
22
+ commitMessage: string;
23
+ paths: {
24
+ root: string;
25
+ cx: string;
26
+ ssg: string;
27
+ cxCache: string;
28
+ components: string;
29
+ exportsDir: string;
30
+ exportsDirBackup: string;
31
+ };
32
+ domains: {
33
+ [key: DomainLike]: {
34
+ renderMode?: RenderMode;
35
+ shouldBeRendered?: boolean;
36
+ isRendering?: boolean;
37
+ renderInfo?: RenderInfo;
38
+ renderModeReason?: string;
39
+ };
40
+ };
41
+ };
42
+ interface Report {
43
+ authControl: {
44
+ Authorization: string;
45
+ "Cache-Control": string;
46
+ lang?: string | undefined;
47
+ } | undefined;
48
+ sites: {
49
+ siteId: number;
50
+ publishHashes: string[];
51
+ siteHash: string | null;
52
+ unpublishHashes: string[];
53
+ publishPagesIds: number[];
54
+ }[];
55
+ }
56
+ export { RENDER_MODE, type RenderDB, type RenderMode, type Report };
@@ -1,6 +1,6 @@
1
+ import type { Core } from "@griddo/core";
1
2
  import type { SocialsResponse } from "./api";
2
3
  import type { Footer, Header } from "./navigation";
3
- import type { Core } from "@griddo/core";
4
4
  /**
5
5
  * Describes a Griddo site object from API.
6
6
  * This takes some type props from Core.Site.
@@ -8,12 +8,12 @@ import type { Core } from "@griddo/core";
8
8
  export interface Site extends Required<Pick<Core.Site, "bigAvatar" | "favicon" | "home" | "id" | "isPublished" | "timezone" | "thumbnail" | "theme" | "socials" | "slug" | "smallAvatar" | "modified" | "name" | "siteMetadata">> {
9
9
  author: string;
10
10
  deleted: number;
11
- domains: Array<Record<string, string>>;
12
- footers: Array<Footer>;
11
+ domains: Record<string, string>[];
12
+ footers: Footer[];
13
13
  hash: string | null;
14
- headers: Array<Header>;
15
- languages: Array<Core.SiteLanguage>;
16
- languageSites: Array<number>;
14
+ headers: Header[];
15
+ languages: Core.SiteLanguage[];
16
+ languageSites: number[];
17
17
  navigationModules: {
18
18
  header?: string;
19
19
  footer?: string;
@@ -24,9 +24,8 @@ export interface Site extends Required<Pick<Core.Site, "bigAvatar" | "favicon" |
24
24
  * `select/site/33/pages` -> [{id,label}, {id,label}, {id,label}] // array of published, pending, unpublished... page objects
25
25
  * `select/site/33/pages?liveStatus=active` -> // array of publishedpage objects
26
26
  */
27
- pages: Array<number>;
28
- onlinePages: Array<number>;
29
- changedPages: Array<number>;
27
+ pages: number[];
28
+ onlinePages: number[];
30
29
  published: string;
31
30
  rendering: boolean;
32
31
  renderingHours: number;
@@ -35,22 +34,22 @@ export interface Site extends Required<Pick<Core.Site, "bigAvatar" | "favicon" |
35
34
  smallAvatar: string;
36
35
  updated: boolean;
37
36
  pagesStatus: {
38
- active: Array<number>;
39
- uploadPending: Array<number>;
40
- offlinePending: Array<number>;
41
- offline: Array<number>;
42
- deleted: Array<number>;
37
+ active: number[];
38
+ uploadPending: number[];
39
+ offlinePending: number[];
40
+ offline: number[];
41
+ deleted: number[];
43
42
  };
44
43
  }
45
44
  export interface SiteData {
46
45
  siteInfo: Site;
47
- validPagesIds: Array<number>;
46
+ validPagesIds: number[];
48
47
  siteHash: string | null;
49
- unpublishHashes: Array<string>;
50
- siteLangs: Array<Core.SiteLanguage>;
48
+ unpublishHashes: string[];
49
+ siteLangs: Core.SiteLanguage[];
51
50
  defaultLang: Core.SiteLanguage | undefined;
52
- headers: Array<Header>;
53
- footers: Array<Footer>;
51
+ headers: Header[];
52
+ footers: Footer[];
54
53
  socials: SocialsResponse;
55
54
  }
56
55
  export type SiteHash = string | null;
@@ -0,0 +1,15 @@
1
+ import type { Core } from "@griddo/core";
2
+ import type { Dimensions, GriddoPageObject } from "@griddo/cx";
3
+ import type { HeadProps } from "gatsby";
4
+ interface CustomHeadProps extends HeadProps {
5
+ pageContext: GriddoPageObject["context"] & {
6
+ page: Core.Page & {
7
+ defaultLang: {
8
+ id: number;
9
+ };
10
+ dimensions: Dimensions;
11
+ disableHrefLangs: number[];
12
+ };
13
+ };
14
+ }
15
+ export type { CustomHeadProps };
@@ -0,0 +1,3 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ import type { SSG } from "../shared/types";
3
+ export declare function cleanAction(context: RenderContext<SSG>): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ import type { SSG } from "../shared/types";
3
+ export declare function closeAction(context: RenderContext<SSG>): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ export declare function dataAction(context: RenderContext): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ export declare function healthCheckAction(context: RenderContext): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ export declare function initAction(context: RenderContext): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ import type { SSG } from "../shared/types";
3
+ export declare function logsAction(context: RenderContext<SSG>): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ export declare function metaAction(context: RenderContext): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ export declare function prepareAction(context: RenderContext): Promise<void>;
@@ -0,0 +1,2 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ export declare function relocationAction(context: RenderContext): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ import type { SSG } from "../shared/types";
3
+ export declare function restoreAction(context: RenderContext<SSG>): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ import type { SSG } from "../shared/types";
3
+ export declare function ssgAction(context: RenderContext<SSG>): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import type { RenderContext } from "../../../shared/context";
2
+ import type { SSG } from "../shared/types";
3
+ export declare function syncAction(context: RenderContext<SSG>): Promise<void>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Executes a complete Gatsby render process for a given domain.
3
+ *
4
+ * The render process consists of multiple lifecycle steps that handle cleaning,
5
+ * preparing, building and syncing the site. It can run in two modes:
6
+ * - FROM_SCRATCH: Performs a complete rebuild of the domains sites.
7
+ * - INCREMENTAL: Only rebuilds changed pages while preserving the rest.
8
+ */
9
+ export declare function gatsbyRenderDomain(domain: string): Promise<void>;
@@ -0,0 +1,4 @@
1
+ export declare function getGatsbyArtifacts(): Promise<{
2
+ disposables: string[];
3
+ cacheables: string[];
4
+ }>;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Compara los assets clave entre dos directorios de build de Gatsby.
3
+ * Solo compara los archivos definidos en KEY_ASSET_PATTERNS.
4
+ *
5
+ * @param dir1 Ruta al primer directorio (ej. el de producción)
6
+ * @param dir2 Ruta al segundo directorio (ej. el del nuevo build)
7
+ * @returns `true` si hay diferencias en los assets clave, `false` si son idénticos.
8
+ */
9
+ export declare function getAssetsDiffBetweenRenders(dir1: string, dir2: string): Promise<boolean>;
10
+ /**
11
+ * Actualiza el webpackCompilationHash en un único fichero HTML.
12
+ * @param filePath Ruta al fichero HTML.
13
+ * @param newHash El nuevo hash a insertar.
14
+ */
15
+ export declare function patchHtmlFile(filePath: string, newHash: string): Promise<void>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Update the Griddo's `/dist` dir with the contents from `public` dir only
3
+ * with files of type: js, json and css.
4
+ * TODO: Explicar que el static se copia a assets porque el js va en el subdominio de assets.
5
+ */
6
+ declare function extractAssetsFromDist(domain: string): Promise<void>;
7
+ export { extractAssetsFromDist };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Spawn a new node process `gatsby build`
3
+ * @note This proccess can not access to the custom Griddo `process.env` so it
4
+ * needs variables passed to it via the `env` prop.
5
+ */
6
+ declare function gatsbyBuild(assetPrefixWithDomain: string): Promise<void>;
7
+ export { gatsbyBuild };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Enables the rollback-on-error feature for subsequent render lifecycles.
3
+ * When this feature is active, if an error occurs during a render process,
4
+ * the application will automatically restore the 'exports' directory to its
5
+ * state before the render began. This function updates the configuration
6
+ * in the database to reflect this change.
7
+ * @async
8
+ */
9
+ declare function enableRollbackOnError(): Promise<void>;
10
+ /**
11
+ * Disables the rollback-on-error feature for subsequent render lifecycles.
12
+ * When this feature is inactive, the application will not restore the
13
+ * 'exports' directory if a render process fails. This is the default behavior.
14
+ * This function updates the configuration in the database.
15
+ * @async
16
+ */
17
+ declare function disableRollbackOnError(): Promise<void>;
18
+ export { disableRollbackOnError, enableRollbackOnError };
@@ -0,0 +1,26 @@
1
+ interface SyncRenderConfig {
2
+ src: string;
3
+ dst: string;
4
+ pagesToCreate: number[];
5
+ pagesToDelete: number[];
6
+ artifactsToCopyToExports: string[];
7
+ }
8
+ declare class SyncRender {
9
+ private bundleDir;
10
+ private currentRenderDir;
11
+ private pagesToCreate;
12
+ private pagesToDelete;
13
+ private assetArtifacts;
14
+ private state;
15
+ constructor(config: SyncRenderConfig);
16
+ execute(): Promise<void>;
17
+ private assertAssetsAreValid;
18
+ private setPagesToDelete;
19
+ private setPagesToAdd;
20
+ private sync;
21
+ private restoreWebpackCompilationHash;
22
+ private copyAssetArtifacts;
23
+ private copySitemaps;
24
+ private scanPages;
25
+ }
26
+ export { SyncRender };
@@ -0,0 +1,34 @@
1
+ interface SSG {
2
+ assetPrefix: string;
3
+ ssgArtifacts: {
4
+ disposables: string[];
5
+ cacheables: string[];
6
+ };
7
+ }
8
+ interface GatsbyPageData {
9
+ path: string;
10
+ result: {
11
+ pageContext: {
12
+ id: number;
13
+ title: string;
14
+ path: string;
15
+ openGraph: any;
16
+ pageMetadata: any;
17
+ page: {
18
+ site: number;
19
+ id: number;
20
+ fullPath: {
21
+ compose: string;
22
+ };
23
+ language: number;
24
+ title: string;
25
+ fullUrl: string;
26
+ templateId: string;
27
+ template: {
28
+ templateType: string;
29
+ };
30
+ };
31
+ };
32
+ };
33
+ }
34
+ export type { GatsbyPageData, SSG };