@griddo/cx 11.7.6 → 11.7.7-rc.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 (280) hide show
  1. package/README.md +27 -226
  2. package/build/adapters/gatsby/actions/clean.js +10 -0
  3. package/build/adapters/gatsby/actions/clean.js.map +1 -0
  4. package/build/adapters/gatsby/actions/close.js +12 -0
  5. package/build/adapters/gatsby/actions/close.js.map +1 -0
  6. package/build/adapters/gatsby/actions/data.js +18 -0
  7. package/build/adapters/gatsby/actions/data.js.map +1 -0
  8. package/build/adapters/gatsby/actions/healthCheck.js +10 -0
  9. package/build/adapters/gatsby/actions/healthCheck.js.map +1 -0
  10. package/build/adapters/gatsby/actions/init.js +9 -0
  11. package/build/adapters/gatsby/actions/init.js.map +1 -0
  12. package/build/adapters/gatsby/actions/meta.js +14 -0
  13. package/build/adapters/gatsby/actions/meta.js.map +1 -0
  14. package/build/adapters/gatsby/actions/prepare.js +9 -0
  15. package/build/adapters/gatsby/actions/prepare.js.map +1 -0
  16. package/build/adapters/gatsby/actions/relocation.js +15 -0
  17. package/build/adapters/gatsby/actions/relocation.js.map +1 -0
  18. package/build/adapters/gatsby/actions/restore.js +26 -0
  19. package/build/adapters/gatsby/actions/restore.js.map +1 -0
  20. package/build/adapters/gatsby/actions/ssg.js +9 -0
  21. package/build/adapters/gatsby/actions/ssg.js.map +1 -0
  22. package/build/adapters/gatsby/actions/sync.js +51 -0
  23. package/build/adapters/gatsby/actions/sync.js.map +1 -0
  24. package/build/adapters/gatsby/index.js +79 -0
  25. package/build/adapters/gatsby/index.js.map +1 -0
  26. package/build/adapters/gatsby/shared/context.js +31 -0
  27. package/build/adapters/gatsby/shared/context.js.map +1 -0
  28. package/build/adapters/gatsby/shared/diff-assets.js +101 -0
  29. package/build/adapters/gatsby/shared/diff-assets.js.map +1 -0
  30. package/build/adapters/gatsby/shared/extract-assets.js +58 -0
  31. package/build/adapters/gatsby/shared/extract-assets.js.map +1 -0
  32. package/build/adapters/gatsby/shared/gatsby-build.js +49 -0
  33. package/build/adapters/gatsby/shared/gatsby-build.js.map +1 -0
  34. package/build/adapters/gatsby/shared/sync-render.js +210 -0
  35. package/build/adapters/gatsby/shared/sync-render.js.map +1 -0
  36. package/build/adapters/gatsby/shared/types.js +3 -0
  37. package/build/adapters/gatsby/shared/types.js.map +1 -0
  38. package/build/commands/end-render.js +88 -0
  39. package/build/commands/end-render.js.map +1 -0
  40. package/build/commands/prepare-assets-directory.js +32 -0
  41. package/build/commands/prepare-assets-directory.js.map +1 -0
  42. package/build/commands/prepare-domains-render.js +133 -0
  43. package/build/commands/prepare-domains-render.js.map +1 -0
  44. package/build/commands/reset-render.js +22 -0
  45. package/build/commands/reset-render.js.map +1 -0
  46. package/build/commands/start-render.js +45 -0
  47. package/build/commands/start-render.js.map +1 -0
  48. package/build/commands/upload-search-content.js +180 -0
  49. package/build/commands/upload-search-content.js.map +1 -0
  50. package/build/constants/endpoints.js +42 -0
  51. package/build/constants/endpoints.js.map +1 -0
  52. package/build/constants/envs.js +68 -0
  53. package/build/constants/envs.js.map +1 -0
  54. package/build/constants/errors.js +81 -0
  55. package/build/constants/errors.js.map +1 -0
  56. package/build/services/auth.js +40 -0
  57. package/build/services/auth.js.map +1 -0
  58. package/build/services/db-class.js +49 -0
  59. package/build/services/db-class.js.map +1 -0
  60. package/build/services/db.js +34 -0
  61. package/build/services/db.js.map +1 -0
  62. package/build/services/navigation.js +96 -0
  63. package/build/services/navigation.js.map +1 -0
  64. package/build/services/reference-fields.js +131 -0
  65. package/build/services/reference-fields.js.map +1 -0
  66. package/build/services/robots.js +60 -0
  67. package/build/services/robots.js.map +1 -0
  68. package/build/services/sites.js +109 -0
  69. package/build/services/sites.js.map +1 -0
  70. package/build/services/store.js +282 -0
  71. package/build/services/store.js.map +1 -0
  72. package/build/types/api.js +3 -0
  73. package/build/types/api.js.map +1 -0
  74. package/build/types/global.js +3 -0
  75. package/build/types/global.js.map +1 -0
  76. package/build/types/navigation.js +3 -0
  77. package/build/types/navigation.js.map +1 -0
  78. package/build/types/pages.js +3 -0
  79. package/build/types/pages.js.map +1 -0
  80. package/build/types/render.js +10 -0
  81. package/build/types/render.js.map +1 -0
  82. package/build/types/sites.js +3 -0
  83. package/build/types/sites.js.map +1 -0
  84. package/build/types/templates.js +3 -0
  85. package/build/types/templates.js.map +1 -0
  86. package/build/utils/api.js +161 -0
  87. package/build/utils/api.js.map +1 -0
  88. package/build/utils/artifacts.js +34 -0
  89. package/build/utils/artifacts.js.map +1 -0
  90. package/build/utils/brush.js +30 -0
  91. package/build/utils/brush.js.map +1 -0
  92. package/build/utils/cache.js +106 -0
  93. package/build/utils/cache.js.map +1 -0
  94. package/build/utils/check-health.js +68 -0
  95. package/build/utils/check-health.js.map +1 -0
  96. package/build/utils/core-utils.js +283 -0
  97. package/build/utils/core-utils.js.map +1 -0
  98. package/build/utils/domains.js +37 -0
  99. package/build/utils/domains.js.map +1 -0
  100. package/build/utils/errors.js +30 -0
  101. package/build/utils/errors.js.map +1 -0
  102. package/build/utils/folders.js +362 -0
  103. package/build/utils/folders.js.map +1 -0
  104. package/build/utils/images.js +45 -0
  105. package/build/utils/images.js.map +1 -0
  106. package/build/utils/instance.js +66 -0
  107. package/build/utils/instance.js.map +1 -0
  108. package/build/utils/loggin.js +108 -0
  109. package/build/utils/loggin.js.map +1 -0
  110. package/build/utils/pages.js +359 -0
  111. package/build/utils/pages.js.map +1 -0
  112. package/build/utils/render.js +144 -0
  113. package/build/utils/render.js.map +1 -0
  114. package/build/utils/sites.js +240 -0
  115. package/build/utils/sites.js.map +1 -0
  116. package/build/utils/store.js +193 -0
  117. package/build/utils/store.js.map +1 -0
  118. package/exporter/adapters/gatsby/actions/clean.ts +14 -0
  119. package/exporter/adapters/gatsby/actions/close.ts +17 -0
  120. package/exporter/adapters/gatsby/actions/data.ts +25 -0
  121. package/exporter/adapters/gatsby/actions/healthCheck.ts +10 -0
  122. package/exporter/adapters/gatsby/actions/init.ts +12 -0
  123. package/exporter/adapters/gatsby/actions/meta.ts +18 -0
  124. package/exporter/adapters/gatsby/actions/prepare.ts +9 -0
  125. package/exporter/adapters/gatsby/actions/relocation.ts +15 -0
  126. package/exporter/adapters/gatsby/actions/restore.ts +36 -0
  127. package/exporter/adapters/gatsby/actions/ssg.ts +12 -0
  128. package/exporter/adapters/gatsby/actions/sync.ts +71 -0
  129. package/exporter/adapters/gatsby/index.ts +67 -147
  130. package/exporter/adapters/gatsby/shared/context.ts +50 -0
  131. package/exporter/adapters/gatsby/shared/diff-assets.ts +113 -0
  132. package/exporter/adapters/gatsby/shared/extract-assets.ts +61 -0
  133. package/exporter/adapters/gatsby/shared/gatsby-build.ts +54 -0
  134. package/exporter/adapters/gatsby/shared/sync-render.ts +276 -0
  135. package/exporter/adapters/gatsby/shared/types.ts +35 -0
  136. package/exporter/build-esbuild.noop +42 -0
  137. package/exporter/build.sh +4 -38
  138. package/exporter/commands/end-render.ts +73 -69
  139. package/exporter/commands/prepare-assets-directory.ts +33 -0
  140. package/exporter/commands/prepare-domains-render.ts +144 -31
  141. package/exporter/commands/reset-render.ts +10 -1
  142. package/exporter/commands/start-render.ts +23 -44
  143. package/exporter/commands/upload-search-content.ts +194 -20
  144. package/exporter/constants/envs.ts +57 -55
  145. package/exporter/{errors/errors-data.ts → constants/errors.ts} +24 -14
  146. package/exporter/services/auth.ts +7 -6
  147. package/exporter/services/db-class.ts +54 -0
  148. package/exporter/services/db.ts +32 -0
  149. package/exporter/services/navigation.ts +4 -10
  150. package/exporter/services/reference-fields.ts +8 -23
  151. package/exporter/services/robots.ts +9 -16
  152. package/exporter/services/sites.ts +35 -24
  153. package/exporter/services/store.ts +120 -78
  154. package/exporter/types/api.ts +24 -27
  155. package/exporter/types/global.ts +7 -10
  156. package/exporter/types/navigation.ts +1 -1
  157. package/exporter/types/pages.ts +2 -3
  158. package/exporter/types/render.ts +59 -0
  159. package/exporter/types/sites.ts +1 -2
  160. package/exporter/utils/api.ts +46 -82
  161. package/exporter/utils/artifacts.ts +34 -0
  162. package/exporter/utils/brush.ts +34 -0
  163. package/exporter/utils/cache.ts +37 -62
  164. package/exporter/utils/check-health.ts +79 -0
  165. package/exporter/utils/core-utils.ts +129 -248
  166. package/exporter/utils/domains.ts +10 -7
  167. package/exporter/{errors/index.ts → utils/errors.ts} +10 -9
  168. package/exporter/utils/folders.ts +187 -95
  169. package/exporter/utils/images.ts +1 -6
  170. package/exporter/utils/instance.ts +9 -12
  171. package/exporter/utils/loggin.ts +32 -91
  172. package/exporter/utils/pages.ts +23 -88
  173. package/exporter/utils/render.ts +149 -48
  174. package/exporter/utils/sites.ts +81 -90
  175. package/exporter/utils/store.ts +87 -180
  176. package/gatsby-browser.tsx +41 -58
  177. package/gatsby-config.ts +6 -12
  178. package/gatsby-node.ts +15 -77
  179. package/gatsby-ssr.tsx +2 -1
  180. package/package.json +36 -78
  181. package/plugins/gatsby-plugin-svgr-loader/gatsby-node.js +55 -0
  182. package/plugins/gatsby-plugin-svgr-loader/package.json +8 -0
  183. package/{exporter/react → react}/Favicon/index.tsx +1 -7
  184. package/{exporter/react → react}/GriddoIntegrations/index.tsx +6 -14
  185. package/{exporter/react → react}/GriddoIntegrations/utils.ts +4 -9
  186. package/{build/react/index.d.ts → react/index.tsx} +1 -0
  187. package/src/components/Head.tsx +13 -46
  188. package/src/components/template.tsx +8 -30
  189. package/src/gatsby-node-utils.ts +91 -2
  190. package/src/html.tsx +2 -11
  191. package/src/types.ts +5 -5
  192. package/tsconfig.json +5 -3
  193. package/build/adapters/gatsby/index.d.ts +0 -4
  194. package/build/adapters/gatsby/utils.d.ts +0 -22
  195. package/build/artifacts/index.d.ts +0 -6
  196. package/build/commands/end-render.d.ts +0 -2
  197. package/build/commands/move-assets.d.ts +0 -1
  198. package/build/commands/prepare-domains-render.d.ts +0 -1
  199. package/build/commands/reset-render.d.ts +0 -2
  200. package/build/commands/start-render.d.ts +0 -2
  201. package/build/commands/upload-search-content.d.ts +0 -2
  202. package/build/constants/endpoints.d.ts +0 -19
  203. package/build/constants/envs.d.ts +0 -37
  204. package/build/constants/index.d.ts +0 -57
  205. package/build/end-render.js +0 -74
  206. package/build/end-render.js.map +0 -7
  207. package/build/errors/errors-data.d.ts +0 -22
  208. package/build/errors/index.d.ts +0 -15
  209. package/build/index.d.ts +0 -29
  210. package/build/index.js +0 -73
  211. package/build/index.js.map +0 -7
  212. package/build/prepare-domains-render.js +0 -73
  213. package/build/prepare-domains-render.js.map +0 -7
  214. package/build/react/Favicon/index.d.ts +0 -5
  215. package/build/react/Favicon/utils.d.ts +0 -9
  216. package/build/react/GriddoIntegrations/index.d.ts +0 -20
  217. package/build/react/GriddoIntegrations/utils.d.ts +0 -26
  218. package/build/react/index.js +0 -3
  219. package/build/registers/api.d.ts +0 -9
  220. package/build/registers/gatsby.d.ts +0 -9
  221. package/build/registers/index.d.ts +0 -3
  222. package/build/reset-render.js +0 -74
  223. package/build/reset-render.js.map +0 -7
  224. package/build/services/auth.d.ts +0 -10
  225. package/build/services/domains.d.ts +0 -6
  226. package/build/services/navigation.d.ts +0 -50
  227. package/build/services/reference-fields.d.ts +0 -20
  228. package/build/services/register.d.ts +0 -36
  229. package/build/services/robots.d.ts +0 -19
  230. package/build/services/settings.d.ts +0 -4
  231. package/build/services/sites.d.ts +0 -29
  232. package/build/services/store.d.ts +0 -6
  233. package/build/start-render.js +0 -100
  234. package/build/start-render.js.map +0 -7
  235. package/build/types/api.d.ts +0 -142
  236. package/build/types/global.d.ts +0 -84
  237. package/build/types/navigation.d.ts +0 -28
  238. package/build/types/pages.d.ts +0 -144
  239. package/build/types/sites.d.ts +0 -57
  240. package/build/types/templates.d.ts +0 -8
  241. package/build/upload-search-content.js +0 -74
  242. package/build/upload-search-content.js.map +0 -7
  243. package/build/utils/alerts.d.ts +0 -3
  244. package/build/utils/api.d.ts +0 -23
  245. package/build/utils/cache.d.ts +0 -35
  246. package/build/utils/core-utils.d.ts +0 -107
  247. package/build/utils/create-build-data.d.ts +0 -8
  248. package/build/utils/domains.d.ts +0 -13
  249. package/build/utils/folders.d.ts +0 -53
  250. package/build/utils/health-checks.d.ts +0 -7
  251. package/build/utils/images.d.ts +0 -16
  252. package/build/utils/instance.d.ts +0 -21
  253. package/build/utils/loggin.d.ts +0 -51
  254. package/build/utils/pages.d.ts +0 -34
  255. package/build/utils/render.d.ts +0 -13
  256. package/build/utils/searches.d.ts +0 -15
  257. package/build/utils/sites.d.ts +0 -31
  258. package/build/utils/store.d.ts +0 -81
  259. package/cx.config.d.ts +0 -5
  260. package/cx.config.js +0 -36
  261. package/exporter/adapters/gatsby/utils.ts +0 -161
  262. package/exporter/artifacts/README.md +0 -34
  263. package/exporter/artifacts/index.ts +0 -33
  264. package/exporter/commands/move-assets.ts +0 -11
  265. package/exporter/constants/index.ts +0 -129
  266. package/exporter/index.ts +0 -82
  267. package/exporter/react/index.tsx +0 -11
  268. package/exporter/registers/api.ts +0 -14
  269. package/exporter/registers/gatsby.ts +0 -14
  270. package/exporter/registers/index.ts +0 -4
  271. package/exporter/services/domains.ts +0 -16
  272. package/exporter/services/register.ts +0 -113
  273. package/exporter/services/settings.ts +0 -17
  274. package/exporter/utils/alerts.ts +0 -29
  275. package/exporter/utils/create-build-data.ts +0 -17
  276. package/exporter/utils/health-checks.ts +0 -64
  277. package/exporter/utils/searches.ts +0 -156
  278. package/src/README.md +0 -7
  279. package/start-render.js +0 -7
  280. /package/{exporter/react → react}/Favicon/utils.ts +0 -0
