@griddo/cx 11.9.12-rc.0 → 11.9.13
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 +240 -13
- package/build/adapters/gatsby/index.d.ts +4 -0
- package/build/adapters/gatsby/utils.d.ts +26 -0
- package/build/artifacts/index.d.ts +6 -0
- package/build/commands/end-render.d.ts +1 -0
- package/build/commands/reset-render.d.ts +1 -0
- package/build/commands/start-render.d.ts +1 -0
- package/build/commands/upload-search-content.d.ts +1 -0
- package/build/constants/envs.d.ts +37 -0
- package/build/constants/index.d.ts +57 -0
- package/build/end-render.js +74 -0
- package/build/end-render.js.map +7 -0
- package/build/{shared/errors.d.ts → errors/errors-data.d.ts} +3 -5
- package/build/errors/index.d.ts +15 -0
- package/build/index.d.ts +29 -10
- package/build/index.js +73 -406
- package/build/index.js.map +7 -0
- package/build/prepare-domains-render.js +73 -0
- package/build/prepare-domains-render.js.map +7 -0
- package/build/react/Favicon/index.d.ts +5 -0
- package/build/react/GriddoIntegrations/index.d.ts +4 -3
- package/build/react/GriddoIntegrations/utils.d.ts +6 -7
- package/build/react/index.d.ts +2 -3
- package/build/react/index.js +3 -1
- package/build/registers/api.d.ts +9 -0
- package/build/registers/gatsby.d.ts +9 -0
- package/build/registers/index.d.ts +3 -0
- package/build/reset-render.js +74 -0
- package/build/reset-render.js.map +7 -0
- package/build/services/auth.d.ts +5 -2
- package/build/services/domains.d.ts +4 -3
- package/build/services/navigation.d.ts +16 -16
- package/build/services/reference-fields.d.ts +3 -3
- package/build/services/register.d.ts +36 -0
- package/build/services/robots.d.ts +19 -2
- package/build/services/settings.d.ts +4 -0
- package/build/services/sites.d.ts +5 -8
- package/build/services/store.d.ts +1 -10
- package/build/start-render.js +100 -0
- package/build/start-render.js.map +7 -0
- package/build/{shared/types → types}/api.d.ts +18 -18
- package/build/{shared/types → types}/global.d.ts +16 -15
- package/build/{shared/types → types}/navigation.d.ts +5 -5
- package/build/{shared/types → types}/pages.d.ts +9 -9
- package/build/{shared/types → types}/sites.d.ts +19 -18
- package/build/upload-search-content.js +74 -0
- package/build/upload-search-content.js.map +7 -0
- package/build/utils/alerts.d.ts +3 -0
- package/build/{services → utils}/api.d.ts +1 -1
- package/build/utils/cache.d.ts +35 -0
- package/build/utils/core-utils.d.ts +107 -0
- package/build/utils/create-build-data.d.ts +8 -0
- package/build/utils/domains.d.ts +13 -0
- package/build/utils/folders.d.ts +53 -0
- package/build/{core/check-env-health.d.ts → utils/health-checks.d.ts} +2 -4
- package/build/utils/loggin.d.ts +51 -0
- package/build/{services → utils}/pages.d.ts +3 -3
- package/build/utils/render.d.ts +13 -0
- package/build/utils/searches.d.ts +15 -0
- package/build/utils/sites.d.ts +31 -0
- package/build/utils/store.d.ts +81 -0
- package/cx.config.d.ts +5 -0
- package/cx.config.js +36 -0
- package/exporter/adapters/gatsby/index.ts +182 -0
- package/exporter/adapters/gatsby/utils.ts +186 -0
- package/exporter/artifacts/README.md +34 -0
- package/exporter/artifacts/index.ts +33 -0
- package/exporter/build.sh +24 -16
- package/exporter/commands/end-render.ts +86 -65
- package/exporter/commands/move-assets.ts +11 -0
- package/exporter/commands/prepare-domains-render.ts +35 -132
- package/exporter/commands/reset-render.ts +8 -13
- package/exporter/commands/start-render.ts +64 -26
- package/exporter/commands/upload-search-content.ts +26 -204
- package/exporter/{shared → constants}/endpoints.ts +11 -12
- package/exporter/constants/envs.ts +94 -0
- package/exporter/constants/index.ts +129 -0
- package/exporter/{shared/errors.ts → errors/errors-data.ts} +14 -24
- package/exporter/errors/index.ts +40 -0
- package/exporter/index.ts +56 -14
- package/exporter/react/{GriddoFavicon → Favicon}/index.tsx +9 -3
- package/exporter/react/GriddoIntegrations/index.tsx +23 -17
- package/exporter/react/GriddoIntegrations/utils.ts +12 -24
- package/exporter/react/index.tsx +9 -3
- package/exporter/registers/api.ts +14 -0
- package/exporter/registers/gatsby.ts +14 -0
- package/exporter/registers/index.ts +4 -0
- package/exporter/services/auth.ts +10 -8
- package/exporter/services/domains.ts +8 -23
- package/exporter/services/navigation.ts +18 -12
- package/exporter/services/reference-fields.ts +32 -14
- package/exporter/services/register.ts +113 -0
- package/exporter/services/robots.ts +61 -33
- package/exporter/services/settings.ts +17 -0
- package/exporter/services/sites.ts +28 -40
- package/exporter/services/store.ts +321 -354
- package/exporter/{shared/types → types}/api.ts +41 -40
- package/exporter/{shared/types → types}/global.ts +21 -17
- package/exporter/{shared/types → types}/navigation.ts +3 -3
- package/exporter/{shared/types → types}/pages.ts +11 -10
- package/exporter/{shared/types → types}/sites.ts +19 -18
- package/exporter/utils/alerts.ts +29 -0
- package/exporter/utils/api.ts +243 -0
- package/exporter/utils/cache.ts +142 -0
- package/exporter/utils/core-utils.ts +458 -0
- package/exporter/utils/create-build-data.ts +17 -0
- package/exporter/utils/domains.ts +39 -0
- package/exporter/utils/folders.ts +320 -0
- package/exporter/utils/health-checks.ts +64 -0
- package/exporter/{core → utils}/images.ts +6 -1
- package/exporter/{core → utils}/instance.ts +13 -9
- package/exporter/utils/loggin.ts +184 -0
- package/exporter/{services → utils}/pages.ts +92 -27
- package/exporter/utils/render.ts +71 -0
- package/exporter/utils/searches.ts +156 -0
- package/exporter/utils/sites.ts +312 -0
- package/exporter/utils/store.ts +314 -0
- package/gatsby-browser.tsx +58 -41
- package/gatsby-config.ts +17 -10
- package/gatsby-node.ts +79 -20
- package/gatsby-ssr.tsx +1 -2
- package/package.json +80 -41
- package/src/README.md +7 -0
- package/src/components/Head.tsx +73 -28
- package/src/components/template.tsx +29 -6
- package/src/gatsby-node-utils.ts +2 -76
- package/src/html.tsx +11 -2
- package/src/types.ts +3 -3
- package/start-render.js +7 -0
- package/tsconfig.json +3 -5
- package/build/commands/end-render.js +0 -31
- package/build/commands/end-render.js.map +0 -7
- package/build/commands/prepare-assets-directory.js +0 -9
- package/build/commands/prepare-assets-directory.js.map +0 -7
- package/build/commands/prepare-domains-render.js +0 -38
- package/build/commands/prepare-domains-render.js.map +0 -7
- package/build/commands/reset-render.js +0 -31
- package/build/commands/reset-render.js.map +0 -7
- package/build/commands/single-domain-upload-search-content.d.ts +0 -1
- package/build/commands/start-render.js +0 -66
- package/build/commands/start-render.js.map +0 -7
- package/build/commands/upload-search-content.js +0 -32
- package/build/commands/upload-search-content.js.map +0 -7
- package/build/core/GriddoLog.d.ts +0 -16
- package/build/core/db-class.d.ts +0 -11
- package/build/core/db.d.ts +0 -4
- package/build/core/dist-rollback.d.ts +0 -11
- package/build/core/errors.d.ts +0 -26
- package/build/core/fs.d.ts +0 -69
- package/build/core/life-cycle.d.ts +0 -26
- package/build/core/logger.d.ts +0 -18
- package/build/core/objects.d.ts +0 -11
- package/build/core/print-logos.d.ts +0 -5
- package/build/react/DynamicScript/index.d.ts +0 -4
- package/build/react/GriddoFavicon/index.d.ts +0 -4
- package/build/react/GriddoOpenGraph/index.d.ts +0 -10
- package/build/services/manage-sites.d.ts +0 -22
- package/build/services/manage-store.d.ts +0 -32
- package/build/services/render-artifacts.d.ts +0 -6
- package/build/services/render.d.ts +0 -70
- package/build/services/sitemaps.d.ts +0 -5
- package/build/shared/context.d.ts +0 -36
- package/build/shared/envs.d.ts +0 -19
- package/build/shared/npm-modules/brush.d.ts +0 -18
- package/build/shared/npm-modules/find-up-simple.d.ts +0 -34
- package/build/shared/npm-modules/pkg-dir.d.ts +0 -7
- package/build/shared/npm-modules/xml-parser.d.ts +0 -4
- package/build/shared/types/render.d.ts +0 -54
- package/build/shared/types.d.ts +0 -15
- package/build/ssg-adapters/gatsby/actions/clean.d.ts +0 -3
- package/build/ssg-adapters/gatsby/actions/close.d.ts +0 -3
- package/build/ssg-adapters/gatsby/actions/data.d.ts +0 -2
- package/build/ssg-adapters/gatsby/actions/healthCheck.d.ts +0 -2
- package/build/ssg-adapters/gatsby/actions/init.d.ts +0 -2
- package/build/ssg-adapters/gatsby/actions/logs.d.ts +0 -3
- package/build/ssg-adapters/gatsby/actions/meta.d.ts +0 -2
- package/build/ssg-adapters/gatsby/actions/prepare.d.ts +0 -2
- package/build/ssg-adapters/gatsby/actions/relocation.d.ts +0 -2
- package/build/ssg-adapters/gatsby/actions/restore.d.ts +0 -3
- package/build/ssg-adapters/gatsby/actions/ssg.d.ts +0 -3
- package/build/ssg-adapters/gatsby/actions/sync.d.ts +0 -3
- package/build/ssg-adapters/gatsby/index.d.ts +0 -9
- package/build/ssg-adapters/gatsby/shared/artifacts.d.ts +0 -4
- package/build/ssg-adapters/gatsby/shared/diff-assets.d.ts +0 -15
- package/build/ssg-adapters/gatsby/shared/extract-assets.d.ts +0 -7
- package/build/ssg-adapters/gatsby/shared/gatsby-build.d.ts +0 -7
- package/build/ssg-adapters/gatsby/shared/render-rollback.d.ts +0 -18
- package/build/ssg-adapters/gatsby/shared/sync-render.d.ts +0 -26
- package/build/ssg-adapters/gatsby/shared/types.d.ts +0 -34
- package/cli.mjs +0 -231
- package/exporter/build-esbuild.noop +0 -42
- package/exporter/commands/README.md +0 -151
- package/exporter/commands/prepare-assets-directory.ts +0 -35
- package/exporter/commands/single-domain-upload-search-content.ts +0 -206
- package/exporter/core/GriddoLog.ts +0 -45
- package/exporter/core/check-env-health.ts +0 -204
- package/exporter/core/db-class.ts +0 -54
- package/exporter/core/db.ts +0 -33
- package/exporter/core/dist-rollback.ts +0 -49
- package/exporter/core/errors.ts +0 -93
- package/exporter/core/fs.ts +0 -385
- package/exporter/core/life-cycle.ts +0 -73
- package/exporter/core/logger.ts +0 -141
- package/exporter/core/objects.ts +0 -37
- package/exporter/core/print-logos.ts +0 -21
- package/exporter/react/DynamicScript/index.tsx +0 -33
- package/exporter/react/GriddoOpenGraph/index.tsx +0 -39
- package/exporter/services/api.ts +0 -306
- package/exporter/services/manage-sites.ts +0 -116
- package/exporter/services/manage-store.ts +0 -173
- package/exporter/services/render-artifacts.ts +0 -44
- package/exporter/services/render.ts +0 -229
- package/exporter/services/sitemaps.ts +0 -129
- package/exporter/shared/context.ts +0 -49
- package/exporter/shared/envs.ts +0 -62
- package/exporter/shared/npm-modules/README.md +0 -36
- package/exporter/shared/npm-modules/brush.ts +0 -34
- package/exporter/shared/npm-modules/find-up-simple.ts +0 -100
- package/exporter/shared/npm-modules/pkg-dir.ts +0 -17
- package/exporter/shared/npm-modules/xml-parser.ts +0 -57
- package/exporter/shared/types/render.ts +0 -63
- package/exporter/shared/types.ts +0 -15
- package/exporter/ssg-adapters/gatsby/actions/clean.ts +0 -26
- package/exporter/ssg-adapters/gatsby/actions/close.ts +0 -17
- package/exporter/ssg-adapters/gatsby/actions/data.ts +0 -22
- package/exporter/ssg-adapters/gatsby/actions/healthCheck.ts +0 -10
- package/exporter/ssg-adapters/gatsby/actions/init.ts +0 -12
- package/exporter/ssg-adapters/gatsby/actions/logs.ts +0 -10
- package/exporter/ssg-adapters/gatsby/actions/meta.ts +0 -13
- package/exporter/ssg-adapters/gatsby/actions/prepare.ts +0 -9
- package/exporter/ssg-adapters/gatsby/actions/relocation.ts +0 -15
- package/exporter/ssg-adapters/gatsby/actions/restore.ts +0 -21
- package/exporter/ssg-adapters/gatsby/actions/ssg.ts +0 -12
- package/exporter/ssg-adapters/gatsby/actions/sync.ts +0 -65
- package/exporter/ssg-adapters/gatsby/index.ts +0 -114
- package/exporter/ssg-adapters/gatsby/shared/artifacts.ts +0 -17
- package/exporter/ssg-adapters/gatsby/shared/diff-assets.ts +0 -128
- package/exporter/ssg-adapters/gatsby/shared/extract-assets.ts +0 -75
- package/exporter/ssg-adapters/gatsby/shared/gatsby-build.ts +0 -58
- package/exporter/ssg-adapters/gatsby/shared/render-rollback.ts +0 -33
- package/exporter/ssg-adapters/gatsby/shared/sync-render.ts +0 -298
- package/exporter/ssg-adapters/gatsby/shared/types.ts +0 -35
- package/plugins/gatsby-plugin-svgr-loader/gatsby-node.js +0 -55
- package/plugins/gatsby-plugin-svgr-loader/package.json +0 -8
- package/tsconfig.commands.json +0 -36
- package/tsconfig.exporter.json +0 -21
- /package/build/commands/{prepare-assets-directory.d.ts → move-assets.d.ts} +0 -0
- /package/build/{shared → constants}/endpoints.d.ts +0 -0
- /package/build/react/{GriddoFavicon → Favicon}/utils.d.ts +0 -0
- /package/build/{shared/types → types}/templates.d.ts +0 -0
- /package/build/{core → utils}/images.d.ts +0 -0
- /package/build/{core → utils}/instance.d.ts +0 -0
- /package/exporter/react/{GriddoFavicon → Favicon}/utils.ts +0 -0
- /package/exporter/{shared/types → types}/templates.ts +0 -0
|
@@ -1,143 +1,46 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import fsp from "node:fs/promises";
|
|
1
|
+
import fs from "node:fs";
|
|
4
2
|
import path from "node:path";
|
|
5
3
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { pathExists, rmDirs } from "../core/fs";
|
|
11
|
-
import { GriddoLog } from "../core/GriddoLog";
|
|
12
|
-
import { resolveComponentsPath } from "../core/instance";
|
|
13
|
-
import { AuthService } from "../services/auth";
|
|
14
|
-
import { getInstanceDomains } from "../services/domains";
|
|
15
|
-
import { getSitesToRender } from "../services/manage-sites";
|
|
16
|
-
import { resolveDomainRenderMode } from "../services/render";
|
|
17
|
-
import { GRIDDO_SKIP_BUILD_CHECKS } from "../shared/envs";
|
|
18
|
-
import { pkgDir } from "../shared/npm-modules/pkg-dir";
|
|
19
|
-
|
|
20
|
-
async function getDomainsWithNumberOfPagesWithActivity(domains: string[]) {
|
|
21
|
-
const results = await Promise.all(
|
|
22
|
-
domains.map(async (domain) => {
|
|
23
|
-
const { sitesToPublish, sitesToUnpublish } = await getSitesToRender(domain);
|
|
24
|
-
const allSites = [...sitesToPublish, ...sitesToUnpublish];
|
|
25
|
-
|
|
26
|
-
if (allSites.length < 1) {
|
|
27
|
-
GriddoLog.warn(`No sites to publish or unpublish for domain: ${domain}`);
|
|
28
|
-
return { domain, totalPendingPages: 0 };
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const pages: number[] = [];
|
|
32
|
-
for (const site of allSites) {
|
|
33
|
-
const { offlinePending, uploadPending } = site.pagesStatus;
|
|
34
|
-
const totalOfWorkingPages = offlinePending.length + uploadPending.length;
|
|
35
|
-
pages.push(totalOfWorkingPages);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const totalPendingPages = pages.reduce((a, b) => a + b, 0);
|
|
39
|
-
|
|
40
|
-
return { domain, totalPendingPages };
|
|
41
|
-
}),
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
return results;
|
|
45
|
-
}
|
|
4
|
+
import { getConfig } from "../utils/core-utils";
|
|
5
|
+
import { getInstanceDomains } from "../utils/domains";
|
|
6
|
+
import { infoLog, successLog } from "../utils/loggin";
|
|
7
|
+
import { getSitesToRender } from "../utils/sites";
|
|
46
8
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
) {
|
|
50
|
-
domainsInfo.sort((a, b) => a.totalPendingPages - b.totalPendingPages);
|
|
9
|
+
(async () => {
|
|
10
|
+
infoLog("Checking domains size");
|
|
51
11
|
|
|
52
|
-
|
|
53
|
-
}
|
|
12
|
+
const { __cx } = getConfig().paths();
|
|
54
13
|
|
|
55
|
-
async function initRender() {
|
|
56
|
-
const root = (await pkgDir({ cwd: path.resolve(__dirname, "../../..") })) || "";
|
|
57
|
-
const cx = root;
|
|
58
|
-
const ssg = path.resolve((await pkgDir({ cwd: __dirname })) || "");
|
|
59
|
-
const cxCache = path.resolve(root, ".griddo/cache");
|
|
60
|
-
const components = resolveComponentsPath();
|
|
61
|
-
const exportsDir = path.join(root, "exports/sites");
|
|
62
|
-
const exportsDirBackup = path.join(root, "exports-backup/sites");
|
|
63
|
-
|
|
64
|
-
const data: RenderDB = {
|
|
65
|
-
griddoVersion,
|
|
66
|
-
buildReportFileName: "build-report.json",
|
|
67
|
-
sortedDomains: [],
|
|
68
|
-
needsRollbackOnError: false,
|
|
69
|
-
domains: {},
|
|
70
|
-
currentRenderingDomain: null,
|
|
71
|
-
paths: {
|
|
72
|
-
components,
|
|
73
|
-
cx,
|
|
74
|
-
cxCache,
|
|
75
|
-
exportsDir,
|
|
76
|
-
root,
|
|
77
|
-
ssg,
|
|
78
|
-
exportsDirBackup,
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
// create the main cache folder for cx if it doesn't exist.
|
|
83
|
-
if (!(await pathExists(cxCache))) {
|
|
84
|
-
await fsp.mkdir(cxCache, { recursive: true });
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
await writeDB(data);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
async function prepareDomains() {
|
|
91
|
-
await AuthService.login();
|
|
92
|
-
|
|
93
|
-
const db = await readDB();
|
|
94
|
-
|
|
95
|
-
const __ssg = db.paths.ssg;
|
|
96
14
|
const domains = await getInstanceDomains();
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
// Log RenderModes/Reason
|
|
114
|
-
GriddoLog.info(
|
|
115
|
-
`(From Initial Render) [${domain}]: Marked as ${renderMode} with the reason: ${reason}`,
|
|
116
|
-
);
|
|
15
|
+
const domainsInfo = [];
|
|
16
|
+
const domainsFilePath = path.join(__cx, "domains.json");
|
|
17
|
+
|
|
18
|
+
for (const domain of domains) {
|
|
19
|
+
const { sitesToPublish } = await getSitesToRender(domain);
|
|
20
|
+
|
|
21
|
+
// Only count pages (changedPages) if sitesToPublish is not empty.
|
|
22
|
+
// Otherwise we set the domain has having 0 pages.
|
|
23
|
+
const pages = [];
|
|
24
|
+
if (sitesToPublish.length > 0) {
|
|
25
|
+
for (const site of sitesToPublish) {
|
|
26
|
+
pages.push(site.changedPages.length);
|
|
27
|
+
}
|
|
28
|
+
} else {
|
|
29
|
+
pages.push(0);
|
|
30
|
+
}
|
|
117
31
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
db.domains[domain].shouldBeRendered = shouldBeRendered;
|
|
121
|
-
db.domains[domain].renderModeReason = reason;
|
|
32
|
+
const totalPages = pages.reduce((a, b) => a + b);
|
|
33
|
+
domainsInfo.push({ domain, totalPages });
|
|
122
34
|
}
|
|
123
35
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
async function clean() {
|
|
128
|
-
const db = await readDB();
|
|
129
|
-
const { root } = db.paths;
|
|
130
|
-
await rmDirs([path.join(root, "apiCache")]);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
async function main() {
|
|
134
|
-
GRIDDO_SKIP_BUILD_CHECKS
|
|
135
|
-
? GriddoLog.info("Build health check bypassed")
|
|
136
|
-
: checkEnvironmentHealth();
|
|
36
|
+
// sort domains, smaller first
|
|
37
|
+
domainsInfo.sort((a, b) => a.totalPages - b.totalPages);
|
|
38
|
+
const domainSorted = domainsInfo.map(({ domain }) => domain);
|
|
137
39
|
|
|
138
|
-
|
|
139
|
-
await prepareDomains();
|
|
140
|
-
await clean();
|
|
141
|
-
}
|
|
40
|
+
fs.writeFileSync(domainsFilePath, JSON.stringify(domainSorted));
|
|
142
41
|
|
|
143
|
-
|
|
42
|
+
successLog(`Checking domains size`);
|
|
43
|
+
})().catch((err) => {
|
|
44
|
+
console.error(err);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
});
|
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
import { post } from "../services/api";
|
|
3
|
-
import { AuthService } from "../services/auth";
|
|
4
|
-
import { RESET_RENDER } from "../shared/endpoints";
|
|
1
|
+
#!/usr/bin/env node
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
await post({
|
|
9
|
-
endpoint: RESET_RENDER,
|
|
10
|
-
useApiCacheDir: false,
|
|
11
|
-
});
|
|
12
|
-
GriddoLog.info("The render status of all domains has been restored.");
|
|
13
|
-
}
|
|
3
|
+
import { AuthService } from "../services/auth";
|
|
4
|
+
import { resetRender } from "../services/settings";
|
|
14
5
|
|
|
15
6
|
async function main() {
|
|
7
|
+
await AuthService.login();
|
|
16
8
|
await resetRender();
|
|
17
9
|
}
|
|
18
10
|
|
|
19
|
-
main().catch(
|
|
11
|
+
main().catch((err) => {
|
|
12
|
+
console.error("Error", err?.stdout?.toString() || err);
|
|
13
|
+
process.exit(1);
|
|
14
|
+
});
|
|
@@ -1,30 +1,68 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { gatsbyRenderDomain } from "../ssg-adapters/gatsby";
|
|
8
|
-
|
|
9
|
-
async function legacyRender() {
|
|
10
|
-
GriddoLog.warn("Legacy Render Mode");
|
|
11
|
-
const domains = await getInstanceDomains();
|
|
12
|
-
for (const domain of domains) {
|
|
13
|
-
await gatsbyRenderDomain(domain);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { renderDomainsWithGatsbyAdapter } from "../adapters/gatsby";
|
|
3
|
+
import { RenderError } from "../errors";
|
|
4
|
+
import { getInstanceDomains } from "../utils/domains";
|
|
5
|
+
import { errorLabelLog, showExporterVersion } from "../utils/loggin";
|
|
6
|
+
import { sendGriddoDefaultAlerts } from "../utils/render";
|
|
16
7
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
8
|
+
const GRIDDO_RENDER_DOMAINS = process.env.GRIDDO_RENDER_DOMAINS || "";
|
|
9
|
+
const RENDER_BY_DOMAIN = process.env.GRIDDO_RENDER_BY_DOMAINS || "";
|
|
10
|
+
|
|
11
|
+
async function startRender() {
|
|
12
|
+
try {
|
|
13
|
+
// DOMAINS
|
|
14
|
+
// This block is just for the local instance renders.
|
|
15
|
+
if (GRIDDO_RENDER_DOMAINS) {
|
|
16
|
+
console.log("USANDO EL .ENV");
|
|
17
|
+
showExporterVersion();
|
|
18
|
+
for (const domain of GRIDDO_RENDER_DOMAINS.split(",")) {
|
|
19
|
+
await renderDomainsWithGatsbyAdapter(domain);
|
|
20
|
+
}
|
|
21
|
+
await sendGriddoDefaultAlerts();
|
|
22
|
+
process.exit(0);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// This will render every domain opposed to the new logic of render each
|
|
26
|
+
// domain separately.
|
|
27
|
+
if (RENDER_BY_DOMAIN) {
|
|
28
|
+
const domain = process.argv.splice(2)[0];
|
|
29
|
+
|
|
30
|
+
if (!domain) {
|
|
31
|
+
console.log("Needs the domain name argument");
|
|
32
|
+
throw new RenderError();
|
|
33
|
+
}
|
|
21
34
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
showExporterVersion();
|
|
36
|
+
await renderDomainsWithGatsbyAdapter(domain);
|
|
37
|
+
await sendGriddoDefaultAlerts();
|
|
38
|
+
|
|
39
|
+
process.exit(0);
|
|
40
|
+
} else {
|
|
41
|
+
showExporterVersion();
|
|
42
|
+
|
|
43
|
+
console.log("( Legacy Render Mode )\n");
|
|
44
|
+
|
|
45
|
+
const domains = await getInstanceDomains();
|
|
46
|
+
|
|
47
|
+
for (const domain of domains) {
|
|
48
|
+
await renderDomainsWithGatsbyAdapter(domain);
|
|
49
|
+
await sendGriddoDefaultAlerts();
|
|
50
|
+
}
|
|
51
|
+
process.exit(0);
|
|
52
|
+
}
|
|
53
|
+
} catch (error) {
|
|
54
|
+
if (error instanceof RenderError) {
|
|
55
|
+
errorLabelLog("GRIDDO_ERROR InternalCXError");
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
errorLabelLog("GRIDDO_ERROR UnknownError");
|
|
60
|
+
console.error(error);
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
28
63
|
}
|
|
29
64
|
|
|
30
|
-
|
|
65
|
+
startRender().catch((err) => {
|
|
66
|
+
console.error("Error", err?.stdout?.toString() || err);
|
|
67
|
+
process.exit(1);
|
|
68
|
+
});
|
|
@@ -1,217 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
import type { AIEmbeddingsResponse, PostSearchInfoProps } from "../shared/types/global";
|
|
3
|
-
import type { GatsbyPageData } from "../ssg-adapters/gatsby/shared/types";
|
|
1
|
+
#!/usr/bin/env node
|
|
4
2
|
|
|
5
|
-
import
|
|
6
|
-
import path from "node:path";
|
|
3
|
+
import fs from "node:fs";
|
|
7
4
|
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import { AI_EMBEDDINGS, SEARCH } from "../shared/endpoints";
|
|
16
|
-
import { GRIDDO_AI_EMBEDDINGS, GRIDDO_SEARCH_FEATURE } from "../shared/envs";
|
|
17
|
-
import { ReadFromStoreError, UploadSearchError } from "../shared/errors";
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Save in the BBDD the content of a page parsed without HTML tags.
|
|
21
|
-
*
|
|
22
|
-
* @param props Object with parts of the final page object to be saved in the BBDD.
|
|
23
|
-
*/
|
|
24
|
-
async function postSearchInfo(props: PostSearchInfoProps) {
|
|
25
|
-
const { title, description, image, pageId, languageId, siteId, url, content, template } = props;
|
|
26
|
-
|
|
27
|
-
const response = await post<PostSearchInfoResponse>({
|
|
28
|
-
endpoint: SEARCH,
|
|
29
|
-
body: {
|
|
30
|
-
title,
|
|
31
|
-
description,
|
|
32
|
-
image,
|
|
33
|
-
pageId,
|
|
34
|
-
languageId,
|
|
35
|
-
siteId,
|
|
36
|
-
url,
|
|
37
|
-
template,
|
|
38
|
-
content,
|
|
39
|
-
},
|
|
40
|
-
useApiCacheDir: false,
|
|
41
|
-
logToFile: false,
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
return response;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function prepareHTMLContentForSearch(content: string): string {
|
|
48
|
-
// 1. Remove script, style, and other unwanted block tags and their content.
|
|
49
|
-
// The regex looks for <tag...>...</tag> where tag is one of the specified ones.
|
|
50
|
-
const tagsToRemove = ["meta", "link", "style", "script", "noscript", "nav", "header", "footer"];
|
|
51
|
-
const removeTagsRegex = new RegExp(`<(${tagsToRemove.join("|")})\\b[^>]*>.*?<\\/\\1>`, "gis");
|
|
52
|
-
let processedContent = content.replace(removeTagsRegex, "");
|
|
53
|
-
|
|
54
|
-
// 2. Strip all remaining HTML tags.
|
|
55
|
-
processedContent = processedContent.replace(/<[^>]+>/g, " ");
|
|
56
|
-
|
|
57
|
-
// 3. Normalize whitespace: replace multiple spaces/newlines with a single space and trim.
|
|
58
|
-
processedContent = processedContent.replace(/\s+/g, " ").trim();
|
|
59
|
-
|
|
60
|
-
return processedContent;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Function that search in the `/public` dir the content info of the pages and
|
|
65
|
-
* send it to the search table in the ddbb using the API.
|
|
66
|
-
* @todo Utilizar la carpeta page-data en lugar de la carpeta store puesto que
|
|
67
|
-
* esta ya no es persistente.
|
|
68
|
-
*/
|
|
69
|
-
async function uploadRenderedSearchContentToAPI(options: {
|
|
70
|
-
htmlContentDir: string;
|
|
71
|
-
jsonContentDir: string;
|
|
72
|
-
}) {
|
|
73
|
-
const { htmlContentDir, jsonContentDir } = options;
|
|
74
|
-
|
|
75
|
-
if (!(await pathExists(jsonContentDir)) || !(await pathExists(htmlContentDir))) {
|
|
76
|
-
GriddoLog.info(
|
|
77
|
-
`Skipping uploading content to the search endpoint because it has not exported sites.`,
|
|
78
|
-
);
|
|
5
|
+
import { envs } from "../constants";
|
|
6
|
+
import { getConfig } from "../utils/core-utils";
|
|
7
|
+
import { getInstanceDomains } from "../utils/domains";
|
|
8
|
+
import {
|
|
9
|
+
startAIEmbeddings,
|
|
10
|
+
uploadRenderedSearchContentToAPI,
|
|
11
|
+
} from "../utils/searches";
|
|
79
12
|
|
|
13
|
+
async function main() {
|
|
14
|
+
if (!envs.GRIDDO_SEARCH_FEATURE) {
|
|
80
15
|
return;
|
|
81
16
|
}
|
|
82
17
|
|
|
83
|
-
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
for await (const pageData of gatsbyPageDataPages) {
|
|
88
|
-
const { result } = pageData;
|
|
89
|
-
const { pageContext } = result;
|
|
90
|
-
const { page, openGraph, pageMetadata } = pageContext;
|
|
91
|
-
|
|
92
|
-
const { compose } = page.fullPath;
|
|
93
|
-
|
|
94
|
-
const htmlPath = path.resolve(`${htmlContentDir}/${compose}/index.html`);
|
|
95
|
-
const htmlContent = await fsp.readFile(htmlPath, "utf-8");
|
|
96
|
-
|
|
97
|
-
const pageObject: PostSearchInfoProps = {
|
|
98
|
-
siteId: page.site,
|
|
99
|
-
pageId: page.id,
|
|
100
|
-
// `pageMetadata.title` has already a fallback `metatitle ||
|
|
101
|
-
// pageTitle` so probably `title` never will be take the
|
|
102
|
-
// `openGraph?.title` value. Only when the `metatitle` and
|
|
103
|
-
// `pageTitle` are empty.
|
|
104
|
-
title: pageMetadata?.title || openGraph?.title,
|
|
105
|
-
languageId: page.language,
|
|
106
|
-
url: page.fullUrl,
|
|
107
|
-
template: page.template.templateType || page.templateId,
|
|
108
|
-
description: pageMetadata?.description || openGraph?.description,
|
|
109
|
-
image: openGraph.image,
|
|
110
|
-
content: prepareHTMLContentForSearch(htmlContent),
|
|
111
|
-
};
|
|
18
|
+
const domains = await getInstanceDomains();
|
|
19
|
+
const config = getConfig();
|
|
20
|
+
for (const domain of domains) {
|
|
21
|
+
const { __exports_dist } = config.paths(domain);
|
|
112
22
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
23
|
+
// If __exports_dist has not exported sites (directories), it does not
|
|
24
|
+
// upload search content.
|
|
25
|
+
if (fs.existsSync(__exports_dist)) {
|
|
26
|
+
await uploadRenderedSearchContentToAPI(__exports_dist, domain);
|
|
117
27
|
}
|
|
118
|
-
|
|
119
|
-
GriddoLog.verbose(`Uploaded content of: ${page.fullUrl}`);
|
|
120
|
-
pagesUploadedCounter++;
|
|
121
28
|
}
|
|
122
29
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Walk recursively in a basePath and return an array of pages with json
|
|
128
|
-
* extension with the full absolute path and the path includes "page-data".
|
|
129
|
-
*
|
|
130
|
-
* @param basePath The path to walk recursively.
|
|
131
|
-
* @returns An array of pages with json extension with the full absolute path
|
|
132
|
-
* and the path includes "page-data".
|
|
133
|
-
*/
|
|
134
|
-
async function* walkRecursively(basePath: string): AsyncGenerator<string> {
|
|
135
|
-
const filesHandle = await fsp.opendir(basePath);
|
|
136
|
-
|
|
137
|
-
for await (const fileDirent of filesHandle) {
|
|
138
|
-
if (fileDirent.isDirectory()) {
|
|
139
|
-
yield* walkRecursively(path.join(basePath, fileDirent.name));
|
|
140
|
-
} else if (
|
|
141
|
-
fileDirent.isFile() &&
|
|
142
|
-
path.extname(fileDirent.name) === ".json" &&
|
|
143
|
-
fileDirent.name.includes("page-data")
|
|
144
|
-
) {
|
|
145
|
-
yield path.join(basePath, fileDirent.name);
|
|
146
|
-
}
|
|
30
|
+
// Solo una vez en cada render de todos los dominios...
|
|
31
|
+
if (envs.GRIDDO_AI_EMBEDDINGS) {
|
|
32
|
+
await startAIEmbeddings();
|
|
147
33
|
}
|
|
148
34
|
}
|
|
149
35
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
* @param basePath The path to walk recursively.
|
|
155
|
-
* @returns An array of pages with json extension with the full absolute path
|
|
156
|
-
* and the path includes "page-data".
|
|
157
|
-
*/
|
|
158
|
-
async function* getPageDataPagesFromExports<PageType extends GatsbyPageData>(
|
|
159
|
-
basePath: string,
|
|
160
|
-
): AsyncGenerator<PageType> {
|
|
161
|
-
const jsonFiles = walkRecursively(basePath);
|
|
162
|
-
|
|
163
|
-
for await (const filePath of jsonFiles) {
|
|
164
|
-
try {
|
|
165
|
-
const fileContent = await fsp.readFile(filePath, "utf8");
|
|
166
|
-
const page = JSON.parse(fileContent) as PageType;
|
|
167
|
-
|
|
168
|
-
if (page.path) {
|
|
169
|
-
yield page;
|
|
170
|
-
}
|
|
171
|
-
} catch (error) {
|
|
172
|
-
throwError(ReadFromStoreError, error);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
async function getContentDirectories(domain: string) {
|
|
178
|
-
const { __exports } = await getRenderPathsHydratedWithDomainFromDB({ domain });
|
|
179
|
-
|
|
180
|
-
return {
|
|
181
|
-
htmlContentDir: path.join(__exports, "dist"),
|
|
182
|
-
jsonContentDir: path.join(__exports, "dist", "page-data"),
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
async function uploadSearchContent() {
|
|
187
|
-
if (GRIDDO_SEARCH_FEATURE) {
|
|
188
|
-
const domains = await getInstanceDomains();
|
|
189
|
-
for (const domain of domains) {
|
|
190
|
-
const { htmlContentDir, jsonContentDir } = await getContentDirectories(domain);
|
|
191
|
-
|
|
192
|
-
GriddoLog.info(`Uploading search content for ${domain}`);
|
|
193
|
-
await uploadRenderedSearchContentToAPI({
|
|
194
|
-
htmlContentDir,
|
|
195
|
-
jsonContentDir,
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
async function aiEmbeddings() {
|
|
202
|
-
if (GRIDDO_SEARCH_FEATURE && GRIDDO_AI_EMBEDDINGS) {
|
|
203
|
-
GriddoLog.info(`Triggering AI embeddings...`);
|
|
204
|
-
await post<AIEmbeddingsResponse>({
|
|
205
|
-
endpoint: AI_EMBEDDINGS,
|
|
206
|
-
useApiCacheDir: false,
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
async function main() {
|
|
212
|
-
await AuthService.login();
|
|
213
|
-
await uploadSearchContent();
|
|
214
|
-
await aiEmbeddings();
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
withErrorHandler(main);
|
|
36
|
+
main().catch((err) => {
|
|
37
|
+
console.error("Error", err?.stdout?.toString() || err);
|
|
38
|
+
process.exit(1);
|
|
39
|
+
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { GRIDDO_API_URL, GRIDDO_PUBLIC_API_URL } from "./envs";
|
|
2
|
+
|
|
3
|
+
const WITH_URI = `${GRIDDO_API_URL}/site/`;
|
|
3
4
|
|
|
4
5
|
const AI_EMBEDDINGS = `${GRIDDO_API_URL}/ai/embeddings`;
|
|
5
6
|
const ALERT = `${GRIDDO_PUBLIC_API_URL}/alert`;
|
|
@@ -12,16 +13,14 @@ const ROBOTS = `${GRIDDO_API_URL}/domains/robots`;
|
|
|
12
13
|
const SEARCH = `${GRIDDO_API_URL}/search`;
|
|
13
14
|
const SETTINGS = `${GRIDDO_API_URL}/settings`;
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const LANGUAGES = [SITE_URI, "/languages"];
|
|
24
|
-
const SOCIALS = [SITE_URI, "/socials"];
|
|
16
|
+
const BUILD_END = [WITH_URI, "/build/end"];
|
|
17
|
+
const BUILD_START = [WITH_URI, "/build/start"];
|
|
18
|
+
const GET_PAGES = [WITH_URI, "/pages?pagination=false"];
|
|
19
|
+
const GET_REFERENCE_FIELD_DATA = [WITH_URI, "/distributor"];
|
|
20
|
+
const GET_SITEMAP = [WITH_URI, "/sitemap"];
|
|
21
|
+
const INFO = [WITH_URI, "/all"];
|
|
22
|
+
const LANGUAGES = [WITH_URI, "/languages"];
|
|
23
|
+
const SOCIALS = [WITH_URI, "/socials"];
|
|
25
24
|
|
|
26
25
|
export {
|
|
27
26
|
AI_EMBEDDINGS,
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Here are all the environment variables that the CX code uses.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import dotenv from "dotenv";
|
|
6
|
+
|
|
7
|
+
import { isTruthy } from "../utils/core-utils";
|
|
8
|
+
|
|
9
|
+
dotenv.config();
|
|
10
|
+
|
|
11
|
+
//
|
|
12
|
+
// Credentials
|
|
13
|
+
//
|
|
14
|
+
/* prettier-ignore */ const GRIDDO_API_URL = process.env.GRIDDO_API_URL || process.env.API_URL;
|
|
15
|
+
/* prettier-ignore */ const GRIDDO_PUBLIC_API_URL = process.env.GRIDDO_PUBLIC_API_URL || process.env.PUBLIC_API_URL;
|
|
16
|
+
/* prettier-ignore */ const GRIDDO_BOT_USER = process.env.botEmail || process.env.GRIDDO_BOT_USER;
|
|
17
|
+
/* prettier-ignore */ const GRIDDO_BOT_PASSWORD = process.env.botPassword|| process.env.GRIDDO_BOT_PASSWORD;
|
|
18
|
+
|
|
19
|
+
//
|
|
20
|
+
// Rendering
|
|
21
|
+
//
|
|
22
|
+
/* prettier-ignore */ const GRIDDO_API_CONCURRENCY_COUNT = Number.parseInt( process.env.GRIDDO_API_CONCURRENCY_COUNT || "10");
|
|
23
|
+
/* prettier-ignore */ const GRIDDO_RENDER_ALL_SITES = isTruthy(process.env.GRIDDO_RENDER_ALL_SITES || process.env.updateAllSites);
|
|
24
|
+
/* prettier-ignore */ const GRIDDO_RENDER_SITE = Number.parseInt(process.env.GRIDDO_RENDER_SITE || "")
|
|
25
|
+
/* prettier-ignore */ const GRIDDO_RENDER_PAGES = (process.env.GRIDDO_RENDER_PAGES || "").split(",").map((item) => Number.parseInt(item)).filter(Boolean);
|
|
26
|
+
/* prettier-ignore */ const GRIDDO_SKIP_BUILD_CHECKS = isTruthy(process.env.GRIDDO_SKIP_BUILD_CHECKS)
|
|
27
|
+
/* prettier-ignore */ const GRIDDO_DEBUG_LOGS = isTruthy(process.env.GRIDDO_DEBUG_LOGS);
|
|
28
|
+
/* prettier-ignore */ const GRIDDO_BUILD_LOGS = isTruthy(process.env.GRIDDO_BUILD_LOGS);
|
|
29
|
+
/* prettier-ignore */ const GRIDDO_RENDER_BREAKPOINTS_FEATURE = isTruthy(process.env.GRIDDO_RENDER_BREAKPOINTS_FEATURE);
|
|
30
|
+
/* prettier-ignore */ const GRIDDO_SSG_VERBOSE_LOGS = isTruthy(process.env.GRIDDO_SSG_VERBOSE_LOGS)
|
|
31
|
+
/* prettier-ignore */ const GRIDDO_SEARCH_FEATURE = isTruthy(process.env.GRIDDO_SEARCH_FEATURE);
|
|
32
|
+
/* prettier-ignore */ const GRIDDO_ASSET_PREFIX = process.env.GRIDDO_ASSET_PREFIX || process.env.ASSET_PREFIX;
|
|
33
|
+
/* prettier-ignore */ const GRIDDO_REACT_APP_INSTANCE = process.env.GRIDDO_REACT_APP_INSTANCE || process.env.REACT_APP_INSTANCE;
|
|
34
|
+
/* prettier-ignore */ const GRIDDO_AI_EMBEDDINGS = isTruthy(process.env.GRIDDO_AI_EMBEDDINGS);
|
|
35
|
+
/* prettier-ignore */ const GRIDDO_VERBOSE_LOGS = isTruthy(process.env.GRIDDO_VERBOSE_LOGS);
|
|
36
|
+
/* prettier-ignore */ const GRIDDO_ALERT_FEATURE = isTruthy(process.env.GRIDDO_ALERT_FEATURE);
|
|
37
|
+
/* prettier-ignore */ const GRIDDO_API_MAX_RESPONSE_SIZE = Number.parseInt(process.env.GRIDDO_API_MAX_RESPONSE_SIZE || "81920") // 80KB
|
|
38
|
+
/* prettier-ignore */ const GRIDDO_SSG_MAX_PAGE_SIZE = Number.parseInt(process.env.GRIDDO_SSG_MAX_PAGE_SIZE || "524288") // 512KB
|
|
39
|
+
|
|
40
|
+
//
|
|
41
|
+
// LifeCycle
|
|
42
|
+
//
|
|
43
|
+
/* prettier-ignore */ const GRIDDO_INIT_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_INIT_LIFECYCLE_MAX_ATTEMPTS || "1");
|
|
44
|
+
/* prettier-ignore */ const GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS || "1");
|
|
45
|
+
/* prettier-ignore */ const GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS || "1");
|
|
46
|
+
/* prettier-ignore */ const GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS || "1");
|
|
47
|
+
/* prettier-ignore */ const GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS || "1");
|
|
48
|
+
/* prettier-ignore */ const GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS || "1");
|
|
49
|
+
/* prettier-ignore */ const GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS || "2");
|
|
50
|
+
/* prettier-ignore */ const GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS || "1");
|
|
51
|
+
/* prettier-ignore */ const GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS || "4");
|
|
52
|
+
/* prettier-ignore */ const GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS = Number.parseInt(process.env.GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS || "1");
|
|
53
|
+
|
|
54
|
+
//
|
|
55
|
+
// Testing
|
|
56
|
+
//
|
|
57
|
+
/* prettier-ignore */ const GRIDDO_FIXTURES_DOMAIN_NAMES = process.env.GRIDDO_CX_FIXTURES_DOMAIN_NAMES;
|
|
58
|
+
/* prettier-ignore */ const GRIDDO_FIXTURES_SITE_NAMES = process.env.GRIDDO_CX_FIXTURES_SITE_NAMES;
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
GRIDDO_AI_EMBEDDINGS,
|
|
62
|
+
GRIDDO_ALERT_FEATURE,
|
|
63
|
+
GRIDDO_API_CONCURRENCY_COUNT,
|
|
64
|
+
GRIDDO_API_MAX_RESPONSE_SIZE,
|
|
65
|
+
GRIDDO_API_URL,
|
|
66
|
+
GRIDDO_ARCHIVE_LIFECYCLE_MAX_ATTEMPTS,
|
|
67
|
+
GRIDDO_ASSET_PREFIX,
|
|
68
|
+
GRIDDO_BOT_PASSWORD,
|
|
69
|
+
GRIDDO_BOT_USER,
|
|
70
|
+
GRIDDO_BUILD_LOGS,
|
|
71
|
+
GRIDDO_CLEAN_LIFECYCLE_MAX_ATTEMPTS,
|
|
72
|
+
GRIDDO_CLOSE_LIFECYCLE_MAX_ATTEMPTS,
|
|
73
|
+
GRIDDO_DATA_LIFECYCLE_MAX_ATTEMPTS,
|
|
74
|
+
GRIDDO_DEBUG_LOGS,
|
|
75
|
+
GRIDDO_FIXTURES_DOMAIN_NAMES,
|
|
76
|
+
GRIDDO_FIXTURES_SITE_NAMES,
|
|
77
|
+
GRIDDO_INIT_LIFECYCLE_MAX_ATTEMPTS,
|
|
78
|
+
GRIDDO_META_LIFECYCLE_MAX_ATTEMPTS,
|
|
79
|
+
GRIDDO_PREPARE_LIFECYCLE_MAX_ATTEMPTS,
|
|
80
|
+
GRIDDO_PUBLIC_API_URL,
|
|
81
|
+
GRIDDO_REACT_APP_INSTANCE,
|
|
82
|
+
GRIDDO_RELOCATION_LIFECYCLE_MAX_ATTEMPTS,
|
|
83
|
+
GRIDDO_RENDER_ALL_SITES,
|
|
84
|
+
GRIDDO_RENDER_BREAKPOINTS_FEATURE,
|
|
85
|
+
GRIDDO_RENDER_PAGES,
|
|
86
|
+
GRIDDO_RENDER_SITE,
|
|
87
|
+
GRIDDO_RESTORE_LIFECYCLE_MAX_ATTEMPTS,
|
|
88
|
+
GRIDDO_SEARCH_FEATURE,
|
|
89
|
+
GRIDDO_SKIP_BUILD_CHECKS,
|
|
90
|
+
GRIDDO_SSG_LIFECYCLE_MAX_ATTEMPTS,
|
|
91
|
+
GRIDDO_SSG_MAX_PAGE_SIZE,
|
|
92
|
+
GRIDDO_SSG_VERBOSE_LOGS,
|
|
93
|
+
GRIDDO_VERBOSE_LOGS,
|
|
94
|
+
};
|