@griddo/cx 11.7.7-rc.0 → 11.7.7-rc.3

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 (280) hide show
  1. package/README.md +226 -27
  2. package/build/adapters/gatsby/index.d.ts +4 -0
  3. package/build/adapters/gatsby/utils.d.ts +22 -0
  4. package/build/artifacts/index.d.ts +6 -0
  5. package/build/commands/end-render.d.ts +2 -0
  6. package/build/commands/move-assets.d.ts +1 -0
  7. package/build/commands/prepare-domains-render.d.ts +1 -0
  8. package/build/commands/reset-render.d.ts +2 -0
  9. package/build/commands/start-render.d.ts +2 -0
  10. package/build/commands/upload-search-content.d.ts +2 -0
  11. package/build/constants/endpoints.d.ts +19 -0
  12. package/build/constants/envs.d.ts +37 -0
  13. package/build/constants/index.d.ts +57 -0
  14. package/build/end-render.js +74 -0
  15. package/build/end-render.js.map +7 -0
  16. package/build/errors/errors-data.d.ts +22 -0
  17. package/build/errors/index.d.ts +15 -0
  18. package/build/index.d.ts +29 -0
  19. package/build/index.js +73 -0
  20. package/build/index.js.map +7 -0
  21. package/build/prepare-domains-render.js +73 -0
  22. package/build/prepare-domains-render.js.map +7 -0
  23. package/build/react/Favicon/index.d.ts +5 -0
  24. package/build/react/Favicon/utils.d.ts +9 -0
  25. package/build/react/GriddoIntegrations/index.d.ts +20 -0
  26. package/build/react/GriddoIntegrations/utils.d.ts +26 -0
  27. package/{react/index.tsx → build/react/index.d.ts} +0 -1
  28. package/build/react/index.js +3 -0
  29. package/build/registers/api.d.ts +9 -0
  30. package/build/registers/gatsby.d.ts +9 -0
  31. package/build/registers/index.d.ts +3 -0
  32. package/build/reset-render.js +74 -0
  33. package/build/reset-render.js.map +7 -0
  34. package/build/services/auth.d.ts +10 -0
  35. package/build/services/domains.d.ts +6 -0
  36. package/build/services/navigation.d.ts +50 -0
  37. package/build/services/reference-fields.d.ts +20 -0
  38. package/build/services/register.d.ts +36 -0
  39. package/build/services/robots.d.ts +19 -0
  40. package/build/services/settings.d.ts +4 -0
  41. package/build/services/sites.d.ts +29 -0
  42. package/build/services/store.d.ts +6 -0
  43. package/build/start-render.js +100 -0
  44. package/build/start-render.js.map +7 -0
  45. package/build/types/api.d.ts +142 -0
  46. package/build/types/global.d.ts +84 -0
  47. package/build/types/navigation.d.ts +28 -0
  48. package/build/types/pages.d.ts +144 -0
  49. package/build/types/sites.d.ts +57 -0
  50. package/build/types/templates.d.ts +8 -0
  51. package/build/upload-search-content.js +74 -0
  52. package/build/upload-search-content.js.map +7 -0
  53. package/build/utils/alerts.d.ts +3 -0
  54. package/build/utils/api.d.ts +23 -0
  55. package/build/utils/cache.d.ts +35 -0
  56. package/build/utils/core-utils.d.ts +107 -0
  57. package/build/utils/create-build-data.d.ts +8 -0
  58. package/build/utils/domains.d.ts +13 -0
  59. package/build/utils/folders.d.ts +53 -0
  60. package/build/utils/health-checks.d.ts +7 -0
  61. package/build/utils/images.d.ts +16 -0
  62. package/build/utils/instance.d.ts +21 -0
  63. package/build/utils/loggin.d.ts +51 -0
  64. package/build/utils/pages.d.ts +34 -0
  65. package/build/utils/render.d.ts +13 -0
  66. package/build/utils/searches.d.ts +15 -0
  67. package/build/utils/sites.d.ts +31 -0
  68. package/build/utils/store.d.ts +81 -0
  69. package/cx.config.d.ts +5 -0
  70. package/cx.config.js +36 -0
  71. package/exporter/adapters/gatsby/index.ts +147 -67
  72. package/exporter/adapters/gatsby/utils.ts +161 -0
  73. package/exporter/artifacts/README.md +34 -0
  74. package/exporter/artifacts/index.ts +33 -0
  75. package/exporter/build.sh +38 -4
  76. package/exporter/commands/end-render.ts +69 -73
  77. package/exporter/commands/move-assets.ts +11 -0
  78. package/exporter/commands/prepare-domains-render.ts +31 -144
  79. package/exporter/commands/reset-render.ts +1 -10
  80. package/exporter/commands/start-render.ts +44 -23
  81. package/exporter/commands/upload-search-content.ts +20 -194
  82. package/exporter/constants/envs.ts +55 -57
  83. package/exporter/constants/index.ts +129 -0
  84. package/exporter/{constants/errors.ts → errors/errors-data.ts} +14 -24
  85. package/exporter/{utils/errors.ts → errors/index.ts} +9 -10
  86. package/exporter/index.ts +82 -0
  87. package/{react → exporter/react}/Favicon/index.tsx +7 -1
  88. package/{react → exporter/react}/GriddoIntegrations/index.tsx +14 -6
  89. package/{react → exporter/react}/GriddoIntegrations/utils.ts +9 -4
  90. package/exporter/react/index.tsx +11 -0
  91. package/exporter/registers/api.ts +14 -0
  92. package/exporter/registers/gatsby.ts +14 -0
  93. package/exporter/registers/index.ts +4 -0
  94. package/exporter/services/auth.ts +6 -7
  95. package/exporter/services/domains.ts +16 -0
  96. package/exporter/services/navigation.ts +10 -4
  97. package/exporter/services/reference-fields.ts +23 -8
  98. package/exporter/services/register.ts +113 -0
  99. package/exporter/services/robots.ts +16 -9
  100. package/exporter/services/settings.ts +17 -0
  101. package/exporter/services/sites.ts +24 -35
  102. package/exporter/services/store.ts +78 -120
  103. package/exporter/types/api.ts +27 -24
  104. package/exporter/types/global.ts +10 -7
  105. package/exporter/types/navigation.ts +1 -1
  106. package/exporter/types/pages.ts +3 -2
  107. package/exporter/types/sites.ts +2 -1
  108. package/exporter/utils/alerts.ts +29 -0
  109. package/exporter/utils/api.ts +82 -46
  110. package/exporter/utils/cache.ts +62 -37
  111. package/exporter/utils/core-utils.ts +248 -129
  112. package/exporter/utils/create-build-data.ts +17 -0
  113. package/exporter/utils/domains.ts +7 -10
  114. package/exporter/utils/folders.ts +95 -187
  115. package/exporter/utils/health-checks.ts +64 -0
  116. package/exporter/utils/images.ts +6 -1
  117. package/exporter/utils/instance.ts +12 -9
  118. package/exporter/utils/loggin.ts +91 -32
  119. package/exporter/utils/pages.ts +88 -23
  120. package/exporter/utils/render.ts +48 -149
  121. package/exporter/utils/searches.ts +156 -0
  122. package/exporter/utils/sites.ts +90 -81
  123. package/exporter/utils/store.ts +180 -87
  124. package/gatsby-browser.tsx +58 -41
  125. package/gatsby-config.ts +12 -6
  126. package/gatsby-node.ts +77 -15
  127. package/gatsby-ssr.tsx +1 -2
  128. package/package.json +78 -36
  129. package/src/README.md +7 -0
  130. package/src/components/Head.tsx +46 -13
  131. package/src/components/template.tsx +30 -8
  132. package/src/gatsby-node-utils.ts +2 -91
  133. package/src/html.tsx +11 -2
  134. package/src/types.ts +5 -5
  135. package/start-render.js +7 -0
  136. package/tsconfig.json +3 -5
  137. package/build/adapters/gatsby/actions/clean.js +0 -10
  138. package/build/adapters/gatsby/actions/clean.js.map +0 -1
  139. package/build/adapters/gatsby/actions/close.js +0 -12
  140. package/build/adapters/gatsby/actions/close.js.map +0 -1
  141. package/build/adapters/gatsby/actions/data.js +0 -18
  142. package/build/adapters/gatsby/actions/data.js.map +0 -1
  143. package/build/adapters/gatsby/actions/healthCheck.js +0 -10
  144. package/build/adapters/gatsby/actions/healthCheck.js.map +0 -1
  145. package/build/adapters/gatsby/actions/init.js +0 -9
  146. package/build/adapters/gatsby/actions/init.js.map +0 -1
  147. package/build/adapters/gatsby/actions/meta.js +0 -14
  148. package/build/adapters/gatsby/actions/meta.js.map +0 -1
  149. package/build/adapters/gatsby/actions/prepare.js +0 -9
  150. package/build/adapters/gatsby/actions/prepare.js.map +0 -1
  151. package/build/adapters/gatsby/actions/relocation.js +0 -15
  152. package/build/adapters/gatsby/actions/relocation.js.map +0 -1
  153. package/build/adapters/gatsby/actions/restore.js +0 -26
  154. package/build/adapters/gatsby/actions/restore.js.map +0 -1
  155. package/build/adapters/gatsby/actions/ssg.js +0 -9
  156. package/build/adapters/gatsby/actions/ssg.js.map +0 -1
  157. package/build/adapters/gatsby/actions/sync.js +0 -51
  158. package/build/adapters/gatsby/actions/sync.js.map +0 -1
  159. package/build/adapters/gatsby/index.js +0 -79
  160. package/build/adapters/gatsby/index.js.map +0 -1
  161. package/build/adapters/gatsby/shared/context.js +0 -31
  162. package/build/adapters/gatsby/shared/context.js.map +0 -1
  163. package/build/adapters/gatsby/shared/diff-assets.js +0 -101
  164. package/build/adapters/gatsby/shared/diff-assets.js.map +0 -1
  165. package/build/adapters/gatsby/shared/extract-assets.js +0 -58
  166. package/build/adapters/gatsby/shared/extract-assets.js.map +0 -1
  167. package/build/adapters/gatsby/shared/gatsby-build.js +0 -49
  168. package/build/adapters/gatsby/shared/gatsby-build.js.map +0 -1
  169. package/build/adapters/gatsby/shared/sync-render.js +0 -210
  170. package/build/adapters/gatsby/shared/sync-render.js.map +0 -1
  171. package/build/adapters/gatsby/shared/types.js +0 -3
  172. package/build/adapters/gatsby/shared/types.js.map +0 -1
  173. package/build/commands/end-render.js +0 -88
  174. package/build/commands/end-render.js.map +0 -1
  175. package/build/commands/prepare-assets-directory.js +0 -32
  176. package/build/commands/prepare-assets-directory.js.map +0 -1
  177. package/build/commands/prepare-domains-render.js +0 -133
  178. package/build/commands/prepare-domains-render.js.map +0 -1
  179. package/build/commands/reset-render.js +0 -22
  180. package/build/commands/reset-render.js.map +0 -1
  181. package/build/commands/start-render.js +0 -45
  182. package/build/commands/start-render.js.map +0 -1
  183. package/build/commands/upload-search-content.js +0 -180
  184. package/build/commands/upload-search-content.js.map +0 -1
  185. package/build/constants/endpoints.js +0 -42
  186. package/build/constants/endpoints.js.map +0 -1
  187. package/build/constants/envs.js +0 -68
  188. package/build/constants/envs.js.map +0 -1
  189. package/build/constants/errors.js +0 -81
  190. package/build/constants/errors.js.map +0 -1
  191. package/build/services/auth.js +0 -40
  192. package/build/services/auth.js.map +0 -1
  193. package/build/services/db-class.js +0 -49
  194. package/build/services/db-class.js.map +0 -1
  195. package/build/services/db.js +0 -34
  196. package/build/services/db.js.map +0 -1
  197. package/build/services/navigation.js +0 -96
  198. package/build/services/navigation.js.map +0 -1
  199. package/build/services/reference-fields.js +0 -131
  200. package/build/services/reference-fields.js.map +0 -1
  201. package/build/services/robots.js +0 -60
  202. package/build/services/robots.js.map +0 -1
  203. package/build/services/sites.js +0 -109
  204. package/build/services/sites.js.map +0 -1
  205. package/build/services/store.js +0 -282
  206. package/build/services/store.js.map +0 -1
  207. package/build/types/api.js +0 -3
  208. package/build/types/api.js.map +0 -1
  209. package/build/types/global.js +0 -3
  210. package/build/types/global.js.map +0 -1
  211. package/build/types/navigation.js +0 -3
  212. package/build/types/navigation.js.map +0 -1
  213. package/build/types/pages.js +0 -3
  214. package/build/types/pages.js.map +0 -1
  215. package/build/types/render.js +0 -10
  216. package/build/types/render.js.map +0 -1
  217. package/build/types/sites.js +0 -3
  218. package/build/types/sites.js.map +0 -1
  219. package/build/types/templates.js +0 -3
  220. package/build/types/templates.js.map +0 -1
  221. package/build/utils/api.js +0 -161
  222. package/build/utils/api.js.map +0 -1
  223. package/build/utils/artifacts.js +0 -34
  224. package/build/utils/artifacts.js.map +0 -1
  225. package/build/utils/brush.js +0 -30
  226. package/build/utils/brush.js.map +0 -1
  227. package/build/utils/cache.js +0 -106
  228. package/build/utils/cache.js.map +0 -1
  229. package/build/utils/check-health.js +0 -68
  230. package/build/utils/check-health.js.map +0 -1
  231. package/build/utils/core-utils.js +0 -283
  232. package/build/utils/core-utils.js.map +0 -1
  233. package/build/utils/domains.js +0 -37
  234. package/build/utils/domains.js.map +0 -1
  235. package/build/utils/errors.js +0 -30
  236. package/build/utils/errors.js.map +0 -1
  237. package/build/utils/folders.js +0 -362
  238. package/build/utils/folders.js.map +0 -1
  239. package/build/utils/images.js +0 -45
  240. package/build/utils/images.js.map +0 -1
  241. package/build/utils/instance.js +0 -66
  242. package/build/utils/instance.js.map +0 -1
  243. package/build/utils/loggin.js +0 -108
  244. package/build/utils/loggin.js.map +0 -1
  245. package/build/utils/pages.js +0 -359
  246. package/build/utils/pages.js.map +0 -1
  247. package/build/utils/render.js +0 -144
  248. package/build/utils/render.js.map +0 -1
  249. package/build/utils/sites.js +0 -240
  250. package/build/utils/sites.js.map +0 -1
  251. package/build/utils/store.js +0 -193
  252. package/build/utils/store.js.map +0 -1
  253. package/exporter/adapters/gatsby/actions/clean.ts +0 -14
  254. package/exporter/adapters/gatsby/actions/close.ts +0 -17
  255. package/exporter/adapters/gatsby/actions/data.ts +0 -25
  256. package/exporter/adapters/gatsby/actions/healthCheck.ts +0 -10
  257. package/exporter/adapters/gatsby/actions/init.ts +0 -12
  258. package/exporter/adapters/gatsby/actions/meta.ts +0 -18
  259. package/exporter/adapters/gatsby/actions/prepare.ts +0 -9
  260. package/exporter/adapters/gatsby/actions/relocation.ts +0 -15
  261. package/exporter/adapters/gatsby/actions/restore.ts +0 -36
  262. package/exporter/adapters/gatsby/actions/ssg.ts +0 -12
  263. package/exporter/adapters/gatsby/actions/sync.ts +0 -71
  264. package/exporter/adapters/gatsby/shared/context.ts +0 -50
  265. package/exporter/adapters/gatsby/shared/diff-assets.ts +0 -113
  266. package/exporter/adapters/gatsby/shared/extract-assets.ts +0 -61
  267. package/exporter/adapters/gatsby/shared/gatsby-build.ts +0 -54
  268. package/exporter/adapters/gatsby/shared/sync-render.ts +0 -276
  269. package/exporter/adapters/gatsby/shared/types.ts +0 -35
  270. package/exporter/build-esbuild.noop +0 -42
  271. package/exporter/commands/prepare-assets-directory.ts +0 -33
  272. package/exporter/services/db-class.ts +0 -54
  273. package/exporter/services/db.ts +0 -32
  274. package/exporter/types/render.ts +0 -59
  275. package/exporter/utils/artifacts.ts +0 -34
  276. package/exporter/utils/brush.ts +0 -34
  277. package/exporter/utils/check-health.ts +0 -79
  278. package/plugins/gatsby-plugin-svgr-loader/gatsby-node.js +0 -55
  279. package/plugins/gatsby-plugin-svgr-loader/package.json +0 -8
  280. /package/{react → exporter/react}/Favicon/utils.ts +0 -0