@@ -2,7 +2,6 @@ import type { GatsbyBrowser } from "gatsby";
2
2
 
3
3
  import { SessionProvider } from "@griddo/core";
4
4
  import { browser } from "@griddo-instance";
5
- import * as React from "react";
6
5
 
7
6
  export const disableCorePrefetching = () => {
8
7
  if (browser.disableCorePrefetching) {
@@ -22,9 +21,7 @@ export const onInitialClientRender = () => {
22
21
  }
23
22
  };
24
23
 
25
- export const onPostPrefetchPathname: GatsbyBrowser["onPostPrefetchPathname"] = (
26
- props,
27
- ) => {
24
+ export const onPostPrefetchPathname: GatsbyBrowser["onPostPrefetchPathname"] = (props) => {
28
25
  if (browser.onPostPrefetchPathname) {
29
26
  browser.onPostPrefetchPathname(props);
30
27
  }
@@ -36,75 +33,61 @@ export const onPreRouteUpdate: GatsbyBrowser["onPreRouteUpdate"] = (props) => {
36
33
  }
37
34
  };
38
35
 
39
- export const onPrefetchPathname: GatsbyBrowser["onPrefetchPathname"] = (
40
- props,
41
- ) => {
36
+ export const onPrefetchPathname: GatsbyBrowser["onPrefetchPathname"] = (props) => {
42
37
  if (browser.onPrefetchPathname) {
43
38
  browser.onPrefetchPathname(props);
44
39
  }
45
40
  };
46
41
 
47
- export const onRouteUpdateDelayed: GatsbyBrowser["onRouteUpdateDelayed"] = (
48
- props,
49
- ) => {
42
+ export const onRouteUpdateDelayed: GatsbyBrowser["onRouteUpdateDelayed"] = (props) => {
50
43
  if (browser.onServiceWorkerActive) {
51
44
  browser.onRouteUpdateDelayed(props);
52
45
  }
53
46
  };
54
47
 
55
- export const onServiceWorkerActive: GatsbyBrowser["onServiceWorkerActive"] = (
56
- props,
57
- ) => {
48
+ export const onServiceWorkerActive: GatsbyBrowser["onServiceWorkerActive"] = (props) => {
58
49
  if (browser.onServiceWorkerActive) {
59
50
  browser.onServiceWorkerActive(props);
60
51
  }
61
52
  };
62
53
 
63
- export const onServiceWorkerInstalled: GatsbyBrowser["onServiceWorkerInstalled"] =
64
- (props) => {
65
- if (browser.onServiceWorkerInstalled) {
66
- browser.onServiceWorkerInstalled(props);
67
- }
68
- };
69
-
70
- export const onServiceWorkerRedundant: GatsbyBrowser["onServiceWorkerRedundant"] =
71
- (props) => {
72
- if (browser.onServiceWorkerRedundant) {
73
- browser.onServiceWorkerRedundant(props);
74
- }
75
- };
76
-
77
- export const onServiceWorkerUpdateFound: GatsbyBrowser["onServiceWorkerUpdateFound"] =
78
- (props) => {
79
- if (browser.onServiceWorkerUpdateFound) {
80
- browser.onServiceWorkerUpdateFound(props);
81
- }
82
- };
83
-
84
- export const onServiceWorkerUpdateReady: GatsbyBrowser["onServiceWorkerUpdateReady"] =
85
- (props) => {
86
- if (browser.onServiceWorkerUpdateReady) {
87
- browser.onServiceWorkerUpdateReady(props);
88
- }
89
- };
90
-
91
- export const registerServiceWorker: GatsbyBrowser["registerServiceWorker"] =
92
- () => {
93
- if (browser.registerServiceWorker) {
94
- return browser.registerServiceWorker();
95
- }
96
- };
97
-
98
- export const replaceHydrateFunction: GatsbyBrowser["replaceHydrateFunction"] =
99
- () => {
100
- if (browser.replaceHydrateFunction) {
101
- return browser.replaceHydrateFunction();
102
- }
103
- };
104
-
105
- export const shouldUpdateScroll: GatsbyBrowser["shouldUpdateScroll"] = (
106
- props,
107
- ) => {
54
+ export const onServiceWorkerInstalled: GatsbyBrowser["onServiceWorkerInstalled"] = (props) => {
55
+ if (browser.onServiceWorkerInstalled) {
56
+ browser.onServiceWorkerInstalled(props);
57
+ }
58
+ };
59
+
60
+ export const onServiceWorkerRedundant: GatsbyBrowser["onServiceWorkerRedundant"] = (props) => {
61
+ if (browser.onServiceWorkerRedundant) {
62
+ browser.onServiceWorkerRedundant(props);
63
+ }
64
+ };
65
+
66
+ export const onServiceWorkerUpdateFound: GatsbyBrowser["onServiceWorkerUpdateFound"] = (props) => {
67
+ if (browser.onServiceWorkerUpdateFound) {
68
+ browser.onServiceWorkerUpdateFound(props);
69
+ }
70
+ };
71
+
72
+ export const onServiceWorkerUpdateReady: GatsbyBrowser["onServiceWorkerUpdateReady"] = (props) => {
73
+ if (browser.onServiceWorkerUpdateReady) {
74
+ browser.onServiceWorkerUpdateReady(props);
75
+ }
76
+ };
77
+
78
+ export const registerServiceWorker: GatsbyBrowser["registerServiceWorker"] = () => {
79
+ if (browser.registerServiceWorker) {
80
+ return browser.registerServiceWorker();
81
+ }
82
+ };
83
+
84
+ export const replaceHydrateFunction: GatsbyBrowser["replaceHydrateFunction"] = () => {
85
+ if (browser.replaceHydrateFunction) {
86
+ return browser.replaceHydrateFunction();
87
+ }
88
+ };
89
+
90
+ export const shouldUpdateScroll: GatsbyBrowser["shouldUpdateScroll"] = (props) => {
108
91
  if (browser.shouldUpdateScroll) {
109
92
  return browser.shouldUpdateScroll(props);
110
93
  }
package/gatsby-config.ts CHANGED
@@ -1,13 +1,10 @@
1
1
  import type { GatsbyConfig } from "gatsby";
2
2
 
3
- import { resolveComponentsPath, verboseLog } from "@griddo/cx";
4
- import dotenv from "dotenv";
5
-
6
- dotenv.config();
3
+ import { resolveComponentsPath } from "./exporter/utils/instance";
7
4
 
8
5
  /**
9
6
  * Este process.env.SPAWN_ASSET_PREFIX_WITH_DOMAIN se lee porque
10
- * se ha introducido en el spawnSync del la función runGatsbyBuildCommand.
7
+ * se ha introducido en el spawnSync del la función gatsbyBuild.
11
8
  *
12
9
  * ...
13
10
  * env: Object.assign(process.env, {
@@ -16,18 +13,15 @@ dotenv.config();
16
13
  * NODE_OPTIONS: undefined,
17
14
  * }),
18
15
  *
19
- * @see runGatsbyBuildCommand()
16
+ * @see gatsbyBuild()
20
17
  * @todo quiar el `... || undefined`
21
18
  */
22
- const griddoAssetPrefixWithDomain =
23
- process.env.SPAWN_ASSET_PREFIX_WITH_DOMAIN || undefined;
19
+ const griddoAssetPrefixWithDomain = process.env.SPAWN_ASSET_PREFIX_WITH_DOMAIN || undefined;
24
20
 
25
- verboseLog(`set config.assetPrefix=${griddoAssetPrefixWithDomain}`);
21
+ console.log(`set config.assetPrefix=${griddoAssetPrefixWithDomain}`);
26
22
 
27
23
  // Gatsby configuration file from client
28
- const { plugins, ...gatsbyConfig } = require(
29
- resolveComponentsPath("builder.config.js"),
30
- );
24
+ const { plugins, ...gatsbyConfig } = require(resolveComponentsPath("builder.config.js"));
31
25
 
32
26
  const config: GatsbyConfig = {
33
27
  // Client config
package/gatsby-node.ts CHANGED
@@ -1,63 +1,38 @@
1
- import type { GatsbyPageObject } from "./src/types";
2
1
  import type { GatsbyNode } from "gatsby";
2
+ import type { GatsbyPageObject } from "./src/types";
3
3
 
4
4
  import path from "node:path";
5
5
 
6
- import {
7
- buildLog,
8
- debugLog,
9
- envs,
10
- getBuildPagesFromStore,
11
- getConfig,
12
- pageSizeLog,
13
- verboseLog,
14
- } from "@griddo/cx";
15
-
16
- import { gatsbyRegister } from "./exporter/registers";
17
- import { insertAlert } from "./exporter/utils/alerts";
18
-
19
- const showGriddoBuildLogs = envs.GRIDDO_BUILD_LOGS;
6
+ import { isComponentLibrary } from "./exporter/utils/instance";
7
+ import { getBuildPagesFromStore, pageSizeLog } from "./src/gatsby-node-utils";
20
8
 
21
9
  // process.env available through gatsbyBuildCommand.
10
+ const showGriddoBuildLogs = JSON.parse(process.env.GRIDDO_BUILD_LOGS || "false");
22
11
  const assetPrefixWithDomain = process.env.SPAWN_ASSET_PREFIX_WITH_DOMAIN;
23
- const sendAlertActive = JSON.parse(process.env.GRIDDO_ALERT_FEATURE || "false");
24
- const avoidMatchPath = JSON.parse(
25
- process.env.GRIDDO_EXPERIMENTAL_DO_NOT_USE_MATCH_PATH || "false",
26
- );
27
- const useMatchPaths = !avoidMatchPath;
28
- const needsAssetDomainPrefix =
29
- !!assetPrefixWithDomain && assetPrefixWithDomain !== "";
12
+ const needsAssetDomainPrefix = !!assetPrefixWithDomain && assetPrefixWithDomain !== "";
13
+ const nodeOptions = process.env.NODE_OPTIONS;
30
14
 
31
- const { __ssg } = getConfig().paths();
32
- const template = path.join(__ssg, "src/components/template.tsx");
15
+ const template = path.resolve("./src/components/template.tsx");
16
+ const dbFilePath = isComponentLibrary
17
+ ? path.resolve(__dirname, "../../..", ".cx-cache", "db.json")
18
+ : path.resolve(__dirname, "../..", ".cx-cache", "db.json");
33
19
 
34
20
  const pages = getBuildPagesFromStore<GatsbyPageObject>({
35
21
  withSizeProp: showGriddoBuildLogs,
22
+ dbFilePath,
36
23
  });
37
24
 
38
25
  const createPages: GatsbyNode["createPages"] = async ({ actions }) => {
39
- verboseLog(`read assetPrefixWithDomain=${assetPrefixWithDomain}`);
40
- verboseLog(`set needsAssetDomainPrefix=${needsAssetDomainPrefix}`);
41
- console.log(
42
- `using this NODE_OPTIONS in gatsby-node.ts: ${process.env.NODE_OPTIONS}`,
43
- );
44
-
45
- if (avoidMatchPath) {
46
- console.log(`[!] GRIDDO EXPERIMENTAL: Avoiding use of matchPath`);
47
- }
26
+ console.log(`read assetPrefixWithDomain=${assetPrefixWithDomain}`);
27
+ console.log(`set needsAssetDomainPrefix=${needsAssetDomainPrefix}`);
28
+ console.log(`using NODE_OPTIONS in gatsby-node.ts: ${nodeOptions}`);
48
29
 
49
30
  for await (const page of pages) {
50
31
  if (!page) {
51
32
  return;
52
33
  }
53
34
 
54
- const matchPath =
55
- needsAssetDomainPrefix && useMatchPaths
56
- ? page.context.fullPath.compose
57
- : "";
58
-
59
35
  page.component = template;
60
- page.matchPath = matchPath;
61
36
 
62
37
  actions.createPage(page);
63
38
 
@@ -65,46 +40,9 @@ const createPages: GatsbyNode["createPages"] = async ({ actions }) => {
65
40
  const id = page.context.id;
66
41
  const size = pageSizeLog(Math.round(page.size || 0));
67
42
 
68
- if (sendAlertActive && page.size) {
69
- const pageMaxSizeReached =
70
- page.size >
71
- Number.parseInt(process.env.GRIDDO_SSG_MAX_PAGE_SIZE || "524288") /
72
- 1024;
73
-
74
- if (pageMaxSizeReached) {
75
- gatsbyRegister.insert("GATSBY_PAGE_SIZE_TOO_BIG", {
76
- path: page.path,
77
- size: `${Math.round(page.size)}KB`,
78
- });
79
- }
80
- }
81
-
82
43
  if (showGriddoBuildLogs) {
83
- buildLog(`Creating page ${path} - ${id} - ${size}`);
84
- }
85
- }
86
-
87
- if (sendAlertActive) {
88
- const registerContent = gatsbyRegister.get("GATSBY_PAGE_SIZE_TOO_BIG");
89
-
90
- if (registerContent.entries.length < 1) {
91
- return;
44
+ console.log(`Creating page ${path} - ${id} - ${size}`);
92
45
  }
93
-
94
- debugLog("\nRender register report\n");
95
- debugLog(registerContent);
96
- debugLog();
97
-
98
- await insertAlert({
99
- description: "Render register report",
100
- area: "Griddo",
101
- level: "W",
102
- fullData: {
103
- output: registerContent,
104
- date: new Date().toISOString(),
105
- },
106
- instantNotification: false,
107
- });
108
46
  }
109
47
  };
110
48
 
package/gatsby-ssr.tsx CHANGED
@@ -1,8 +1,9 @@
1
1
  import type { GatsbySSR } from "gatsby";
2
2
 
3
+ import * as React from "react";
4
+
3
5
  import { SessionProvider } from "@griddo/core";
4
6
  import { ssr } from "@griddo-instance";
5
- import * as React from "react";
6
7
 
7
8
  export const wrapPageElement: GatsbySSR["wrapPageElement"] = (props) => {
8
9
  if (ssr.wrapPageElement) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@griddo/cx",
3
3
  "description": "Griddo SSG based on Gatsby",
4
- "version": "11.7.6",
4
+ "version": "11.7.7-rc.0",
5
5
  "authors": [
6
6
  "Álvaro Sánchez' <alvaro.sanches@secuoyas.com>",
7
7
  "Diego M. Béjar <diego.bejar@secuoyas.com>",
@@ -15,120 +15,78 @@
15
15
  "type": "git",
16
16
  "url": "https://github.com/griddo/griddo"
17
17
  },
18
- "bin": {
19
- "griddo-cx": "./start-render.js",
20
- "griddo-start-render": "./start-render.js"
21
- },
22
- "exports": {
23
- ".": {
24
- "import": "./build/index.js",
25
- "require": "./build/index.js",
26
- "types": "./build/index.d.ts"
27
- },
28
- "./react": {
29
- "import": "./build/react/index.js",
30
- "require": "./build/react/index.js",
31
- "types": "./build/react/index.d.ts"
32
- }
33
- },
34
18
  "scripts": {
35
19
  "// NPM": "",
36
20
  "prepare": "yarn run build",
37
21
  "// BUILD": "",
38
- "build": "sh ./exporter/build.sh",
39
- "build:debug": "sh ./exporter/build.sh --debug",
22
+ "build": "rm -rf build && sh ./exporter/build.sh",
23
+ "build:debug": "rm -rf build && sh ./exporter/build.sh --debug",
40
24
  "// TESTS": "",
41
- "test": "NODE_OPTIONS='--import tsx' env-cmd node --test ./__tests__/*",
25
+ "test": "npm run test:create-render-fixtures && NODE_OPTIONS='--import tsx' env-cmd node --test ./__tests__/* && npm run test:remove-render-fixtures",
42
26
  "test:create-render-fixtures": "env-cmd tsx ./__tests__/utils/create-fixtures.ts",
43
27
  "test:remove-render-fixtures": "env-cmd tsx ./__tests__/utils/remove-fixtures.ts",
44
28
  "// INFRA SCRIPTS": "",
45
- "upload-search-content": "node ./build/upload-search-content.js",
46
- "complete-render": "node ./build/end-render.js",
47
- "end-render": "node ./build/end-render.js",
48
- "start-render": "node ./build/start-render.js",
49
- "reset-render": "node ./build/reset-render.js",
50
- "prepare-domains-render": "node ./build/prepare-domains-render.js",
29
+ "prepare-domains-render": "node ./build/commands/prepare-domains-render",
30
+ "start-render": "node ./build/commands/start-render",
31
+ "end-render": "node ./build/commands/end-render",
32
+ "upload-search-content": "node ./build/commands/upload-search-content",
33
+ "reset-render": "node ./build/commands/reset-render",
34
+ "// ONLY LOCAL SCRIPTS": "",
35
+ "prepare-assets-directory": "node ./build/commands/prepare-assets-directory",
51
36
  "// SSG": "",
52
- "clean": "gatsby clean; rm -rf assets .cx-cache caches store apiCache build .render-sentinel",
53
- "gatsby-build": "gatsby telemetry --disable && gatsby build --prefix-paths",
54
- "// LINTER": "",
55
- "run:ts-lint": "tsc --noEmit",
56
- "watch:ts-lint": "tsc --noEmit --watch",
57
- "run:eslint": "eslint .",
58
- "run:lint": "yarn run:ts-lint && yarn run:eslint",
59
- "// FORMATTER": "",
60
- "run:format": "prettier --write ."
37
+ "gatsby-build": "gatsby build --prefix-paths",
38
+ "// LINTER & FORMATTER": "",
39
+ "lint": "biome check --write",
40
+ "format": "biome format --write",
41
+ "flint": "npm run lint && npm run format",
42
+ "ts-lint": "tsgo --noEmit",
43
+ "watch:ts-lint": "tsc --noEmit --watch"
61
44
  },
62
45
  "dependencies": {
63
- "@babel/core": "7.26.0",
64
- "@babel/plugin-transform-class-properties": "7.25.9",
65
- "@babel/preset-env": "7.26.0",
66
- "@babel/preset-react": "7.26.3",
67
- "@babel/preset-typescript": "7.26.0",
68
- "@griddo/core": "11.7.6",
69
46
  "@svgr/webpack": "5.5.0",
70
- "axios": "1.7.9",
71
- "babel-loader": "9.2.1",
72
- "babel-plugin-transform-runtime": "6.23.0",
73
- "babel-polyfill": "6.26.0",
74
- "dotenv": "16.4.5",
75
- "esbuild": "0.24.0",
76
- "find-up": "5.0.0",
77
- "fs-extra": "11.2.0",
78
- "gatsby": "5.14.0",
79
- "gatsby-plugin-svgr-loader": "0.1.0",
80
- "html-react-parser": "5.2.0",
81
- "js2xmlparser": "5.0.0",
82
- "kleur": "4.1.5",
47
+ "find-up-simple": "1.0.1",
48
+ "gatsby": "5.15.0",
49
+ "html-react-parser": "5.2.6",
83
50
  "p-limit": "3.1.0",
84
- "path-browserify": "1.0.1",
85
- "pkg-dir": "5.0.0",
86
- "typescript": "5.7.2",
87
- "webpack": "5.76.1"
51
+ "typescript": "5.9.2",
52
+ "webpack": "5.101.3",
53
+ "xmlbuilder2": "3.1.1"
88
54
  },
89
55
  "devDependencies": {
90
- "@types/cheerio": "0.22.35",
91
- "@types/eslint": "8.56.10",
92
- "@types/fs-extra": "11.0.4",
93
- "@types/node": "20.17.10",
56
+ "@biomejs/biome": "2.2.4",
57
+ "@types/cheerio": "1.0.0",
58
+ "@types/node": "20.19.2",
94
59
  "@types/webpack": "5.28.5",
95
- "@typescript-eslint/eslint-plugin": "^8.0.0",
96
- "@typescript-eslint/parser": "^8.0.0",
97
- "cheerio": "1.0.0",
98
- "eslint": "^9.0.0",
99
- "eslint-plugin-import": "2.31.0",
100
- "eslint-plugin-node": "11.1.0",
101
- "eslint-plugin-react": "7.37.4",
102
- "eslint-plugin-react-hooks": "^4.6.0",
103
- "eslint-plugin-testing-library": "^6.2.0",
104
- "globals": "^16.0.0",
105
- "prettier": "3.4.2"
60
+ "@types/xml2js": "0.4.14",
61
+ "@typescript/native-preview": "7.0.0-dev.20250912.1",
62
+ "cheerio": "1.1.2"
106
63
  },
107
64
  "peerDependencies": {
65
+ "@griddo/core": "*",
108
66
  "@types/react": ">=18 <19",
109
67
  "@types/react-dom": ">=18 <19",
110
68
  "react": ">=18 <19",
111
69
  "react-dom": ">=18 <19"
112
70
  },
113
71
  "engines": {
114
- "node": ">=20"
72
+ "node": ">=20.19"
115
73
  },
116
74
  "files": [
117
75
  "build",
118
76
  "exporter",
119
77
  "src",
120
- "cx.config.d.ts",
121
- "cx.config.js",
78
+ "react",
122
79
  "gatsby-browser.tsx",
123
80
  "gatsby-config.ts",
124
81
  "gatsby-node.ts",
125
82
  "gatsby-ssr.tsx",
126
83
  "global.d.ts",
127
84
  "start-render.js",
128
- "tsconfig.json"
85
+ "tsconfig.json",
86
+ "plugins"
129
87
  ],
130
88
  "publishConfig": {
131
89
  "access": "public"
132
90
  },
133
- "gitHead": "9095ad5300d1e068d8b2adcb0dfefc351810c09c"
91
+ "gitHead": "f6902efb7f79644a1d27790f7ad439bc7d0a7d8f"
134
92
  }
@@ -0,0 +1,55 @@
1
+ exports.onCreateWebpackConfig = (
2
+ { stage, actions, getConfig, rules },
3
+ { rule: ruleProps = {} },
4
+ ) => {
5
+ const { include, exclude, options, ...otherProps } = ruleProps;
6
+
7
+ if (["develop", "develop-html", "build-html", "build-javascript"].includes(stage)) {
8
+ // Add the react-svg-loader rule
9
+ actions.setWebpackConfig({
10
+ module: {
11
+ rules: [
12
+ {
13
+ test: /\.svg$/,
14
+ include,
15
+ exclude,
16
+ ...otherProps,
17
+ use: [
18
+ {
19
+ loader: "@svgr/webpack",
20
+ options,
21
+ },
22
+ ],
23
+ },
24
+ ],
25
+ },
26
+ });
27
+ const cfg = getConfig();
28
+ const imgsRule = rules.images();
29
+
30
+ const newUrlLoaderRule =
31
+ include || exclude
32
+ ? {
33
+ ...imgsRule,
34
+ include: exclude,
35
+ exclude: include,
36
+ }
37
+ : {
38
+ ...imgsRule,
39
+ test: new RegExp(imgsRule.test.toString().replace("svg|", "").slice(1, -1)),
40
+ };
41
+
42
+ cfg.module.rules = [
43
+ // Remove the base url-loader images rule entirely
44
+ ...cfg.module.rules.filter((rule) => {
45
+ if (rule.test) {
46
+ return rule.test.toString() !== imgsRule.test.toString();
47
+ }
48
+ return true;
49
+ }),
50
+ // Put it back without SVG loading
51
+ newUrlLoaderRule,
52
+ ];
53
+ actions.replaceWebpackConfig(cfg);
54
+ }
55
+ };
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "gatsby-plugin-svgr-loader",
3
+ "version": "0.1.0",
4
+ "main": "gatsby-node.js",
5
+ "dependencies": {
6
+ "@svgr/webpack": "^4.3.2"
7
+ }
8
+ }
@@ -1,5 +1,3 @@
1
- import * as React from "react";
2
-
3
1
  import { formatImage } from "./utils";
4
2
 
5
3
  function Favicon({ url }: { url: string | undefined }) {
@@ -26,11 +24,7 @@ function Favicon({ url }: { url: string | undefined }) {
26
24
  sizes="180x180"
27
25
  href={formatImage(url, { width: 180, height: 180, format: "png" })}
28
26
  />
29
- <link
30
- rel="icon"
31
- type="image/svg+xml"
32
- href={formatImage(url, { format: "svg" })}
33
- />
27
+ <link rel="icon" type="image/svg+xml" href={formatImage(url, { format: "svg" })} />
34
28
  </>
35
29
  );
36
30
  }
@@ -1,9 +1,10 @@
1
- import type { Dimensions } from "../../types/pages";
2
1
  import type { Core } from "@griddo/core";
2
+ import type { Dimensions } from "../../exporter/types/pages";
3
+
4
+ import * as React from "react";
3
5
 
4
6
  import { generateAutomaticDimensions } from "@griddo-instance";
5
7
  import parse from "html-react-parser";
6
- import * as React from "react";
7
8
 
8
9
  import {
9
10
  composeAnalytics,
@@ -56,12 +57,7 @@ function GriddoIntegrations(props: GriddoIntegrationsProps) {
56
57
  // @shame!
57
58
  // El fix sería llamar a `composeAnalytics()` solo si `pageInfo` existe.
58
59
  const { analyticsScript, analyticsDimensions } = pageInfo
59
- ? composeAnalytics(
60
- siteScript,
61
- dimensions,
62
- pageInfo,
63
- generateAutomaticDimensions,
64
- )
60
+ ? composeAnalytics(siteScript, dimensions, pageInfo, generateAutomaticDimensions)
65
61
  : { analyticsDimensions: null, analyticsScript: null };
66
62
 
67
63
  // GTAG WITH UA
@@ -88,9 +84,7 @@ function GriddoIntegrations(props: GriddoIntegrationsProps) {
88
84
  if (integration.type === "analytics") {
89
85
  // If UA- is provided
90
86
  if (analyticsWithUA) {
91
- return (
92
- <script key={key} src={analyticsWithUA} data-griddo-id={id} />
93
- );
87
+ return <script key={key} src={analyticsWithUA} data-griddo-id={id} />;
94
88
  }
95
89
 
96
90
  return (
@@ -103,9 +97,7 @@ function GriddoIntegrations(props: GriddoIntegrationsProps) {
103
97
  /* Integration integration.type === "addon" */
104
98
  if (integration.type === "addon") {
105
99
  return (
106
- <React.Fragment key={key}>
107
- {parse(integration.content, { trim: true })}
108
- </React.Fragment>
100
+ <React.Fragment key={key}>{parse(integration.content, { trim: true })}</React.Fragment>
109
101
  );
110
102
  }
111
103
 
@@ -1,5 +1,5 @@
1
- import type { Dimensions } from "../../types/pages";
2
1
  import type { Core } from "@griddo/core";
2
+ import type { Dimensions } from "../../exporter/types/pages";
3
3
 
4
4
  /**
5
5
  * Return true if the argument is an object (not null)
@@ -70,16 +70,13 @@ function composeAnalytics(
70
70
  };
71
71
  };
72
72
  },
73
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
74
- generateAutomaticDimensions = (page: Record<string, unknown>) => null,
73
+ generateAutomaticDimensions = (_page: Record<string, unknown>) => null,
75
74
  ) {
76
75
  const analyticsScript = siteScriptRaw ? siteScriptRaw.trim() : "";
77
76
 
78
77
  // Las dimensiones o DataLayer
79
78
  const dynamicValuePrefix = "__SCRIPT:";
80
- const dimensionValues = isObject(dimensions?.values)
81
- ? dimensions?.values
82
- : {};
79
+ const dimensionValues = isObject(dimensions?.values) ? dimensions?.values : {};
83
80
  const automaticDimensionValues = generateAutomaticDimensions
84
81
  ? generateAutomaticDimensions(page || {})
85
82
  : {};
@@ -104,9 +101,7 @@ function composeAnalytics(
104
101
  );
105
102
  }
106
103
 
107
- const analyticsDimensions = allDimensions.length
108
- ? `{${allDimensions.join(",")}}`
109
- : null;
104
+ const analyticsDimensions = allDimensions.length ? `{${allDimensions.join(",")}}` : null;
110
105
 
111
106
  return {
112
107
  analyticsScript,
@@ -1,3 +1,4 @@
1
1
  import { Favicon } from "./Favicon";
2
2
  import { GriddoIntegrations } from "./GriddoIntegrations";
3
+
3
4
  export { Favicon, GriddoIntegrations };