@griddo/cx 11.7.6-rc.1 → 11.7.6-rc.2
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 +13 -9
- package/build/adapters/gatsby/actions/clean.js.map +1 -1
- package/build/adapters/gatsby/actions/close.js.map +1 -1
- package/build/adapters/gatsby/actions/data.js +3 -3
- package/build/adapters/gatsby/actions/data.js.map +1 -1
- package/build/adapters/gatsby/actions/healthCheck.js.map +1 -1
- package/build/adapters/gatsby/actions/init.js +2 -2
- package/build/adapters/gatsby/actions/init.js.map +1 -1
- package/build/adapters/gatsby/actions/meta.js +2 -2
- package/build/adapters/gatsby/actions/meta.js.map +1 -1
- package/build/adapters/gatsby/actions/prepare.js.map +1 -1
- package/build/adapters/gatsby/actions/relocation.js +2 -2
- package/build/adapters/gatsby/actions/relocation.js.map +1 -1
- package/build/adapters/gatsby/actions/restore.js +4 -4
- package/build/adapters/gatsby/actions/restore.js.map +1 -1
- package/build/adapters/gatsby/actions/ssg.js.map +1 -1
- package/build/adapters/gatsby/actions/sync.js +10 -9
- package/build/adapters/gatsby/actions/sync.js.map +1 -1
- package/build/adapters/gatsby/index.js +10 -6
- package/build/adapters/gatsby/index.js.map +1 -1
- package/build/adapters/gatsby/shared/context.js +8 -2
- package/build/adapters/gatsby/shared/context.js.map +1 -1
- 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 +11 -11
- package/build/adapters/gatsby/shared/extract-assets.js.map +1 -1
- package/build/adapters/gatsby/shared/gatsby-build.js.map +1 -1
- package/build/adapters/gatsby/shared/sync-render.js +162 -158
- package/build/adapters/gatsby/shared/sync-render.js.map +1 -1
- package/build/commands/end-render.js +44 -19
- package/build/commands/end-render.js.map +1 -1
- package/build/commands/prepare-assets-directory.js +4 -4
- package/build/commands/prepare-assets-directory.js.map +1 -1
- package/build/commands/prepare-domains-render.js +14 -19
- package/build/commands/prepare-domains-render.js.map +1 -1
- package/build/commands/reset-render.js +4 -4
- package/build/commands/reset-render.js.map +1 -1
- package/build/commands/start-render.js +20 -10
- package/build/commands/start-render.js.map +1 -1
- package/build/commands/upload-search-content.js +8 -17
- package/build/commands/upload-search-content.js.map +1 -1
- package/build/constants/endpoints.js.map +1 -1
- package/build/constants/envs.js +2 -7
- package/build/constants/envs.js.map +1 -1
- package/build/constants/errors.js +7 -9
- package/build/constants/errors.js.map +1 -1
- package/build/services/auth.js +1 -0
- package/build/services/auth.js.map +1 -1
- package/build/services/db-class.js +49 -0
- package/build/services/db-class.js.map +1 -0
- package/build/services/db.js.map +1 -1
- package/build/services/navigation.js +3 -0
- package/build/services/navigation.js.map +1 -1
- package/build/services/reference-fields.js.map +1 -1
- package/build/services/robots.js +4 -2
- package/build/services/robots.js.map +1 -1
- package/build/services/sites.js.map +1 -1
- package/build/services/store.js +2 -2
- package/build/services/store.js.map +1 -1
- package/build/types/render.js.map +1 -1
- package/build/utils/api.js.map +1 -1
- package/build/utils/artifacts.js +11 -11
- package/build/utils/artifacts.js.map +1 -1
- package/build/utils/brush.js +2 -2
- package/build/utils/brush.js.map +1 -1
- package/build/utils/cache.js +6 -6
- package/build/utils/cache.js.map +1 -1
- package/build/utils/check-health.js.map +1 -1
- package/build/utils/core-utils.js +35 -3
- package/build/utils/core-utils.js.map +1 -1
- package/build/utils/domains.js.map +1 -1
- package/build/utils/errors.js.map +1 -1
- package/build/utils/folders.js +30 -7
- package/build/utils/folders.js.map +1 -1
- package/build/utils/images.js.map +1 -1
- package/build/utils/instance.js.map +1 -1
- package/build/utils/loggin.js +9 -3
- package/build/utils/loggin.js.map +1 -1
- package/build/utils/pages.js.map +1 -1
- package/build/utils/render.js +1 -1
- package/build/utils/render.js.map +1 -1
- package/build/utils/sites.js +20 -19
- package/build/utils/sites.js.map +1 -1
- package/build/utils/store.js +8 -8
- package/build/utils/store.js.map +1 -1
- package/exporter/adapters/gatsby/actions/data.ts +3 -3
- package/exporter/adapters/gatsby/actions/init.ts +2 -2
- package/exporter/adapters/gatsby/actions/meta.ts +2 -2
- package/exporter/adapters/gatsby/actions/relocation.ts +2 -2
- package/exporter/adapters/gatsby/actions/restore.ts +4 -4
- package/exporter/adapters/gatsby/actions/sync.ts +10 -9
- package/exporter/adapters/gatsby/index.ts +13 -8
- package/exporter/adapters/gatsby/shared/diff-assets.ts +113 -0
- package/exporter/adapters/gatsby/shared/extract-assets.ts +11 -11
- package/exporter/adapters/gatsby/shared/sync-render.ts +195 -212
- package/exporter/build.sh +2 -3
- package/exporter/commands/end-render.ts +54 -25
- package/exporter/commands/prepare-assets-directory.ts +4 -4
- package/exporter/commands/prepare-domains-render.ts +15 -20
- package/exporter/commands/reset-render.ts +4 -4
- package/exporter/commands/start-render.ts +19 -11
- package/exporter/commands/upload-search-content.ts +9 -20
- package/exporter/constants/envs.ts +0 -6
- package/exporter/constants/errors.ts +12 -4
- package/exporter/services/db-class.ts +54 -0
- package/exporter/services/robots.ts +2 -2
- package/exporter/services/store.ts +2 -2
- package/exporter/types/global.ts +0 -1
- package/exporter/utils/artifacts.ts +11 -11
- package/exporter/utils/cache.ts +6 -6
- package/exporter/utils/core-utils.ts +46 -4
- package/exporter/utils/folders.ts +30 -7
- package/exporter/utils/loggin.ts +9 -3
- package/exporter/utils/render.ts +3 -1
- package/exporter/utils/sites.ts +18 -17
- package/exporter/utils/store.ts +8 -8
- package/package.json +10 -11
- package/src/gatsby-node-utils.ts +2 -2
- package/tsconfig.json +3 -2
- package/build/exporter/adapters/gatsby/actions/clean.d.ts +0 -3
- package/build/exporter/adapters/gatsby/actions/close.d.ts +0 -3
- package/build/exporter/adapters/gatsby/actions/data.d.ts +0 -2
- package/build/exporter/adapters/gatsby/actions/healthCheck.d.ts +0 -2
- package/build/exporter/adapters/gatsby/actions/init.d.ts +0 -2
- package/build/exporter/adapters/gatsby/actions/meta.d.ts +0 -2
- package/build/exporter/adapters/gatsby/actions/prepare.d.ts +0 -2
- package/build/exporter/adapters/gatsby/actions/relocation.d.ts +0 -2
- package/build/exporter/adapters/gatsby/actions/restore.d.ts +0 -3
- package/build/exporter/adapters/gatsby/actions/ssg.d.ts +0 -3
- package/build/exporter/adapters/gatsby/actions/sync.d.ts +0 -3
- package/build/exporter/adapters/gatsby/index.d.ts +0 -9
- package/build/exporter/adapters/gatsby/shared/context.d.ts +0 -38
- package/build/exporter/adapters/gatsby/shared/extract-assets.d.ts +0 -7
- package/build/exporter/adapters/gatsby/shared/gatsby-build.d.ts +0 -7
- package/build/exporter/adapters/gatsby/shared/sync-render.d.ts +0 -36
- package/build/exporter/adapters/gatsby/shared/types.d.ts +0 -34
- package/build/exporter/commands/end-render.d.ts +0 -2
- package/build/exporter/commands/prepare-assets-directory.d.ts +0 -2
- package/build/exporter/commands/prepare-domains-render.d.ts +0 -2
- package/build/exporter/commands/reset-render.d.ts +0 -2
- package/build/exporter/commands/start-render.d.ts +0 -2
- package/build/exporter/commands/upload-search-content.d.ts +0 -2
- package/build/exporter/constants/endpoints.d.ts +0 -19
- package/build/exporter/constants/envs.d.ts +0 -31
- package/build/exporter/constants/errors.d.ts +0 -24
- package/build/exporter/services/auth.d.ts +0 -10
- package/build/exporter/services/db.d.ts +0 -4
- package/build/exporter/services/navigation.d.ts +0 -50
- package/build/exporter/services/reference-fields.d.ts +0 -20
- package/build/exporter/services/robots.d.ts +0 -13
- package/build/exporter/services/sites.d.ts +0 -32
- package/build/exporter/services/store.d.ts +0 -15
- package/build/exporter/types/api.d.ts +0 -141
- package/build/exporter/types/global.d.ts +0 -84
- package/build/exporter/types/navigation.d.ts +0 -28
- package/build/exporter/types/pages.d.ts +0 -144
- package/build/exporter/types/render.d.ts +0 -50
- package/build/exporter/types/sites.d.ts +0 -56
- package/build/exporter/types/templates.d.ts +0 -8
- package/build/exporter/utils/api.d.ts +0 -23
- package/build/exporter/utils/artifacts.d.ts +0 -6
- package/build/exporter/utils/brush.d.ts +0 -18
- package/build/exporter/utils/cache.d.ts +0 -30
- package/build/exporter/utils/check-health.d.ts +0 -7
- package/build/exporter/utils/core-utils.d.ts +0 -77
- package/build/exporter/utils/domains.d.ts +0 -13
- package/build/exporter/utils/errors.d.ts +0 -15
- package/build/exporter/utils/folders.d.ts +0 -66
- package/build/exporter/utils/images.d.ts +0 -16
- package/build/exporter/utils/instance.d.ts +0 -21
- package/build/exporter/utils/loggin.d.ts +0 -37
- package/build/exporter/utils/pages.d.ts +0 -34
- package/build/exporter/utils/render.d.ts +0 -49
- package/build/exporter/utils/sites.d.ts +0 -31
- package/build/exporter/utils/store.d.ts +0 -53
- package/start-render.js +0 -5
|
@@ -4,204 +4,208 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SyncRender = void 0;
|
|
7
|
-
const
|
|
7
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const errors_1 = require("../../../constants/errors");
|
|
10
|
+
const errors_2 = require("../../../utils/errors");
|
|
11
|
+
const folders_1 = require("../../../utils/folders");
|
|
9
12
|
const loggin_1 = require("../../../utils/loggin");
|
|
13
|
+
const diff_assets_1 = require("./diff-assets");
|
|
10
14
|
class SyncRender {
|
|
15
|
+
bundleDir;
|
|
16
|
+
currentRenderDir;
|
|
17
|
+
pagesToCreate;
|
|
18
|
+
pagesToDelete;
|
|
19
|
+
assetArtifacts;
|
|
20
|
+
state = {
|
|
21
|
+
htmlToAdd: [],
|
|
22
|
+
jsonToAdd: [],
|
|
23
|
+
htmlToDelete: [],
|
|
24
|
+
jsonToDelete: [],
|
|
25
|
+
};
|
|
11
26
|
constructor(config) {
|
|
12
|
-
this.state = {
|
|
13
|
-
htmlToAdd: [],
|
|
14
|
-
jsonToAdd: [],
|
|
15
|
-
htmlToDelete: [],
|
|
16
|
-
jsonToDelete: [],
|
|
17
|
-
};
|
|
18
27
|
this.bundleDir = config.dst;
|
|
19
28
|
this.currentRenderDir = config.src;
|
|
20
29
|
this.pagesToCreate = config.pagesToCreate;
|
|
21
30
|
this.pagesToDelete = config.pagesToDelete;
|
|
22
31
|
this.assetArtifacts = config.artifactsToCopyToExports;
|
|
23
32
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
33
|
+
async execute() {
|
|
34
|
+
await this.setPagesToDelete();
|
|
35
|
+
await this.setPagesToAdd();
|
|
36
|
+
await this.sync();
|
|
37
|
+
await this.assertAssetsAreValid();
|
|
38
|
+
}
|
|
39
|
+
async assertAssetsAreValid() {
|
|
40
|
+
const isDifferent = await (0, diff_assets_1.getAssetsDiffBetweenRenders)(this.currentRenderDir, this.bundleDir);
|
|
41
|
+
console.log("Comparando assets...");
|
|
42
|
+
console.log("-", this.currentRenderDir);
|
|
43
|
+
console.log("-", this.bundleDir);
|
|
44
|
+
if (isDifferent) {
|
|
45
|
+
(0, errors_2.throwError)(errors_1.BundlesInconsistencyError);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async setPagesToDelete() {
|
|
49
|
+
// ¿Por qué se incluyen this.pagesToCreate en las candidatas para borrarse?
|
|
50
|
+
// El set de ids incluye tanto las páginas a borrar como las que se van
|
|
51
|
+
// a crear para manejar correctamente por ejemplo los cambios de slug.
|
|
52
|
+
// Si la página `id=3` tiene slug `slug=about` y despues viene con
|
|
53
|
+
// `slug=about-us` borramos la página `id=3` en el render previo y la
|
|
54
|
+
// volvemos a crear.
|
|
55
|
+
// Resumido lo que pasará es que las páginas que se van a crear se
|
|
56
|
+
// borran previamente por si ha cambiado el slug. Porque el slug hace
|
|
57
|
+
// que se guarden en otro directorio.
|
|
58
|
+
// ¿Qué pasaría si no la borrásemos? que tendríamos las dos páginas
|
|
59
|
+
// `/about/index.html` y `/about-us/index.html`
|
|
60
|
+
const candidateIdsToDelete = new Set([...this.pagesToDelete, ...this.pagesToCreate]);
|
|
61
|
+
const existingPreviousPages = await this.scanPages(this.bundleDir);
|
|
62
|
+
for (const page of existingPreviousPages) {
|
|
63
|
+
if (candidateIdsToDelete.has(page.id)) {
|
|
64
|
+
this.state.htmlToDelete.push(page.htmlPath);
|
|
65
|
+
this.state.jsonToDelete.push(page.jsonPath);
|
|
49
66
|
}
|
|
50
67
|
}
|
|
51
68
|
(0, loggin_1.verboseLog)(`${this.state.htmlToDelete.length} pages HTML to delete`);
|
|
52
69
|
(0, loggin_1.verboseLog)(`${this.state.jsonToDelete.length} pages JSON to delete`);
|
|
53
70
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
// Gatsby crea un directorio `index` para la página raíz `/`
|
|
65
|
-
const normalizedCompose = compose === "/" ? "index" : compose;
|
|
66
|
-
const json = JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(this.currentRenderDir, "page-data", normalizedCompose, "page-data.json"), "utf8"));
|
|
67
|
-
// 2 - sacamos el id
|
|
68
|
-
const id = json.result.pageContext.id;
|
|
69
|
-
// 3 - obtenemos el src y dst del HTML
|
|
70
|
-
const htmlFrom = node_path_1.default.join(this.currentRenderDir, compose, "index.html");
|
|
71
|
-
const htmlTo = node_path_1.default.join(this.bundleDir, compose, "index.html");
|
|
72
|
-
// 4 - obtenemos el src/dst del JSON
|
|
73
|
-
const jsonFrom = node_path_1.default.join(this.currentRenderDir, "page-data", normalizedCompose, "page-data.json");
|
|
74
|
-
const jsonTo = node_path_1.default.join(this.bundleDir, "page-data", normalizedCompose, "page-data.json");
|
|
75
|
-
// Solo actuamos en la página si su id está en pagesToCreate
|
|
76
|
-
if (idSet.has(id)) {
|
|
77
|
-
try {
|
|
78
|
-
this.state.htmlToAdd.push({ from: htmlFrom, to: htmlTo });
|
|
79
|
-
this.state.jsonToAdd.push({ from: jsonFrom, to: jsonTo });
|
|
80
|
-
}
|
|
81
|
-
catch (e) {
|
|
82
|
-
console.log(e);
|
|
83
|
-
}
|
|
71
|
+
async setPagesToAdd() {
|
|
72
|
+
const candidateIdsToCreate = new Set(this.pagesToCreate);
|
|
73
|
+
const newPages = await this.scanPages(this.currentRenderDir);
|
|
74
|
+
for (const page of newPages) {
|
|
75
|
+
if (candidateIdsToCreate.has(page.id)) {
|
|
76
|
+
const htmlTo = node_path_1.default.join(this.bundleDir, page.composePath, "index.html");
|
|
77
|
+
const normalizedCompose = page.composePath === "/" ? "index" : page.composePath;
|
|
78
|
+
const jsonTo = node_path_1.default.join(this.bundleDir, "page-data", normalizedCompose, "page-data.json");
|
|
79
|
+
this.state.htmlToAdd.push({ from: page.htmlPath, to: htmlTo });
|
|
80
|
+
this.state.jsonToAdd.push({ from: page.jsonPath, to: jsonTo });
|
|
84
81
|
}
|
|
85
|
-
(0, loggin_1.verboseLog)(`${this.state.htmlToAdd.length} pages HTML to create`);
|
|
86
|
-
(0, loggin_1.verboseLog)(`${this.state.jsonToAdd.length} pages JSON to create`);
|
|
87
82
|
}
|
|
83
|
+
(0, loggin_1.verboseLog)(`${this.state.htmlToAdd.length} pages HTML to create`);
|
|
84
|
+
(0, loggin_1.verboseLog)(`${this.state.jsonToAdd.length} pages JSON to create`);
|
|
88
85
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
sync() {
|
|
94
|
-
// remove html's
|
|
95
|
-
for (const html of this.state.htmlToDelete) {
|
|
86
|
+
async sync() {
|
|
87
|
+
// Delete...
|
|
88
|
+
const allFilesToDelete = [...this.state.htmlToDelete, ...this.state.jsonToDelete];
|
|
89
|
+
for (const file of allFilesToDelete) {
|
|
96
90
|
try {
|
|
97
|
-
|
|
98
|
-
|
|
91
|
+
// Usar `force: true` para no fallar si el archivo ya no existe.
|
|
92
|
+
await promises_1.default.rm(file, { force: true });
|
|
93
|
+
(0, loggin_1.verboseLog)(`Sync (remove) : ${file}`);
|
|
99
94
|
}
|
|
100
95
|
catch (e) {
|
|
101
|
-
|
|
96
|
+
// El error solo se registraría si es un problema de permisos, etc.
|
|
97
|
+
console.error(`Failed to remove ${file}:`, e);
|
|
102
98
|
}
|
|
103
99
|
}
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
await this.restoreWebpackCompilationHash();
|
|
101
|
+
// Copy...
|
|
102
|
+
const allFilesToAdd = [...this.state.htmlToAdd, ...this.state.jsonToAdd];
|
|
103
|
+
for (const file of allFilesToAdd) {
|
|
106
104
|
try {
|
|
107
|
-
|
|
108
|
-
(
|
|
105
|
+
await promises_1.default.mkdir(node_path_1.default.dirname(file.to), { recursive: true });
|
|
106
|
+
await promises_1.default.copyFile(file.from, file.to);
|
|
107
|
+
(0, loggin_1.verboseLog)(`Sync (copy) : ${file.from} -> ${file.to}`);
|
|
109
108
|
}
|
|
110
109
|
catch (e) {
|
|
111
|
-
console.
|
|
110
|
+
console.error(`Failed to copy ${file.from} to ${file.to}:`, e);
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
|
-
//
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
(0, loggin_1.verboseLog)(`Sync (copy) : ${html.from} -> ${html.to}`);
|
|
119
|
-
}
|
|
120
|
-
// copy json's
|
|
121
|
-
for (const json of this.state.jsonToAdd) {
|
|
122
|
-
node_fs_1.default.mkdirSync(node_path_1.default.dirname(json.to), { recursive: true });
|
|
123
|
-
node_fs_1.default.copyFileSync(json.from, json.to);
|
|
124
|
-
(0, loggin_1.verboseLog)(`Sync (copy) : ${json.from} -> ${json.to}`);
|
|
125
|
-
}
|
|
126
|
-
// update app-data.json (update the webpackCompilationHash)
|
|
127
|
-
this.copyAppDataJsonFile();
|
|
128
|
-
// copy artifacts
|
|
129
|
-
this.copyDirs();
|
|
130
|
-
// copy sitemaps
|
|
131
|
-
this.copySitemaps();
|
|
113
|
+
// AVOID TO RESTORE webpackCompilationHash
|
|
114
|
+
// await this.copyAppDataJsonFile();
|
|
115
|
+
await this.copyAssetArtifacts();
|
|
116
|
+
await this.copySitemaps();
|
|
132
117
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
let results = [];
|
|
141
|
-
if (!node_fs_1.default.existsSync(dir)) {
|
|
142
|
-
return [];
|
|
143
|
-
}
|
|
144
|
-
const list = node_fs_1.default.readdirSync(dir, { withFileTypes: true });
|
|
145
|
-
for (const item of list) {
|
|
146
|
-
const fullPath = node_path_1.default.join(dir, item.name);
|
|
147
|
-
if (item.isDirectory()) {
|
|
148
|
-
results = results.concat(this.findFilesByExtension(fullPath, extension));
|
|
149
|
-
}
|
|
150
|
-
else if (item.isFile() && fullPath.endsWith(extension)) {
|
|
151
|
-
results.push(fullPath);
|
|
152
|
-
}
|
|
118
|
+
async restoreWebpackCompilationHash() {
|
|
119
|
+
const appDataJson = node_path_1.default.join(this.bundleDir, "page-data", "app-data.json");
|
|
120
|
+
const webpackCompilationHash = JSON.parse(await promises_1.default.readFile(appDataJson, "utf8")).webpackCompilationHash;
|
|
121
|
+
console.log("Leyendo el webpackCompilationHash desde", appDataJson, "=", webpackCompilationHash);
|
|
122
|
+
const changedHtmlFilePaths = this.state.htmlToAdd.map(({ from }) => from);
|
|
123
|
+
for (const htmlFilePath of changedHtmlFilePaths) {
|
|
124
|
+
await (0, diff_assets_1.patchHtmlFile)(htmlFilePath, webpackCompilationHash);
|
|
153
125
|
}
|
|
154
|
-
return results;
|
|
155
|
-
}
|
|
156
|
-
findAllPageDataJsons(dir) {
|
|
157
|
-
return this.findFilesByExtension(dir, ".json").filter((n) => n.endsWith("page-data.json"));
|
|
158
|
-
}
|
|
159
|
-
getPageComposePaths(src) {
|
|
160
|
-
// [page-data/foo/bar/page-data.json, ...]
|
|
161
|
-
const allPageDataJson = this.findAllPageDataJsons(src);
|
|
162
|
-
// Array de fullPaths
|
|
163
|
-
// Entre ellos un fullPath puede ser: "/" (El root de la instancia)
|
|
164
|
-
// No sé si hacer esto en este momento...
|
|
165
|
-
// fullPath: "/foo/bar" => "foo/bar"
|
|
166
|
-
// fullPath: "/" => "index"
|
|
167
|
-
return allPageDataJson.map((p) => JSON.parse(node_fs_1.default.readFileSync(p, "utf-8")).result.pageContext.fullPath.compose);
|
|
168
|
-
}
|
|
169
|
-
copyAppDataJsonFile() {
|
|
170
|
-
node_fs_1.default.copyFileSync(node_path_1.default.join(this.currentRenderDir, "page-data", "app-data.json"), node_path_1.default.join(this.bundleDir, "page-data", "app-data.json"));
|
|
171
|
-
(0, loggin_1.verboseLog)("Copied app-data.json");
|
|
172
126
|
}
|
|
173
|
-
|
|
127
|
+
// private async copyAppDataJsonFile() {
|
|
128
|
+
// try {
|
|
129
|
+
// const src = path.join(this.currentRenderDir, "page-data", "app-data.json");
|
|
130
|
+
// const dst = path.join(this.bundleDir, "page-data", "app-data.json");
|
|
131
|
+
// await fsp.copyFile(src, dst);
|
|
132
|
+
// verboseLog("Copied app-data.json");
|
|
133
|
+
// } catch (e) {
|
|
134
|
+
// console.error("Failed to copy app-data.json:", e);
|
|
135
|
+
// }
|
|
136
|
+
// }
|
|
137
|
+
async copyAssetArtifacts() {
|
|
174
138
|
for (const assetArtifact of this.assetArtifacts) {
|
|
175
|
-
|
|
176
|
-
|
|
139
|
+
const src = node_path_1.default.join(this.currentRenderDir, assetArtifact);
|
|
140
|
+
const dst = node_path_1.default.join(this.bundleDir, assetArtifact);
|
|
141
|
+
try {
|
|
142
|
+
await promises_1.default.mkdir(node_path_1.default.dirname(dst), { recursive: true });
|
|
143
|
+
await promises_1.default.copyFile(src, dst);
|
|
144
|
+
(0, loggin_1.verboseLog)(`Copied artifact: ${assetArtifact}`);
|
|
145
|
+
}
|
|
146
|
+
catch (e) {
|
|
147
|
+
console.error(`Failed to copy artifact ${src} to ${dst}:`, e);
|
|
148
|
+
}
|
|
177
149
|
}
|
|
178
150
|
}
|
|
179
|
-
copySitemaps() {
|
|
180
|
-
/*
|
|
181
|
-
1. buscar directorios que tengan como hijo un `sitemap.xml`
|
|
182
|
-
2. copiar todos los sitemap.xml y sitemap-* a /exports/sites/<domain>/<site>/ borrando previamente los .xmls que existan
|
|
183
|
-
*/
|
|
151
|
+
async copySitemaps() {
|
|
184
152
|
const renderSrc = node_path_1.default.resolve(this.currentRenderDir);
|
|
185
153
|
const renderDst = node_path_1.default.resolve(this.bundleDir);
|
|
186
|
-
|
|
187
|
-
const xmlFilesInDst =
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
node_path_1.default.basename(xmlFile) === "sitemap.xml") {
|
|
193
|
-
node_fs_1.default.rmSync(xmlFile, { force: true });
|
|
154
|
+
// Primero, elimina los sitemaps existentes en el destino
|
|
155
|
+
const xmlFilesInDst = (0, folders_1.findFilesBySuffix)(renderDst, ".xml");
|
|
156
|
+
for await (const xmlFile of xmlFilesInDst) {
|
|
157
|
+
const basename = node_path_1.default.basename(xmlFile);
|
|
158
|
+
if (basename.startsWith("sitemap-") || basename === "sitemap.xml") {
|
|
159
|
+
await promises_1.default.rm(xmlFile, { force: true });
|
|
194
160
|
}
|
|
195
161
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
162
|
+
// Segundo, copia los nuevos sitemaps desde el origen
|
|
163
|
+
const xmlFilesInSrc = (0, folders_1.findFilesBySuffix)(renderSrc, ".xml");
|
|
164
|
+
for await (const src of xmlFilesInSrc) {
|
|
165
|
+
// Reconstruye la ruta de destino de forma más robusta
|
|
166
|
+
const relativePath = node_path_1.default.relative(renderSrc, src);
|
|
167
|
+
const dst = node_path_1.default.join(renderDst, relativePath);
|
|
168
|
+
try {
|
|
169
|
+
await promises_1.default.mkdir(node_path_1.default.dirname(dst), { recursive: true });
|
|
170
|
+
await promises_1.default.copyFile(src, dst);
|
|
171
|
+
}
|
|
172
|
+
catch (e) {
|
|
173
|
+
console.error(`Failed to copy sitemap ${src} to ${dst}:`, e);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
(0, loggin_1.verboseLog)(`Copied sitemap files.`);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Escanea un directorio de build de Gatsby y extrae la información esencial de cada página.
|
|
180
|
+
* Lee cada page-data.json una sola vez para optimizar el rendimiento.
|
|
181
|
+
* @param dir Directorio a escanear (src o dst).
|
|
182
|
+
* @returns Un array con la información de cada página encontrada.
|
|
183
|
+
*/
|
|
184
|
+
async scanPages(dir) {
|
|
185
|
+
// Array de paths de page-data.json
|
|
186
|
+
const gatsbyPageDataFiles = (0, folders_1.findFilesBySuffix)(node_path_1.default.join(dir, "page-data"), "page-data.json");
|
|
187
|
+
const pagesFound = [];
|
|
188
|
+
for await (const jsonFile of gatsbyPageDataFiles) {
|
|
189
|
+
try {
|
|
190
|
+
const content = JSON.parse(await promises_1.default.readFile(jsonFile, "utf-8"));
|
|
191
|
+
const id = content.result.pageContext.id;
|
|
192
|
+
const composePath = content.result.pageContext.fullPath.compose;
|
|
193
|
+
// Esto es necesario porque Gatsby convierte la ruta "/" en un
|
|
194
|
+
// directorio llamado "index" en lo que archivos page-data.json
|
|
195
|
+
// se refiere.
|
|
196
|
+
const normalizedCompose = composePath === "/" ? "index" : composePath;
|
|
197
|
+
pagesFound.push({
|
|
198
|
+
id,
|
|
199
|
+
composePath,
|
|
200
|
+
htmlPath: node_path_1.default.join(dir, composePath, "index.html"),
|
|
201
|
+
jsonPath: node_path_1.default.join(dir, "page-data", normalizedCompose, "page-data.json"),
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
catch (e) {
|
|
205
|
+
console.error(`Error reading or parsing page data from ${jsonFile}:`, e);
|
|
202
206
|
}
|
|
203
|
-
node_fs_1.default.copyFileSync(src, dst);
|
|
204
207
|
}
|
|
208
|
+
return pagesFound;
|
|
205
209
|
}
|
|
206
210
|
}
|
|
207
211
|
exports.SyncRender = SyncRender;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-render.js","sourceRoot":"","sources":["../../../../exporter/adapters/gatsby/shared/sync-render.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"sync-render.js","sourceRoot":"","sources":["../../../../exporter/adapters/gatsby/shared/sync-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,12 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
9
9
|
const errors_1 = require("../constants/errors");
|
|
10
10
|
const auth_1 = require("../services/auth");
|
|
11
11
|
const sites_1 = require("../services/sites");
|
|
12
|
-
const
|
|
12
|
+
const domains_1 = require("../utils/domains");
|
|
13
13
|
const errors_2 = require("../utils/errors");
|
|
14
14
|
const folders_1 = require("../utils/folders");
|
|
15
15
|
const loggin_1 = require("../utils/loggin");
|
|
16
16
|
const render_1 = require("../utils/render");
|
|
17
|
+
const renderByDomains = !!process.env.GRIDDO_RENDER_BY_DOMAINS;
|
|
17
18
|
async function getRenderReport(options) {
|
|
18
19
|
const { buildReportFileName, domain, exportsSiteDir: exportArchiveBasePath } = options;
|
|
19
20
|
const buildReportFile = node_path_1.default.resolve(exportArchiveBasePath, domain, "dist", buildReportFileName);
|
|
@@ -31,30 +32,54 @@ const sendEndSiteRender = async (report) => {
|
|
|
31
32
|
await (0, sites_1.endSiteRender)(siteId, body);
|
|
32
33
|
}
|
|
33
34
|
};
|
|
34
|
-
async function
|
|
35
|
+
async function endRender() {
|
|
35
36
|
const { buildReportFileName } = await (0, render_1.getRenderMetadataFromDB)();
|
|
36
37
|
const { __sites } = await (0, render_1.getRenderPathsFromDB)();
|
|
37
|
-
const [domain] = process.argv.slice(2);
|
|
38
|
-
const { renderMode } = await (0, render_1.getRenderMode)(domain);
|
|
39
|
-
if (renderMode === "IDLE") {
|
|
40
|
-
(0, loggin_1.infoLog)(`Skipping build-end for domain ${domain} as it is marked as IDLE.`);
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
38
|
await auth_1.AuthService.login();
|
|
44
|
-
|
|
45
|
-
domain
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
39
|
+
if (renderByDomains) {
|
|
40
|
+
const [domain] = process.argv.slice(2);
|
|
41
|
+
const { renderMode } = await (0, render_1.getRenderMode)(domain);
|
|
42
|
+
if (renderMode === "IDLE") {
|
|
43
|
+
(0, loggin_1.infoLog)(`Skipping build-end for domain ${domain} as it is marked as IDLE.`);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const report = await getRenderReport({
|
|
47
|
+
domain,
|
|
48
|
+
exportsSiteDir: __sites,
|
|
49
|
+
buildReportFileName,
|
|
50
|
+
});
|
|
51
|
+
(0, loggin_1.infoLog)(`Sending ending call to ${domain} sites`);
|
|
52
|
+
for (const site of report.sites) {
|
|
53
|
+
site.publishHashes = [...new Set(site.publishHashes)];
|
|
54
|
+
site.unpublishHashes = [...new Set(site.unpublishHashes)];
|
|
55
|
+
}
|
|
56
|
+
await sendEndSiteRender(report);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
console.log("- LEGACY RENDER MODE -");
|
|
60
|
+
const domains = await (0, domains_1.getInstanceDomains)();
|
|
61
|
+
for (const domain of domains) {
|
|
62
|
+
const { renderMode } = await (0, render_1.getRenderMode)(domain);
|
|
63
|
+
if (renderMode === "IDLE") {
|
|
64
|
+
(0, loggin_1.infoLog)(`Skipping build-end for domain ${domain} as it is marked as IDLE.`);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const report = await getRenderReport({
|
|
68
|
+
domain,
|
|
69
|
+
exportsSiteDir: __sites,
|
|
70
|
+
buildReportFileName,
|
|
71
|
+
});
|
|
72
|
+
(0, loggin_1.infoLog)(`Sending ending call to ${domain} sites`);
|
|
73
|
+
for (const site of report.sites) {
|
|
74
|
+
site.publishHashes = [...new Set(site.publishHashes)];
|
|
75
|
+
site.unpublishHashes = [...new Set(site.unpublishHashes)];
|
|
76
|
+
}
|
|
77
|
+
await sendEndSiteRender(report);
|
|
78
|
+
}
|
|
53
79
|
}
|
|
54
|
-
await sendEndSiteRender(report);
|
|
55
80
|
}
|
|
56
81
|
async function main() {
|
|
57
|
-
await (
|
|
82
|
+
await endRender();
|
|
58
83
|
}
|
|
59
84
|
main().catch((err) => {
|
|
60
85
|
console.error("Error", err?.stdout?.toString() || err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"end-render.js","sourceRoot":"","sources":["../../exporter/commands/end-render.ts"],"names":[],"mappings":";;;;;;AAIA,gEAAmC;AACnC,0DAA6B;AAE7B,gDAAoD;AACpD,2CAA+C;AAC/C,6CAAkD;AAClD,
|
|
1
|
+
{"version":3,"file":"end-render.js","sourceRoot":"","sources":["../../exporter/commands/end-render.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const node_child_process_1 = __importDefault(require("node:child_process"));
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
-
const core_utils_1 = require("../utils/core-utils");
|
|
10
9
|
const folders_1 = require("../utils/folders");
|
|
10
|
+
const loggin_1 = require("../utils/loggin");
|
|
11
11
|
const render_1 = require("../utils/render");
|
|
12
|
-
async function
|
|
12
|
+
async function prepareAssetsDir() {
|
|
13
13
|
const [domain] = process.argv.slice(2);
|
|
14
14
|
const { __exports } = await (0, render_1.getRenderPathsFromDB)({ domain });
|
|
15
15
|
const assetsDir = node_path_1.default.join(__exports, "assets");
|
|
@@ -19,11 +19,11 @@ async function prepareAssetsAction() {
|
|
|
19
19
|
node_child_process_1.default.execSync(`mv ${assetsDir} ${domainAssetsDir}`);
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
|
-
|
|
22
|
+
(0, loggin_1.localLog)("Assets directory not found");
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
async function main() {
|
|
26
|
-
await (
|
|
26
|
+
await prepareAssetsDir();
|
|
27
27
|
}
|
|
28
28
|
main().catch((err) => {
|
|
29
29
|
console.error("Error", err?.stdout?.toString() || err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-assets-directory.js","sourceRoot":"","sources":["../../exporter/commands/prepare-assets-directory.ts"],"names":[],"mappings":";;;;;;AAEA,4EAA8C;AAC9C,0DAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"prepare-assets-directory.js","sourceRoot":"","sources":["../../exporter/commands/prepare-assets-directory.ts"],"names":[],"mappings":";;;;;;AAEA,4EAA8C;AAC9C,0DAA6B;AAE7B,8CAA8C;AAC9C,4CAA2C;AAC3C,4CAAuD;AAEvD,KAAK,UAAU,gBAAgB,GAAG;IACjC,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,6BAAoB,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAErD,IAAI,MAAM,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;QACjC,4BAAY,CAAC,QAAQ,CAAC,UAAU,eAAe,EAAE,CAAC,CAAC;QACnD,4BAAY,CAAC,QAAQ,CAAC,MAAM,SAAS,IAAI,eAAe,EAAE,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACP,IAAA,iBAAQ,EAAC,4BAA4B,CAAC,CAAC;IACxC,CAAC;AAAA,CACD;AAED,KAAK,UAAU,IAAI,GAAG;IACrB,MAAM,gBAAgB,EAAE,CAAC;AAAA,CACzB;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACrB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAAA,CAChB,CAAC,CAAC"}
|