@@ -0,0 +1,142 @@
1
+ import type { Domains, Robots, Settings } from "./global";
2
+ import type { APIPageObject } from "./pages";
3
+ import type { Site } from "./sites";
4
+ import type { Core, Fields } from "@griddo/core";
5
+ /** EndSiteRender Body */
6
+ export type EndSiteRenderBody = {
7
+ /** Site hashes to publish. */
8
+ publishHashes: Array<string>;
9
+ /** Current site hash. */
10
+ siteHash: string | null;
11
+ /** Site hashes to unpublish. */
12
+ unpublishHashes: Array<string>;
13
+ /** Page ids that publish */
14
+ publishPagesIds: Array<number>;
15
+ };
16
+ /** ReferenceField Body */
17
+ export interface ReferenceFieldBody {
18
+ mode?: "auto" | "manual" | "navigation";
19
+ order?: string;
20
+ sources?: Array<Fields.Source<unknown>>;
21
+ quantity?: number;
22
+ filter?: Array<unknown>;
23
+ fullRelations?: boolean;
24
+ allLanguages?: boolean;
25
+ fixed?: Array<number>;
26
+ referenceId?: number;
27
+ }
28
+ /** Describes an item in a sitemap. */
29
+ interface SitemapItem {
30
+ /** The URL of the page. */
31
+ loc: string;
32
+ /** The date the page was last modified. */
33
+ lastmod: string;
34
+ /** The priority of the page. */
35
+ priority: number;
36
+ }
37
+ /** Describes a URL. */
38
+ interface URL {
39
+ /** The path of the URL. */
40
+ path: string;
41
+ /** The domain of the URL. */
42
+ domain: string;
43
+ /** The home of the URL. */
44
+ home: string;
45
+ }
46
+ /** Describes the items returned by a sitemap response. */
47
+ export type SitemapItems = Record<string, Array<SitemapItem>>;
48
+ /** Describes the response object returned by a Griddo ReferenceField. */
49
+ export type ReferenceFieldResponse = Fields.QueriedData<unknown>;
50
+ /** Describes the response object returned by socials from Griddo. */
51
+ export type SocialsResponse = Record<Core.SocialName, string>;
52
+ /** Describes the response object returned by post search info post. */
53
+ export type PostSearchInfoResponse = {
54
+ code: number;
55
+ message: string;
56
+ };
57
+ /** Describes the response object returned by a sitemap. */
58
+ export interface SitemapAPIResponse {
59
+ /** Number of items */
60
+ totalItems: number;
61
+ /** Page id */
62
+ page: number;
63
+ /** Item response by API */
64
+ items: SitemapItems;
65
+ /** Url */
66
+ url: URL;
67
+ }
68
+ /** Descripbes Language responses from Griddo API. */
69
+ export interface LanguagesResponse {
70
+ /** Total of languages */
71
+ totalItems: number;
72
+ /** Array of languages objects */
73
+ items: Array<Core.SiteLanguage>;
74
+ }
75
+ /** Describes common props for api responses. */
76
+ export interface APIRequest {
77
+ /** The URL of the API endpoint. */
78
+ endpoint: string;
79
+ /** The parameters to be sent in the request body. */
80
+ body?: any;
81
+ /** Reference id to manage cache between renders. */
82
+ cacheKey?: string;
83
+ /** Number of connection attempts (in case it fails on the first attempt). */
84
+ attempt?: number;
85
+ /**
86
+ * Headers for the post api fetch
87
+ * @shame any
88
+ * @todo type this correctly from axios types
89
+ */
90
+ headers?: any;
91
+ useApiCacheDir?: boolean;
92
+ }
93
+ /** Type with the POST request properties. */
94
+ export interface PostAPI extends Omit<APIRequest, "headers"> {
95
+ headers?: {
96
+ lang?: number;
97
+ } & Record<string, unknown>;
98
+ }
99
+ /** Type with the GET request properties. */
100
+ export type GetAPI = APIRequest;
101
+ /** Type with the PUT request properties. */
102
+ export type PutAPI = APIRequest;
103
+ /** Response type for the start render API call */
104
+ export interface StartPageRenderResponse {
105
+ /** Site hashes to publish */
106
+ publishIds: Array<number>;
107
+ /** Current site hash */
108
+ siteHash: string | null;
109
+ /** Site hashes to unpublish */
110
+ unpublishHashes: Array<string>;
111
+ }
112
+ /** Response type for the end render API call */
113
+ export interface EndPageInfoResponse {
114
+ /** Response code */
115
+ code: number;
116
+ /** Response message */
117
+ message: string;
118
+ }
119
+ /** Response type for the embedding answer in the ai search feature */
120
+ export type PostEmbeddingsResponse = string;
121
+ /** Describes a response type for GET all sites */
122
+ export type AllSitesReponse = Array<Site>;
123
+ /** Describes a response type for GET one page */
124
+ export type PageResponse = APIPageObject;
125
+ /** All types for the API response used in the api functions get, put, post */
126
+ export type APIResponses = Domains | Robots | Settings | AllSitesReponse | Site | LanguagesResponse | StartPageRenderResponse | SitemapAPIResponse | SocialsResponse | PageResponse | EndPageInfoResponse | ReferenceFieldResponse | PostSearchInfoResponse | PostSearchInfoResponse | PostEmbeddingsResponse;
127
+ export interface ShowApiErrorOptions {
128
+ callInfo: Record<string, any>;
129
+ }
130
+ export interface BuildMetaData {
131
+ buildProcessData: Record<string, EndSiteRenderBody>;
132
+ createdPages: Array<number>;
133
+ sitesToPublish: Array<Site>;
134
+ }
135
+ export interface Auth {
136
+ Authorization: string;
137
+ "Cache-Control": string;
138
+ }
139
+ export interface AuthHeaders extends Auth {
140
+ lang?: string;
141
+ }
142
+ export {};
@@ -0,0 +1,84 @@
1
+ import type { EndSiteRenderBody } from "./api";
2
+ import type { Site } from "./sites";
3
+ import type { Core, Fields } from "@griddo/core";
4
+ interface Settings {
5
+ apiVersion?: string;
6
+ avoidCanonicalsOnSitemaps?: boolean;
7
+ avoidDebugMetas?: boolean;
8
+ avoidHrefLangsOnCanonicals?: boolean;
9
+ avoidHrefLangXDefault?: boolean;
10
+ avoidSelfReferenceCanonicals?: boolean;
11
+ cloudinaryName?: string;
12
+ forceMenuLinksLanguage?: boolean;
13
+ globalLogoBig?: string;
14
+ globalLogoMini?: string;
15
+ lastDBCheckVersion?: string;
16
+ schemasTimestamp?: string;
17
+ schemasVersion?: string;
18
+ showBasicMetaRobots?: boolean;
19
+ siteLogoBig?: string;
20
+ siteLogoMini?: string;
21
+ skipReviewOnPublish?: boolean;
22
+ useMetaTitle?: boolean;
23
+ useMetaKeywords?: boolean;
24
+ welcomeText1?: string;
25
+ welcomeText2?: string;
26
+ }
27
+ type Petition = Record<string, unknown>;
28
+ interface PostSearchInfoProps {
29
+ title?: string;
30
+ description: string | null | undefined;
31
+ image: string | null | undefined;
32
+ pageId?: number;
33
+ siteId: number;
34
+ content: string;
35
+ languageId?: number;
36
+ template?: string | null | number;
37
+ url?: string;
38
+ }
39
+ interface FetchDataProps {
40
+ page: Core.Page;
41
+ component: {
42
+ data?: Fields.Reference<unknown>;
43
+ };
44
+ /** Reference id to manage cache between renders. */
45
+ cacheKey: string;
46
+ }
47
+ type Domain = {
48
+ id: number;
49
+ slug: string;
50
+ url: string;
51
+ };
52
+ type Domains = Array<Domain>;
53
+ /** Describes the type of build process data object. */
54
+ type BuildProcessData = Record<string, EndSiteRenderBody>;
55
+ type Robot = {
56
+ path: string;
57
+ content: string;
58
+ };
59
+ type Robots = Array<Robot>;
60
+ interface RenderInfo {
61
+ buildProcessData: BuildProcessData;
62
+ createdPages: Array<number>;
63
+ sitesToPublish: Array<Site>;
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";
68
+ interface CXConfig {
69
+ proDomain: string;
70
+ griddoVersion: string;
71
+ buildReportFileName: string;
72
+ paths: (domain?: string) => Record<PlaceholderPath, string>;
73
+ }
74
+ interface AIEmbeddingsResponse {
75
+ code: number;
76
+ message: string;
77
+ }
78
+ interface Artifacts {
79
+ disposables: Array<string>;
80
+ cacheables: Array<string>;
81
+ initials: Array<string>;
82
+ archivables: Array<string>;
83
+ }
84
+ export type { AIEmbeddingsResponse, Artifacts, BuildProcessData, CXConfig, Domain, Domains, FetchDataProps, LifeCyclesNames, Petition, PlaceholderPath, PostSearchInfoProps, RenderInfo, Robot, Robots, Settings, LifeCycleSteps, };
@@ -0,0 +1,28 @@
1
+ /** Describes a Griddo Header */
2
+ export type Header = {
3
+ component: "Header";
4
+ id: number;
5
+ isDefault: boolean;
6
+ language: number;
7
+ navigationLanguages: Array<{
8
+ navigationId: number;
9
+ }>;
10
+ setAsDefault: boolean;
11
+ theme: null | string;
12
+ title: string;
13
+ type: "header";
14
+ };
15
+ /** Describes a Griddo Footer */
16
+ export type Footer = {
17
+ component: "Footer";
18
+ id: number;
19
+ isDefault: boolean;
20
+ language: number;
21
+ navigationLanguages: Array<{
22
+ navigationId: number;
23
+ }>;
24
+ setAsDefault: boolean;
25
+ theme: null | string;
26
+ title: string;
27
+ type: "header";
28
+ };
@@ -0,0 +1,144 @@
1
+ import type { SocialsResponse } from "./api";
2
+ import type { Settings } from "./global";
3
+ import type { Site } from "./sites";
4
+ import type { Core, Fields } from "@griddo/core";
5
+ export type APIPageObject = Core.Page & {
6
+ id: number;
7
+ } & {
8
+ header: number | null;
9
+ footer: number | null;
10
+ };
11
+ export type CleanPage = Core.Page & {
12
+ isRoot: boolean;
13
+ defaultLang?: Core.SiteLanguage | undefined;
14
+ };
15
+ export type RenderPage = Core.Page & {
16
+ isRoot?: boolean;
17
+ multiPageElements: MultiPageElements;
18
+ defaultLang?: Core.SiteLanguage;
19
+ header: number;
20
+ footer: number;
21
+ id: number;
22
+ path: string;
23
+ component: "Page";
24
+ template_id: string;
25
+ mode: "list";
26
+ };
27
+ export type GriddoSinglePage = Core.Page & {
28
+ defaultLang?: Core.SiteLanguage;
29
+ };
30
+ export type GriddoListPage = Core.Page & {
31
+ page: APIPageObject;
32
+ pages: Array<Array<Fields.QueriedDataItem>>;
33
+ isRoot?: boolean;
34
+ defaultLang?: Core.SiteLanguage;
35
+ template: {
36
+ [key: string]: unknown;
37
+ type: "template";
38
+ templateType: string;
39
+ activeSectionSlug: string;
40
+ activeSectionBase: string;
41
+ };
42
+ totalQueriedItems: Array<Fields.QueriedDataItem>;
43
+ };
44
+ export type GriddoMultiPage = Core.Page & {
45
+ header: number | null;
46
+ footer: number | null;
47
+ isRoot?: boolean;
48
+ multiPageElements: MultiPageElements;
49
+ defaultLang?: Core.SiteLanguage | undefined;
50
+ };
51
+ export interface AdditionalInfo {
52
+ baseUrl: string;
53
+ cloudinaryName?: string;
54
+ griddoVersion: string;
55
+ instance?: string;
56
+ publicBaseUrl: string;
57
+ siteLangs: Array<Core.SiteLanguage>;
58
+ siteMetadata: Site["siteMetadata"];
59
+ siteSlug: string;
60
+ socials: SocialsResponse;
61
+ siteOptions: Pick<Settings, "useMetaTitle" | "useMetaKeywords" | "showBasicMetaRobots" | "avoidHrefLangsOnCanonicals" | "avoidSelfReferenceCanonicals" | "avoidHrefLangXDefault" | "avoidDebugMetas">;
62
+ siteScript: string;
63
+ theme: string;
64
+ }
65
+ export interface PageAdditionalInfo extends AdditionalInfo {
66
+ navigations: {
67
+ header: Record<string, unknown> | null;
68
+ footer: Record<string, unknown> | null;
69
+ };
70
+ }
71
+ export type MultiPageElement = {
72
+ component: string;
73
+ title: string | Required<Fields.Heading>;
74
+ elements: Array<Record<string, unknown>>;
75
+ componentModules: Array<Record<string, unknown>>;
76
+ sectionSlug: string;
77
+ metaTitle: string;
78
+ metaDescription: string;
79
+ };
80
+ export type MultiPageElements = Array<MultiPageElement>;
81
+ /**
82
+ * Gatsby page object format.
83
+ */
84
+ export type GriddoPageObject = {
85
+ matchPath?: string;
86
+ path: string;
87
+ /** Page size in bytes */
88
+ size?: number;
89
+ context: {
90
+ cloudinaryName?: string;
91
+ footer: Record<string, unknown> | null;
92
+ fullPath: Core.Page["fullPath"];
93
+ griddoVersion: string;
94
+ renderDate: string;
95
+ header: Record<string, unknown> | null;
96
+ id?: number;
97
+ languageId: number;
98
+ locale?: string;
99
+ openGraph: {
100
+ description?: string;
101
+ image?: string | null;
102
+ title?: string;
103
+ twitterImage?: string | null;
104
+ type: "website";
105
+ };
106
+ pageMetadata: {
107
+ canonical?: string | undefined;
108
+ description?: string;
109
+ follow?: "follow" | "nofollow";
110
+ index: "index" | "noindex";
111
+ locale?: string;
112
+ metaKeywords?: string;
113
+ metasAdvanced?: string;
114
+ pageLanguages?: Core.Page["pageLanguages"];
115
+ title?: string;
116
+ translate?: "notranslate" | "";
117
+ url?: string;
118
+ };
119
+ siteMetadata: Site["siteMetadata"];
120
+ theme: string;
121
+ title: string;
122
+ siteLangs: Array<Core.SiteLanguage>;
123
+ siteOptions: AdditionalInfo["siteOptions"];
124
+ siteScript: string;
125
+ socials: SocialsResponse;
126
+ page: GriddoSinglePage | GriddoListPage | GriddoMultiPage;
127
+ };
128
+ };
129
+ export interface Dimensions {
130
+ values: Record<string, string> | null;
131
+ contentSelect?: "group" | "individual" | null;
132
+ groupSelect?: string;
133
+ dimensionsSelect?: Array<string>;
134
+ }
135
+ export interface GatsbyPageTemplateProps extends Omit<GriddoPageObject, "context"> {
136
+ pageContext: GriddoPageObject["context"] & {
137
+ page: Core.Page;
138
+ };
139
+ location: {
140
+ pathname: string;
141
+ search: string;
142
+ hash: string;
143
+ };
144
+ }
@@ -0,0 +1,57 @@
1
+ import type { SocialsResponse } from "./api";
2
+ import type { Footer, Header } from "./navigation";
3
+ import type { Core } from "@griddo/core";
4
+ /**
5
+ * Describes a Griddo site object from API.
6
+ * This takes some type props from Core.Site.
7
+ */
8
+ export interface Site extends Required<Pick<Core.Site, "bigAvatar" | "favicon" | "home" | "id" | "isPublished" | "timezone" | "thumbnail" | "theme" | "socials" | "slug" | "smallAvatar" | "modified" | "name" | "siteMetadata">> {
9
+ author: string;
10
+ deleted: number;
11
+ domains: Array<Record<string, string>>;
12
+ footers: Array<Footer>;
13
+ hash: string | null;
14
+ headers: Array<Header>;
15
+ languages: Array<Core.SiteLanguage>;
16
+ languageSites: Array<number>;
17
+ navigationModules: {
18
+ header?: string;
19
+ footer?: string;
20
+ } | null;
21
+ /**
22
+ * Array of all pages (from day 0): published, unpublished and deleted
23
+ * If you want the real used pages use this endpoint: `/site/:site/pages`
24
+ * `select/site/33/pages` -> [{id,label}, {id,label}, {id,label}] // array of published, pending, unpublished... page objects
25
+ * `select/site/33/pages?liveStatus=active` -> // array of publishedpage objects
26
+ */
27
+ pages: Array<number>;
28
+ onlinePages: Array<number>;
29
+ changedPages: Array<number>;
30
+ published: string;
31
+ rendering: boolean;
32
+ renderingHours: number;
33
+ shouldBeUpdated: boolean;
34
+ siteScript: string;
35
+ smallAvatar: string;
36
+ updated: boolean;
37
+ pagesStatus: {
38
+ active: Array<number>;
39
+ uploadPending: Array<number>;
40
+ offlinePending: Array<number>;
41
+ offline: Array<number>;
42
+ deleted: Array<number>;
43
+ };
44
+ }
45
+ export interface SiteData {
46
+ siteInfo: Site;
47
+ validPagesIds: Array<number>;
48
+ siteHash: string | null;
49
+ unpublishHashes: Array<string>;
50
+ siteLangs: Array<Core.SiteLanguage>;
51
+ defaultLang: Core.SiteLanguage | undefined;
52
+ headers: Array<Header>;
53
+ footers: Array<Footer>;
54
+ socials: SocialsResponse;
55
+ }
56
+ export type SiteHash = string | null;
57
+ export type HashSites = Record<string, number | string>;
@@ -0,0 +1,8 @@
1
+ import type { Core, Fields } from "@griddo/core";
2
+ /** Describes a template object from a Griddo Page */
3
+ export type Template = Core.Page["template"];
4
+ /** Describes a template with a ReferenceField data */
5
+ export type TemplateWithReferenceField = Template & {
6
+ queriedItems?: Fields.QueriedData<unknown>;
7
+ itemsPerPage?: number;
8
+ };