@griddo/cx 11.7.11 → 11.7.12-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -226
- package/build/adapters/gatsby/actions/clean.js +10 -0
- package/build/adapters/gatsby/actions/clean.js.map +1 -0
- package/build/adapters/gatsby/actions/close.js +14 -0
- package/build/adapters/gatsby/actions/close.js.map +1 -0
- package/build/adapters/gatsby/actions/data.js +18 -0
- package/build/adapters/gatsby/actions/data.js.map +1 -0
- package/build/adapters/gatsby/actions/healthCheck.js +10 -0
- package/build/adapters/gatsby/actions/healthCheck.js.map +1 -0
- package/build/adapters/gatsby/actions/init.js +22 -0
- package/build/adapters/gatsby/actions/init.js.map +1 -0
- package/build/adapters/gatsby/actions/logs.js +9 -0
- package/build/adapters/gatsby/actions/logs.js.map +1 -0
- package/build/adapters/gatsby/actions/meta.js +13 -0
- package/build/adapters/gatsby/actions/meta.js.map +1 -0
- package/build/adapters/gatsby/actions/prepare.js +9 -0
- package/build/adapters/gatsby/actions/prepare.js.map +1 -0
- package/build/adapters/gatsby/actions/relocation.js +15 -0
- package/build/adapters/gatsby/actions/relocation.js.map +1 -0
- package/build/adapters/gatsby/actions/restore.js +26 -0
- package/build/adapters/gatsby/actions/restore.js.map +1 -0
- package/build/adapters/gatsby/actions/ssg.js +9 -0
- package/build/adapters/gatsby/actions/ssg.js.map +1 -0
- package/build/adapters/gatsby/actions/sync.js +51 -0
- package/build/adapters/gatsby/actions/sync.js.map +1 -0
- package/build/adapters/gatsby/index.js +78 -0
- package/build/adapters/gatsby/index.js.map +1 -0
- package/build/adapters/gatsby/shared/artifacts.js +20 -0
- package/build/adapters/gatsby/shared/artifacts.js.map +1 -0
- package/build/adapters/gatsby/shared/context.js +31 -0
- package/build/adapters/gatsby/shared/context.js.map +1 -0
- package/build/adapters/gatsby/shared/diff-assets.js +101 -0
- package/build/adapters/gatsby/shared/diff-assets.js.map +1 -0
- package/build/adapters/gatsby/shared/extract-assets.js +58 -0
- package/build/adapters/gatsby/shared/extract-assets.js.map +1 -0
- package/build/adapters/gatsby/shared/gatsby-build.js +55 -0
- package/build/adapters/gatsby/shared/gatsby-build.js.map +1 -0
- package/build/adapters/gatsby/shared/sync-render.js +210 -0
- package/build/adapters/gatsby/shared/sync-render.js.map +1 -0
- package/build/adapters/gatsby/shared/types.js +3 -0
- package/build/adapters/gatsby/shared/types.js.map +1 -0
- package/build/commands/end-render.js +87 -0
- package/build/commands/end-render.js.map +1 -0
- package/build/commands/prepare-assets-directory.js +30 -0
- package/build/commands/prepare-assets-directory.js.map +1 -0
- package/build/commands/prepare-domains-render.js +133 -0
- package/build/commands/prepare-domains-render.js.map +1 -0
- package/build/commands/reset-render.js +21 -0
- package/build/commands/reset-render.js.map +1 -0
- package/build/commands/start-render.js +44 -0
- package/build/commands/start-render.js.map +1 -0
- package/build/commands/upload-search-content.js +180 -0
- package/build/commands/upload-search-content.js.map +1 -0
- package/build/constants/endpoints.js +43 -0
- package/build/constants/endpoints.js.map +1 -0
- package/build/constants/envs.js +68 -0
- package/build/constants/envs.js.map +1 -0
- package/build/constants/errors.js +81 -0
- package/build/constants/errors.js.map +1 -0
- package/build/services/auth.js +40 -0
- package/build/services/auth.js.map +1 -0
- package/build/services/db-class.js +49 -0
- package/build/services/db-class.js.map +1 -0
- package/build/services/db.js +34 -0
- package/build/services/db.js.map +1 -0
- package/build/services/navigation.js +96 -0
- package/build/services/navigation.js.map +1 -0
- package/build/services/reference-fields.js +131 -0
- package/build/services/reference-fields.js.map +1 -0
- package/build/services/robots.js +60 -0
- package/build/services/robots.js.map +1 -0
- package/build/services/sites.js +110 -0
- package/build/services/sites.js.map +1 -0
- package/build/services/store.js +257 -0
- package/build/services/store.js.map +1 -0
- package/build/types/api.js +3 -0
- package/build/types/api.js.map +1 -0
- package/build/types/global.js +3 -0
- package/build/types/global.js.map +1 -0
- package/build/types/navigation.js +3 -0
- package/build/types/navigation.js.map +1 -0
- package/build/types/pages.js +3 -0
- package/build/types/pages.js.map +1 -0
- package/build/types/render.js +10 -0
- package/build/types/render.js.map +1 -0
- package/build/types/sites.js +3 -0
- package/build/types/sites.js.map +1 -0
- package/build/types/templates.js +3 -0
- package/build/types/templates.js.map +1 -0
- package/build/utils/api.js +165 -0
- package/build/utils/api.js.map +1 -0
- package/build/utils/artifacts.js +38 -0
- package/build/utils/artifacts.js.map +1 -0
- package/build/utils/brush.js +30 -0
- package/build/utils/brush.js.map +1 -0
- package/build/utils/cache.js +106 -0
- package/build/utils/cache.js.map +1 -0
- package/build/utils/check-environment-health.js +69 -0
- package/build/utils/check-environment-health.js.map +1 -0
- package/build/utils/core-utils.js +270 -0
- package/build/utils/core-utils.js.map +1 -0
- package/build/utils/domains.js +37 -0
- package/build/utils/domains.js.map +1 -0
- package/build/utils/errors.js +30 -0
- package/build/utils/errors.js.map +1 -0
- package/build/utils/folders.js +341 -0
- package/build/utils/folders.js.map +1 -0
- package/build/utils/images.js +45 -0
- package/build/utils/images.js.map +1 -0
- package/build/utils/instance.js +66 -0
- package/build/utils/instance.js.map +1 -0
- package/build/utils/loggin.js +119 -0
- package/build/utils/loggin.js.map +1 -0
- package/build/utils/npm-deps/find-up-simple.js +75 -0
- package/build/utils/npm-deps/find-up-simple.js.map +1 -0
- package/build/utils/npm-deps/pkg-dir.js +20 -0
- package/build/utils/npm-deps/pkg-dir.js.map +1 -0
- package/build/utils/npm-deps/xml-parser.js +49 -0
- package/build/utils/npm-deps/xml-parser.js.map +1 -0
- package/build/utils/pages.js +359 -0
- package/build/utils/pages.js.map +1 -0
- package/build/utils/render.js +168 -0
- package/build/utils/render.js.map +1 -0
- package/build/utils/sitemaps.js +110 -0
- package/build/utils/sitemaps.js.map +1 -0
- package/build/utils/sites.js +105 -0
- package/build/utils/sites.js.map +1 -0
- package/build/utils/store.js +193 -0
- package/build/utils/store.js.map +1 -0
- package/exporter/adapters/gatsby/actions/clean.ts +14 -0
- package/exporter/adapters/gatsby/actions/close.ts +20 -0
- package/exporter/adapters/gatsby/actions/data.ts +25 -0
- package/exporter/adapters/gatsby/actions/healthCheck.ts +10 -0
- package/exporter/adapters/gatsby/actions/init.ts +26 -0
- package/exporter/adapters/gatsby/actions/logs.ts +10 -0
- package/exporter/adapters/gatsby/actions/meta.ts +16 -0
- package/exporter/adapters/gatsby/actions/prepare.ts +9 -0
- package/exporter/adapters/gatsby/actions/relocation.ts +15 -0
- package/exporter/adapters/gatsby/actions/restore.ts +36 -0
- package/exporter/adapters/gatsby/actions/ssg.ts +12 -0
- package/exporter/adapters/gatsby/actions/sync.ts +71 -0
- package/exporter/adapters/gatsby/index.ts +73 -153
- package/exporter/adapters/gatsby/shared/artifacts.ts +16 -0
- package/exporter/adapters/gatsby/shared/context.ts +50 -0
- package/exporter/adapters/gatsby/shared/diff-assets.ts +113 -0
- package/exporter/adapters/gatsby/shared/extract-assets.ts +61 -0
- package/exporter/adapters/gatsby/shared/gatsby-build.ts +58 -0
- package/exporter/adapters/gatsby/shared/sync-render.ts +276 -0
- package/exporter/adapters/gatsby/shared/types.ts +35 -0
- package/exporter/build-esbuild.noop +42 -0
- package/exporter/build.sh +4 -38
- package/exporter/commands/end-render.ts +72 -70
- package/exporter/commands/prepare-assets-directory.ts +30 -0
- package/exporter/commands/prepare-domains-render.ts +143 -31
- package/exporter/commands/reset-render.ts +10 -3
- package/exporter/commands/start-render.ts +22 -45
- package/exporter/commands/upload-search-content.ts +194 -21
- package/exporter/constants/endpoints.ts +2 -1
- package/exporter/constants/envs.ts +57 -55
- package/exporter/{errors/errors-data.ts → constants/errors.ts} +24 -14
- package/exporter/services/auth.ts +7 -6
- package/exporter/services/db-class.ts +54 -0
- package/exporter/services/db.ts +32 -0
- package/exporter/services/navigation.ts +4 -10
- package/exporter/services/reference-fields.ts +9 -24
- package/exporter/services/robots.ts +9 -16
- package/exporter/services/sites.ts +36 -24
- package/exporter/services/store.ts +107 -96
- package/exporter/types/api.ts +27 -28
- package/exporter/types/global.ts +8 -11
- package/exporter/types/navigation.ts +1 -1
- package/exporter/types/pages.ts +2 -3
- package/exporter/types/render.ts +59 -0
- package/exporter/types/sites.ts +1 -2
- package/exporter/utils/api.ts +55 -75
- package/exporter/utils/artifacts.ts +38 -0
- package/exporter/utils/brush.ts +34 -0
- package/exporter/utils/cache.ts +37 -62
- package/exporter/utils/check-environment-health.ts +80 -0
- package/exporter/utils/core-utils.ts +133 -272
- package/exporter/utils/domains.ts +10 -7
- package/exporter/{errors/index.ts → utils/errors.ts} +10 -9
- package/exporter/utils/folders.ts +163 -98
- package/exporter/utils/images.ts +1 -6
- package/exporter/utils/instance.ts +9 -13
- package/exporter/utils/loggin.ts +44 -91
- package/exporter/utils/npm-deps/find-up-simple.ts +100 -0
- package/exporter/utils/npm-deps/pkg-dir.ts +17 -0
- package/exporter/utils/npm-deps/xml-parser.ts +57 -0
- package/exporter/utils/pages.ts +23 -88
- package/exporter/utils/render.ts +180 -48
- package/exporter/utils/sitemaps.ts +129 -0
- package/exporter/utils/sites.ts +19 -197
- package/exporter/utils/store.ts +87 -180
- package/gatsby-browser.tsx +41 -58
- package/gatsby-config.ts +10 -17
- package/gatsby-node.ts +17 -78
- package/gatsby-ssr.tsx +2 -1
- package/package.json +35 -86
- package/plugins/gatsby-plugin-svgr-loader/gatsby-node.js +55 -0
- package/plugins/gatsby-plugin-svgr-loader/package.json +8 -0
- package/react/DynamicScript/index.tsx +33 -0
- package/{exporter/react → react}/Favicon/index.tsx +1 -7
- package/{exporter/react → react}/GriddoIntegrations/index.tsx +16 -22
- package/{exporter/react → react}/GriddoIntegrations/utils.ts +21 -9
- package/{build/react/index.d.ts → react/index.tsx} +1 -0
- package/src/components/Head.tsx +13 -46
- package/src/components/template.tsx +8 -30
- package/src/gatsby-node-utils.ts +73 -2
- package/src/html.tsx +2 -11
- package/src/types.ts +5 -5
- package/tsconfig.commands.json +36 -0
- package/tsconfig.exporter.json +19 -0
- package/tsconfig.json +5 -3
- package/build/adapters/gatsby/index.d.ts +0 -4
- package/build/adapters/gatsby/utils.d.ts +0 -22
- package/build/artifacts/index.d.ts +0 -6
- package/build/commands/end-render.d.ts +0 -2
- package/build/commands/move-assets.d.ts +0 -1
- package/build/commands/prepare-domains-render.d.ts +0 -1
- package/build/commands/reset-render.d.ts +0 -2
- package/build/commands/start-render.d.ts +0 -2
- package/build/commands/upload-search-content.d.ts +0 -2
- package/build/constants/endpoints.d.ts +0 -19
- package/build/constants/envs.d.ts +0 -37
- package/build/constants/index.d.ts +0 -57
- package/build/end-render.js +0 -74
- package/build/end-render.js.map +0 -7
- package/build/errors/errors-data.d.ts +0 -22
- package/build/errors/index.d.ts +0 -15
- package/build/index.d.ts +0 -29
- package/build/index.js +0 -73
- package/build/index.js.map +0 -7
- package/build/prepare-domains-render.js +0 -73
- package/build/prepare-domains-render.js.map +0 -7
- package/build/react/Favicon/index.d.ts +0 -5
- package/build/react/Favicon/utils.d.ts +0 -9
- package/build/react/GriddoIntegrations/index.d.ts +0 -20
- package/build/react/GriddoIntegrations/utils.d.ts +0 -26
- package/build/react/index.js +0 -3
- package/build/registers/api.d.ts +0 -9
- package/build/registers/gatsby.d.ts +0 -9
- package/build/registers/index.d.ts +0 -3
- package/build/reset-render.js +0 -74
- package/build/reset-render.js.map +0 -7
- package/build/services/auth.d.ts +0 -10
- package/build/services/domains.d.ts +0 -6
- package/build/services/navigation.d.ts +0 -50
- package/build/services/reference-fields.d.ts +0 -20
- package/build/services/register.d.ts +0 -36
- package/build/services/robots.d.ts +0 -19
- package/build/services/settings.d.ts +0 -4
- package/build/services/sites.d.ts +0 -29
- package/build/services/store.d.ts +0 -6
- package/build/start-render.js +0 -100
- package/build/start-render.js.map +0 -7
- package/build/types/api.d.ts +0 -142
- package/build/types/global.d.ts +0 -84
- package/build/types/navigation.d.ts +0 -28
- package/build/types/pages.d.ts +0 -144
- package/build/types/sites.d.ts +0 -57
- package/build/types/templates.d.ts +0 -8
- package/build/upload-search-content.js +0 -74
- package/build/upload-search-content.js.map +0 -7
- package/build/utils/alerts.d.ts +0 -3
- package/build/utils/api.d.ts +0 -23
- package/build/utils/cache.d.ts +0 -35
- package/build/utils/core-utils.d.ts +0 -107
- package/build/utils/create-build-data.d.ts +0 -8
- package/build/utils/domains.d.ts +0 -13
- package/build/utils/folders.d.ts +0 -53
- package/build/utils/health-checks.d.ts +0 -7
- package/build/utils/images.d.ts +0 -16
- package/build/utils/instance.d.ts +0 -21
- package/build/utils/loggin.d.ts +0 -51
- package/build/utils/pages.d.ts +0 -34
- package/build/utils/render.d.ts +0 -13
- package/build/utils/searches.d.ts +0 -15
- package/build/utils/sites.d.ts +0 -31
- package/build/utils/store.d.ts +0 -81
- package/cx.config.d.ts +0 -5
- package/cx.config.js +0 -36
- package/exporter/adapters/gatsby/utils.ts +0 -161
- package/exporter/artifacts/README.md +0 -34
- package/exporter/artifacts/index.ts +0 -33
- package/exporter/commands/move-assets.ts +0 -11
- package/exporter/constants/index.ts +0 -129
- package/exporter/index.ts +0 -82
- package/exporter/react/index.tsx +0 -11
- package/exporter/registers/api.ts +0 -14
- package/exporter/registers/gatsby.ts +0 -14
- package/exporter/registers/index.ts +0 -4
- package/exporter/services/domains.ts +0 -16
- package/exporter/services/register.ts +0 -113
- package/exporter/services/settings.ts +0 -17
- package/exporter/utils/alerts.ts +0 -29
- package/exporter/utils/create-build-data.ts +0 -17
- package/exporter/utils/health-checks.ts +0 -64
- package/exporter/utils/searches.ts +0 -156
- package/src/README.md +0 -7
- package/start-render.js +0 -7
- /package/{exporter/react → react}/Favicon/utils.ts +0 -0
package/exporter/utils/store.ts
CHANGED
|
@@ -3,99 +3,27 @@ import type { RenderInfo } from "../types/global";
|
|
|
3
3
|
import type { GriddoPageObject } from "../types/pages";
|
|
4
4
|
import type { Site } from "../types/sites";
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import fsp from "node:fs/promises";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
9
|
+
import { WriteToStoreError } from "../constants/errors";
|
|
10
|
+
import { readDB, writeDB } from "../services/db";
|
|
11
|
+
import { removeProperties } from "./core-utils";
|
|
12
|
+
import { throwError } from "./errors";
|
|
13
|
+
import { pathExists } from "./folders";
|
|
13
14
|
import { verboseLog } from "./loggin";
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
const config = getConfig();
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Read all path pages stored in the `store` Griddo directory and returns the
|
|
20
|
-
* absolute file path.
|
|
21
|
-
*
|
|
22
|
-
* @param domain - The domain to get the pages from.
|
|
23
|
-
*/
|
|
24
|
-
function getBuildPagesFromCachedStore<PageType extends GriddoPageObject>(
|
|
25
|
-
domain: string,
|
|
26
|
-
) {
|
|
27
|
-
const { __cache } = config.paths(domain);
|
|
28
|
-
return getBuildPagesFromStore<PageType>({
|
|
29
|
-
basePath: path.join(__cache, "store"),
|
|
30
|
-
withSizeProp: false,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
15
|
+
import { getRenderPathsFromDB } from "./render";
|
|
33
16
|
|
|
34
17
|
/**
|
|
35
|
-
*
|
|
36
|
-
* with a generator.
|
|
37
|
-
*
|
|
38
|
-
* @param basePath - Base directory to get pages from.
|
|
39
|
-
* @param options.withSizeProp - Add size prop to the page object.
|
|
40
|
-
* @todo throw error if the basePath is not an store folder
|
|
18
|
+
* Get the build metadata from the Store.
|
|
41
19
|
*/
|
|
42
|
-
function
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}) {
|
|
46
|
-
const { basePath, withSizeProp } = args || {};
|
|
47
|
-
const { __cx } = config.paths();
|
|
48
|
-
const pagesDirPath = basePath || path.join(__cx, "store");
|
|
49
|
-
|
|
50
|
-
const jsonFilePaths = walkStore(pagesDirPath).filter(
|
|
51
|
-
(file) => path.extname(file) === ".json",
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
for (const filePath of jsonFilePaths) {
|
|
55
|
-
try {
|
|
56
|
-
const page = fsx.readJsonSync(filePath, {
|
|
57
|
-
encoding: "utf-8",
|
|
58
|
-
}) as PageType;
|
|
59
|
-
|
|
60
|
-
if (withSizeProp) {
|
|
61
|
-
const fileStats = fs.statSync(filePath);
|
|
62
|
-
page.size = fileStats.size / 1024;
|
|
63
|
-
}
|
|
20
|
+
async function getBuildMetadata(domain: string): Promise<BuildMetaData> {
|
|
21
|
+
const db = await readDB();
|
|
22
|
+
const { sitesToPublish, createdPages, buildProcessData } = db.domains[domain].renderInfo || {};
|
|
64
23
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
yield page;
|
|
68
|
-
}
|
|
69
|
-
} catch (error) {
|
|
70
|
-
throwError(ReadFromStoreError, error);
|
|
71
|
-
}
|
|
24
|
+
if (!sitesToPublish || !createdPages || !buildProcessData) {
|
|
25
|
+
throw new Error("Build metadata not found");
|
|
72
26
|
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Read all pages stored in `store` Griddo directory and return the absolute
|
|
77
|
-
* path.
|
|
78
|
-
*/
|
|
79
|
-
function getBuildPagesPath() {
|
|
80
|
-
const config = getConfig();
|
|
81
|
-
const { __cx } = config.paths();
|
|
82
|
-
|
|
83
|
-
const PAGES_DIR = path.join(__cx, "store");
|
|
84
|
-
const PAGE_FILES = walk(PAGES_DIR).filter(
|
|
85
|
-
(file) => path.extname(file) === ".json",
|
|
86
|
-
);
|
|
87
|
-
|
|
88
|
-
return PAGE_FILES;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Get the build metadata from the Store.
|
|
93
|
-
*/
|
|
94
|
-
async function getBuildMetadata(): Promise<BuildMetaData> {
|
|
95
|
-
const { __cx } = config.paths();
|
|
96
|
-
const { sitesToPublish, createdPages, buildProcessData } = fsx.readJSONSync(
|
|
97
|
-
path.join(__cx, "render-metadata.json"),
|
|
98
|
-
);
|
|
99
27
|
|
|
100
28
|
return {
|
|
101
29
|
buildProcessData,
|
|
@@ -108,13 +36,11 @@ async function getBuildMetadata(): Promise<BuildMetaData> {
|
|
|
108
36
|
* Write render info into a file.
|
|
109
37
|
* @param renderInfo - Data that will be saved related to the render process.
|
|
110
38
|
*/
|
|
111
|
-
function saveRenderInfoInStore(renderInfo: RenderInfo) {
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
JSON.stringify(renderInfo),
|
|
117
|
-
);
|
|
39
|
+
async function saveRenderInfoInStore(renderInfo: RenderInfo, domain: string) {
|
|
40
|
+
const db = await readDB();
|
|
41
|
+
db.domains[domain] = db.domains[domain] || {};
|
|
42
|
+
db.domains[domain].renderInfo = renderInfo;
|
|
43
|
+
await writeDB(db);
|
|
118
44
|
}
|
|
119
45
|
|
|
120
46
|
/**
|
|
@@ -133,59 +59,49 @@ function saveRenderInfoInStore(renderInfo: RenderInfo) {
|
|
|
133
59
|
// }
|
|
134
60
|
|
|
135
61
|
/**
|
|
136
|
-
* Return an array of
|
|
62
|
+
* Return an array of paths only from `.json` files (no dirs) in the `basePath` dir based in the file name.
|
|
137
63
|
* @param basePath - Absolute path of the dir from which files will be read.
|
|
138
64
|
* @returns A Array<number> of pages ids in `basePath` dir.
|
|
139
65
|
*/
|
|
140
|
-
function getPageInStoreDir(basePath: string)
|
|
141
|
-
const filesInStore =
|
|
66
|
+
async function getPageInStoreDir(basePath: string) {
|
|
67
|
+
const filesInStore = await fsp.readdir(basePath);
|
|
68
|
+
|
|
69
|
+
return filesInStore
|
|
70
|
+
.filter(async (file) => {
|
|
71
|
+
const fullPathFile = `${basePath}/${file}`;
|
|
72
|
+
const stat = await fsp.stat(fullPathFile);
|
|
73
|
+
// Si es un directorio, no lo incluimos.
|
|
74
|
+
if (stat?.isDirectory()) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
142
77
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
const stat = fs.statSync(fullPathFile);
|
|
148
|
-
// Si es un directorio, no lo incluimos.
|
|
149
|
-
if (stat?.isDirectory()) {
|
|
150
|
-
return false;
|
|
151
|
-
}
|
|
152
|
-
// Si es un archivo pero no tiene la extensión `.json`, no lo incluimos
|
|
153
|
-
if (path.extname(file) !== ".json") {
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
// Si es un archivo con el nombre NO pasable a número (NaN), no lo incluimos.
|
|
157
|
-
const baseFilename = path.basename(file, path.extname(file));
|
|
158
|
-
if (Number.isNaN(Number.parseInt(baseFilename))) {
|
|
159
|
-
return false;
|
|
160
|
-
}
|
|
78
|
+
// Si es un archivo pero no tiene la extensión `.json`, no lo incluimos
|
|
79
|
+
if (path.extname(file) !== ".json") {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
161
82
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
.
|
|
167
|
-
|
|
168
|
-
return Number.parseInt(filename);
|
|
169
|
-
})
|
|
170
|
-
);
|
|
83
|
+
// no es dir, es json.
|
|
84
|
+
return true;
|
|
85
|
+
})
|
|
86
|
+
.map((page) => {
|
|
87
|
+
return path.join(basePath, page);
|
|
88
|
+
});
|
|
171
89
|
}
|
|
172
90
|
|
|
173
91
|
/**
|
|
174
92
|
* Save the pages into the file system.
|
|
175
93
|
* @param pages - An array of Griddo page objects to be saved.
|
|
176
94
|
*/
|
|
177
|
-
function saveSitePagesInStore(
|
|
178
|
-
|
|
179
|
-
pages: Array<GriddoPageObject>,
|
|
180
|
-
) {
|
|
181
|
-
const { __cx } = config.paths();
|
|
95
|
+
async function saveSitePagesInStore(siteDirName: string, pages: Array<GriddoPageObject>) {
|
|
96
|
+
const { __root } = await getRenderPathsFromDB();
|
|
182
97
|
|
|
183
98
|
try {
|
|
184
99
|
for (const page of pages) {
|
|
185
100
|
removeProperties(page, ["editorID", "parentEditorID"]);
|
|
186
101
|
const filename = `${page.context.page.id}.json`;
|
|
187
|
-
const filePath = path.join(
|
|
188
|
-
|
|
102
|
+
const filePath = path.join(__root, "store", siteDirName, filename);
|
|
103
|
+
// En los listados estáticos y multipage los ids de las páginas son iguales
|
|
104
|
+
await writeUniqueFileSync(filePath, JSON.stringify(page));
|
|
189
105
|
}
|
|
190
106
|
} catch (error) {
|
|
191
107
|
throwError(WriteToStoreError, error);
|
|
@@ -203,23 +119,15 @@ function saveSitePagesInStore(
|
|
|
203
119
|
* @param siteDirName - The name of the site directory containing the pages.
|
|
204
120
|
* @param pageIdsArray - A two-dimensional array where each inner array contains numbers representing page files to be removed.
|
|
205
121
|
*/
|
|
206
|
-
function removeSitePagesFromStore(
|
|
207
|
-
|
|
208
|
-
pageIdsArray: Array<Array<number>>,
|
|
209
|
-
) {
|
|
210
|
-
const { __cx } = config.paths();
|
|
122
|
+
async function removeSitePagesFromStore(siteDirName: string, pageIdsArray: Array<Array<number>>) {
|
|
123
|
+
const { __root } = await getRenderPathsFromDB();
|
|
211
124
|
|
|
212
|
-
const processPageIdsArray = (pageIds: Array<number>) => {
|
|
125
|
+
const processPageIdsArray = async (pageIds: Array<number>) => {
|
|
213
126
|
for (const filename of pageIds) {
|
|
214
|
-
const filePath = path.join(
|
|
215
|
-
__cx,
|
|
216
|
-
"store",
|
|
217
|
-
siteDirName,
|
|
218
|
-
`${filename}.json`,
|
|
219
|
-
);
|
|
127
|
+
const filePath = path.join(__root, "store", siteDirName, `${filename}.json`);
|
|
220
128
|
try {
|
|
221
|
-
if (
|
|
222
|
-
|
|
129
|
+
if (await pathExists(filePath)) {
|
|
130
|
+
await fsp.unlink(filePath);
|
|
223
131
|
verboseLog(`Removed file: ${filePath}`);
|
|
224
132
|
}
|
|
225
133
|
} catch (error) {
|
|
@@ -230,7 +138,7 @@ function removeSitePagesFromStore(
|
|
|
230
138
|
};
|
|
231
139
|
|
|
232
140
|
for (const pageIds of pageIdsArray) {
|
|
233
|
-
processPageIdsArray(pageIds);
|
|
141
|
+
await processPageIdsArray(pageIds);
|
|
234
142
|
}
|
|
235
143
|
}
|
|
236
144
|
|
|
@@ -239,48 +147,33 @@ function removeSitePagesFromStore(
|
|
|
239
147
|
* the domain has been changed. This is necessary because those sites will not
|
|
240
148
|
* be marked as `sitesToUnpublish` so they must be removed manually.
|
|
241
149
|
*/
|
|
242
|
-
function removeOrphanSites(sitesToPublish: Array<Site>, domain: string) {
|
|
243
|
-
const {
|
|
244
|
-
const
|
|
150
|
+
async function removeOrphanSites(sitesToPublish: Array<Site>, domain: string) {
|
|
151
|
+
const { __root } = await getRenderPathsFromDB({ domain });
|
|
152
|
+
const storePath = path.join(__root, "store");
|
|
153
|
+
|
|
154
|
+
if (!(await pathExists(storePath))) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const currentSitesInStore = await fsp.readdir(storePath);
|
|
245
159
|
const sitesFromAPI = sitesToPublish.map(({ id }) => `${id}`);
|
|
246
|
-
const sitesToDelete = currentSitesInStore.filter(
|
|
247
|
-
(site) => !sitesFromAPI.includes(site),
|
|
248
|
-
);
|
|
160
|
+
const sitesToDelete = currentSitesInStore.filter((site) => !sitesFromAPI.includes(site));
|
|
249
161
|
|
|
250
162
|
for (const site of sitesToDelete) {
|
|
251
|
-
|
|
163
|
+
await fsp.rm(path.join(storePath, site), { recursive: true, force: true });
|
|
252
164
|
verboseLog(`Removed orphan site id: ${site}`);
|
|
253
165
|
}
|
|
254
166
|
}
|
|
255
167
|
|
|
256
|
-
/**
|
|
257
|
-
* Returns the list of `activePages` pages that do not currently exist in a
|
|
258
|
-
* site's store (probably due to a failed render).
|
|
259
|
-
*/
|
|
260
|
-
function getMissingPublishedPagesInStore(
|
|
261
|
-
siteName: string,
|
|
262
|
-
activePages: Array<number>,
|
|
263
|
-
) {
|
|
264
|
-
const { __cx } = config.paths();
|
|
265
|
-
const pagesInStore = getPageInStoreDir(path.join(__cx, "store", siteName));
|
|
266
|
-
const missingActivePages: Array<number> = [];
|
|
267
|
-
for (const activePage of activePages) {
|
|
268
|
-
if (!pagesInStore.includes(activePage)) {
|
|
269
|
-
missingActivePages.push(activePage);
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
return missingActivePages;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
168
|
/**
|
|
276
169
|
* Get pages that are not active anymore but are in the store.
|
|
277
170
|
*/
|
|
278
|
-
function getZombiePagesInStore(siteDir: string, activePages: Array<number>) {
|
|
279
|
-
const {
|
|
280
|
-
const storeDir = path.join(
|
|
281
|
-
const sitePages =
|
|
171
|
+
async function getZombiePagesInStore(siteDir: string, activePages: Array<number>) {
|
|
172
|
+
const { __root } = await getRenderPathsFromDB();
|
|
173
|
+
const storeDir = path.join(__root, "store", siteDir);
|
|
174
|
+
const sitePages = await fsp.readdir(storeDir);
|
|
282
175
|
|
|
283
|
-
|
|
176
|
+
const zombiePages: Array<number> = [];
|
|
284
177
|
for (const pageFileName of sitePages) {
|
|
285
178
|
const pageFileNameWithoutExtension = pageFileName.split(".")[0];
|
|
286
179
|
const pageInStore = Number.parseInt(pageFileNameWithoutExtension);
|
|
@@ -299,16 +192,30 @@ function getZombiePagesInStore(siteDir: string, activePages: Array<number>) {
|
|
|
299
192
|
return zombiePages;
|
|
300
193
|
}
|
|
301
194
|
|
|
195
|
+
async function writeUniqueFileSync(filePath: string, content: string) {
|
|
196
|
+
const dir = path.dirname(filePath);
|
|
197
|
+
const ext = path.extname(filePath);
|
|
198
|
+
const base = path.basename(filePath, ext);
|
|
199
|
+
|
|
200
|
+
let uniquePath = filePath;
|
|
201
|
+
let counter = 1;
|
|
202
|
+
|
|
203
|
+
while (await pathExists(uniquePath)) {
|
|
204
|
+
const newName = `${base}-${counter}${ext}`;
|
|
205
|
+
uniquePath = path.join(dir, newName);
|
|
206
|
+
counter++;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
await fsp.writeFile(uniquePath, content);
|
|
210
|
+
}
|
|
211
|
+
|
|
302
212
|
export {
|
|
303
213
|
getBuildMetadata,
|
|
304
|
-
getBuildPagesFromCachedStore,
|
|
305
|
-
getBuildPagesFromStore,
|
|
306
|
-
getBuildPagesPath,
|
|
307
|
-
getMissingPublishedPagesInStore,
|
|
308
214
|
getPageInStoreDir,
|
|
309
215
|
getZombiePagesInStore,
|
|
310
216
|
removeOrphanSites,
|
|
311
217
|
removeSitePagesFromStore,
|
|
312
|
-
saveSitePagesInStore,
|
|
313
218
|
saveRenderInfoInStore,
|
|
219
|
+
saveSitePagesInStore,
|
|
220
|
+
writeUniqueFileSync,
|
|
314
221
|
};
|
package/gatsby-browser.tsx
CHANGED
|
@@ -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
|
-
(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
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,33 +1,26 @@
|
|
|
1
1
|
import type { GatsbyConfig } from "gatsby";
|
|
2
2
|
|
|
3
|
-
import { resolveComponentsPath
|
|
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
|
|
7
|
+
* se ha introducido en el spawnSync del la función gatsbyBuild.
|
|
11
8
|
*
|
|
12
9
|
* ...
|
|
13
|
-
* env:
|
|
14
|
-
*
|
|
10
|
+
* env: {
|
|
11
|
+
* ...process.env,
|
|
15
12
|
* SPAWN_ASSET_PREFIX_WITH_DOMAIN: assetPrefixWithDomain, <--------------
|
|
16
13
|
* NODE_OPTIONS: undefined,
|
|
17
|
-
* }
|
|
18
|
-
*
|
|
19
|
-
* @see runGatsbyBuildCommand()
|
|
20
|
-
* @todo quiar el `... || undefined`
|
|
14
|
+
* },
|
|
21
15
|
*/
|
|
22
|
-
const griddoAssetPrefixWithDomain =
|
|
23
|
-
process.env.SPAWN_ASSET_PREFIX_WITH_DOMAIN || undefined;
|
|
16
|
+
const griddoAssetPrefixWithDomain = process.env.SPAWN_ASSET_PREFIX_WITH_DOMAIN || undefined;
|
|
24
17
|
|
|
25
|
-
|
|
18
|
+
if (process.env.GRIDDO_SSG_VERBOSE_LOGS) {
|
|
19
|
+
console.log(`set config.assetPrefix=${griddoAssetPrefixWithDomain}`);
|
|
20
|
+
}
|
|
26
21
|
|
|
27
22
|
// Gatsby configuration file from client
|
|
28
|
-
const { plugins, ...gatsbyConfig } = require(
|
|
29
|
-
resolveComponentsPath("builder.config.js"),
|
|
30
|
-
);
|
|
23
|
+
const { plugins, ...gatsbyConfig } = require(resolveComponentsPath("builder.config.js"));
|
|
31
24
|
|
|
32
25
|
const config: GatsbyConfig = {
|
|
33
26
|
// Client config
|
package/gatsby-node.ts
CHANGED
|
@@ -1,49 +1,33 @@
|
|
|
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
|
-
|
|
8
|
-
|
|
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 { appendLogToFile } from "./exporter/utils/loggin";
|
|
8
|
+
import { getBuildPagesFromStore, pageSizeLog } from "./src/gatsby-node-utils";
|
|
20
9
|
|
|
21
10
|
// process.env available through gatsbyBuildCommand.
|
|
11
|
+
const showGriddoBuildLogs = JSON.parse(process.env.GRIDDO_BUILD_LOGS || "false");
|
|
22
12
|
const assetPrefixWithDomain = process.env.SPAWN_ASSET_PREFIX_WITH_DOMAIN;
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
process.env.GRIDDO_EXPERIMENTAL_DO_NOT_USE_MATCH_PATH || "false",
|
|
26
|
-
);
|
|
27
|
-
const useMatchPaths = !avoidMatchPath;
|
|
28
|
-
const needsAssetDomainPrefix =
|
|
29
|
-
!!assetPrefixWithDomain && assetPrefixWithDomain !== "";
|
|
13
|
+
const needsAssetDomainPrefix = !!assetPrefixWithDomain && assetPrefixWithDomain !== "";
|
|
14
|
+
const nodeOptions = process.env.NODE_OPTIONS;
|
|
30
15
|
|
|
31
|
-
const
|
|
32
|
-
const
|
|
16
|
+
const template = path.resolve("./src/components/template.tsx");
|
|
17
|
+
const dbFilePath = isComponentLibrary
|
|
18
|
+
? path.resolve(__dirname, "../../..", ".cx-cache", "db.json")
|
|
19
|
+
: path.resolve(__dirname, "../..", ".cx-cache", "db.json");
|
|
33
20
|
|
|
34
21
|
const pages = getBuildPagesFromStore<GatsbyPageObject>({
|
|
35
22
|
withSizeProp: showGriddoBuildLogs,
|
|
23
|
+
dbFilePath,
|
|
36
24
|
});
|
|
37
25
|
|
|
38
26
|
const createPages: GatsbyNode["createPages"] = async ({ actions }) => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
`using
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
if (avoidMatchPath) {
|
|
46
|
-
console.log(`[!] GRIDDO EXPERIMENTAL: Avoiding use of matchPath`);
|
|
27
|
+
if (process.env.GRIDDO_VERBOSE_SSG) {
|
|
28
|
+
console.log(`read assetPrefixWithDomain=${assetPrefixWithDomain}`);
|
|
29
|
+
console.log(`set needsAssetDomainPrefix=${needsAssetDomainPrefix}`);
|
|
30
|
+
console.log(`using NODE_OPTIONS in gatsby-node.ts: ${nodeOptions}`);
|
|
47
31
|
}
|
|
48
32
|
|
|
49
33
|
for await (const page of pages) {
|
|
@@ -51,13 +35,7 @@ const createPages: GatsbyNode["createPages"] = async ({ actions }) => {
|
|
|
51
35
|
return;
|
|
52
36
|
}
|
|
53
37
|
|
|
54
|
-
const matchPath =
|
|
55
|
-
needsAssetDomainPrefix && useMatchPaths
|
|
56
|
-
? page.context.fullPath.compose
|
|
57
|
-
: "";
|
|
58
|
-
|
|
59
38
|
page.component = template;
|
|
60
|
-
page.matchPath = matchPath;
|
|
61
39
|
|
|
62
40
|
actions.createPage(page);
|
|
63
41
|
|
|
@@ -65,46 +43,7 @@ const createPages: GatsbyNode["createPages"] = async ({ actions }) => {
|
|
|
65
43
|
const id = page.context.id;
|
|
66
44
|
const size = pageSizeLog(Math.round(page.size || 0));
|
|
67
45
|
|
|
68
|
-
|
|
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
|
-
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;
|
|
92
|
-
}
|
|
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
|
-
});
|
|
46
|
+
await appendLogToFile(`Creating page ${path} - ${id} - ${size}`);
|
|
108
47
|
}
|
|
109
48
|
};
|
|
110
49
|
|
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) {
|