@griddo/cx 11.7.6-rc.0 → 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/gatsby-node.ts +22 -25
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../exporter/utils/render.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../exporter/utils/render.ts"],"names":[],"mappings":"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"}
|
package/build/utils/sites.js
CHANGED
|
@@ -10,7 +10,7 @@ exports.getSitesToRender = getSitesToRender;
|
|
|
10
10
|
exports.unpublishSites = unpublishSites;
|
|
11
11
|
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
12
12
|
const node_path_1 = __importDefault(require("node:path"));
|
|
13
|
-
const
|
|
13
|
+
const xmlbuilder2_1 = require("xmlbuilder2");
|
|
14
14
|
const envs_1 = require("../constants/envs");
|
|
15
15
|
const auth_1 = require("../services/auth");
|
|
16
16
|
const sites_1 = require("../services/sites");
|
|
@@ -60,7 +60,7 @@ async function getSitesToRender(domain) {
|
|
|
60
60
|
* @see https://griddoio.notion.site/Sites-d7bb0b7cb8d24894a5337e1139fc3d09#2019d3255bda4d219c7e19cf28d0c4fe
|
|
61
61
|
*/
|
|
62
62
|
async function unpublishSites(sites) {
|
|
63
|
-
const {
|
|
63
|
+
const { __root } = await (0, render_1.getRenderPathsFromDB)();
|
|
64
64
|
for (const site of sites) {
|
|
65
65
|
// API
|
|
66
66
|
const buildInfo = await (0, sites_1.startSiteRender)(site.id);
|
|
@@ -75,7 +75,7 @@ async function unpublishSites(sites) {
|
|
|
75
75
|
// STORE
|
|
76
76
|
// Remove site directory from the Store
|
|
77
77
|
// @todo: quitar. Como ya no hay persistenci de store, esto debería eliminarse de forma segura.
|
|
78
|
-
await promises_1.default.rm(node_path_1.default.join(
|
|
78
|
+
await promises_1.default.rm(node_path_1.default.join(__root, "store", site.id.toString()), {
|
|
79
79
|
force: true,
|
|
80
80
|
recursive: true,
|
|
81
81
|
});
|
|
@@ -117,7 +117,7 @@ async function getSiteData(siteID) {
|
|
|
117
117
|
*/
|
|
118
118
|
async function generateBuildReport(domain) {
|
|
119
119
|
const authControl = await auth_1.AuthService.login();
|
|
120
|
-
const {
|
|
120
|
+
const { __root } = await (0, render_1.getRenderPathsFromDB)();
|
|
121
121
|
const { buildReportFileName } = await (0, render_1.getRenderMetadataFromDB)();
|
|
122
122
|
const { buildProcessData } = await (0, store_1.getBuildMetadata)(domain);
|
|
123
123
|
const buildSitesInfo = Object.keys(buildProcessData).map((siteID) => ({
|
|
@@ -128,7 +128,7 @@ async function generateBuildReport(domain) {
|
|
|
128
128
|
authControl,
|
|
129
129
|
sites: buildSitesInfo,
|
|
130
130
|
};
|
|
131
|
-
const reportFilePath = node_path_1.default.join(
|
|
131
|
+
const reportFilePath = node_path_1.default.join(__root, "dist", buildReportFileName);
|
|
132
132
|
await promises_1.default.writeFile(reportFilePath, JSON.stringify(report));
|
|
133
133
|
(0, loggin_1.verboseLog)(`build report saved in ${reportFilePath}`);
|
|
134
134
|
}
|
|
@@ -136,9 +136,9 @@ async function generateBuildReport(domain) {
|
|
|
136
136
|
* Generate sitemaps and save them into file system.
|
|
137
137
|
*/
|
|
138
138
|
async function generateSitemaps(domain) {
|
|
139
|
-
const {
|
|
139
|
+
const { __root } = await (0, render_1.getRenderPathsFromDB)();
|
|
140
140
|
const { sitesToPublish } = await (0, store_1.getBuildMetadata)(domain);
|
|
141
|
-
const distDir = node_path_1.default.join(
|
|
141
|
+
const distDir = node_path_1.default.join(__root, "dist");
|
|
142
142
|
const templateSitemapPrefix = "sitemap-";
|
|
143
143
|
const isGriddoSitemapFile = (file) => file === "sitemap.xml" || (file.startsWith(templateSitemapPrefix) && file.endsWith(".xml"));
|
|
144
144
|
for (const site of sitesToPublish) {
|
|
@@ -191,14 +191,15 @@ async function generateSitemaps(domain) {
|
|
|
191
191
|
if (!sitemapPages.length) {
|
|
192
192
|
continue;
|
|
193
193
|
}
|
|
194
|
-
const siteMap = (0,
|
|
195
|
-
"
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
194
|
+
const siteMap = (0, xmlbuilder2_1.create)({ version: "1.0", encoding: "UTF-8" })
|
|
195
|
+
.ele("urlset", {
|
|
196
|
+
xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9",
|
|
197
|
+
"xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
|
|
198
|
+
"xsi:schemaLocation": "http://www.sitemaps.org/schemas/sitemap/0.9 " +
|
|
199
|
+
"http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd",
|
|
200
|
+
})
|
|
201
|
+
.ele(sitemapPages.map((page) => ({ url: page })))
|
|
202
|
+
.end({ prettyPrint: true });
|
|
202
203
|
const sitemapName = `/${templateSitemapPrefix}${templateId.toLowerCase()}.xml`;
|
|
203
204
|
const exactPath = node_path_1.default.join(sitemapBasePath, sitemapName);
|
|
204
205
|
await saveFile(exactPath, siteMap);
|
|
@@ -207,10 +208,10 @@ async function generateSitemaps(domain) {
|
|
|
207
208
|
if (!sitemaps.length) {
|
|
208
209
|
continue;
|
|
209
210
|
}
|
|
210
|
-
const siteMap = (0,
|
|
211
|
-
"
|
|
212
|
-
|
|
213
|
-
|
|
211
|
+
const siteMap = (0, xmlbuilder2_1.create)({ version: "1.0", encoding: "UTF-8" })
|
|
212
|
+
.ele("sitemapindex", { xmlns: "http://www.sitemaps.org/schemas/sitemap/0.9" })
|
|
213
|
+
.ele(sitemaps.map((loc) => ({ sitemap: { loc } })))
|
|
214
|
+
.end({ prettyPrint: true });
|
|
214
215
|
const exactPath = node_path_1.default.join(sitemapBasePath, "sitemap.xml");
|
|
215
216
|
await saveFile(exactPath, siteMap);
|
|
216
217
|
(0, loggin_1.verboseLog)(`sitemap generated in ${exactPath}`);
|
package/build/utils/sites.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../exporter/utils/sites.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"sites.js","sourceRoot":"","sources":["../../exporter/utils/sites.ts"],"names":[],"mappings":"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"}
|
package/build/utils/store.js
CHANGED
|
@@ -89,12 +89,12 @@ async function getPageInStoreDir(basePath) {
|
|
|
89
89
|
* @param pages - An array of Griddo page objects to be saved.
|
|
90
90
|
*/
|
|
91
91
|
async function saveSitePagesInStore(siteDirName, pages) {
|
|
92
|
-
const {
|
|
92
|
+
const { __root } = await (0, render_1.getRenderPathsFromDB)();
|
|
93
93
|
try {
|
|
94
94
|
for (const page of pages) {
|
|
95
95
|
(0, core_utils_1.removeProperties)(page, ["editorID", "parentEditorID"]);
|
|
96
96
|
const filename = `${page.context.page.id}.json`;
|
|
97
|
-
const filePath = node_path_1.default.join(
|
|
97
|
+
const filePath = node_path_1.default.join(__root, "store", siteDirName, filename);
|
|
98
98
|
// En los listados estáticos y multipage los ids de las páginas son iguales
|
|
99
99
|
await writeUniqueFileSync(filePath, JSON.stringify(page));
|
|
100
100
|
}
|
|
@@ -115,10 +115,10 @@ async function saveSitePagesInStore(siteDirName, pages) {
|
|
|
115
115
|
* @param pageIdsArray - A two-dimensional array where each inner array contains numbers representing page files to be removed.
|
|
116
116
|
*/
|
|
117
117
|
async function removeSitePagesFromStore(siteDirName, pageIdsArray) {
|
|
118
|
-
const {
|
|
118
|
+
const { __root } = await (0, render_1.getRenderPathsFromDB)();
|
|
119
119
|
const processPageIdsArray = async (pageIds) => {
|
|
120
120
|
for (const filename of pageIds) {
|
|
121
|
-
const filePath = node_path_1.default.join(
|
|
121
|
+
const filePath = node_path_1.default.join(__root, "store", siteDirName, `${filename}.json`);
|
|
122
122
|
try {
|
|
123
123
|
if (await (0, folders_1.pathExists)(filePath)) {
|
|
124
124
|
await promises_1.default.unlink(filePath);
|
|
@@ -141,8 +141,8 @@ async function removeSitePagesFromStore(siteDirName, pageIdsArray) {
|
|
|
141
141
|
* be marked as `sitesToUnpublish` so they must be removed manually.
|
|
142
142
|
*/
|
|
143
143
|
async function removeOrphanSites(sitesToPublish, domain) {
|
|
144
|
-
const {
|
|
145
|
-
const storePath = node_path_1.default.join(
|
|
144
|
+
const { __root } = await (0, render_1.getRenderPathsFromDB)({ domain });
|
|
145
|
+
const storePath = node_path_1.default.join(__root, "store");
|
|
146
146
|
if (!(await (0, folders_1.pathExists)(storePath))) {
|
|
147
147
|
return;
|
|
148
148
|
}
|
|
@@ -158,8 +158,8 @@ async function removeOrphanSites(sitesToPublish, domain) {
|
|
|
158
158
|
* Get pages that are not active anymore but are in the store.
|
|
159
159
|
*/
|
|
160
160
|
async function getZombiePagesInStore(siteDir, activePages) {
|
|
161
|
-
const {
|
|
162
|
-
const storeDir = node_path_1.default.join(
|
|
161
|
+
const { __root } = await (0, render_1.getRenderPathsFromDB)();
|
|
162
|
+
const storeDir = node_path_1.default.join(__root, "store", siteDir);
|
|
163
163
|
const sitePages = await promises_1.default.readdir(storeDir);
|
|
164
164
|
const zombiePages = [];
|
|
165
165
|
for (const pageFileName of sitePages) {
|
package/build/utils/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../exporter/utils/store.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../exporter/utils/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,16 +8,16 @@ export async function dataAction(context: RenderContext) {
|
|
|
8
8
|
domain,
|
|
9
9
|
renderMode,
|
|
10
10
|
renderMetadata: { griddoVersion },
|
|
11
|
-
paths: {
|
|
11
|
+
paths: { __root },
|
|
12
12
|
} = context;
|
|
13
13
|
|
|
14
|
-
await createAPICacheDir({ basePath:
|
|
14
|
+
await createAPICacheDir({ basePath: __root });
|
|
15
15
|
|
|
16
16
|
const { pagesToCreate, pagesToDelete } = await createStore({
|
|
17
17
|
domain,
|
|
18
18
|
renderMode,
|
|
19
19
|
griddoVersion,
|
|
20
|
-
basePath:
|
|
20
|
+
basePath: __root,
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
context.pagesToCreate = pagesToCreate;
|
|
@@ -5,8 +5,8 @@ import { markRenderAsStarted } from "../../../utils/render";
|
|
|
5
5
|
export async function initAction(context: RenderContext) {
|
|
6
6
|
const {
|
|
7
7
|
domain,
|
|
8
|
-
paths: {
|
|
8
|
+
paths: { __root },
|
|
9
9
|
} = context;
|
|
10
10
|
|
|
11
|
-
await markRenderAsStarted({ basePath:
|
|
11
|
+
await markRenderAsStarted({ basePath: __root, domain });
|
|
12
12
|
}
|
|
@@ -7,12 +7,12 @@ import { generateBuildReport, generateSitemaps } from "../../../utils/sites";
|
|
|
7
7
|
export async function metaAction(context: RenderContext) {
|
|
8
8
|
const {
|
|
9
9
|
domain,
|
|
10
|
-
paths: {
|
|
10
|
+
paths: { __root },
|
|
11
11
|
} = context;
|
|
12
12
|
|
|
13
13
|
await generateBuildReport(domain);
|
|
14
14
|
await generateSitemaps(domain);
|
|
15
15
|
await RobotsService.writeFiles(domain);
|
|
16
16
|
|
|
17
|
-
await saveBuildEndLogs({ basePath:
|
|
17
|
+
await saveBuildEndLogs({ basePath: __root, domain });
|
|
18
18
|
}
|
|
@@ -5,11 +5,11 @@ import path from "node:path";
|
|
|
5
5
|
|
|
6
6
|
export async function relocationAction(context: RenderContext) {
|
|
7
7
|
const {
|
|
8
|
-
paths: {
|
|
8
|
+
paths: { __root, __ssg },
|
|
9
9
|
} = context;
|
|
10
10
|
|
|
11
11
|
const src = path.join(__ssg, "public");
|
|
12
|
-
const dst = path.join(
|
|
12
|
+
const dst = path.join(__root, "dist");
|
|
13
13
|
|
|
14
14
|
await fsp.rename(src, dst);
|
|
15
15
|
}
|
|
@@ -11,7 +11,7 @@ export async function restoreAction(context: RenderContext<SSG>) {
|
|
|
11
11
|
renderMode,
|
|
12
12
|
ssg: { ssgArtifacts },
|
|
13
13
|
cxArtifacts,
|
|
14
|
-
paths: { __components,
|
|
14
|
+
paths: { __components, __root, __cache, __exports, __ssg },
|
|
15
15
|
} = context;
|
|
16
16
|
|
|
17
17
|
await copyDirs(__components, __ssg, ["static"]);
|
|
@@ -29,8 +29,8 @@ export async function restoreAction(context: RenderContext<SSG>) {
|
|
|
29
29
|
|
|
30
30
|
if (renderMode === RENDER_MODE.INCREMENTAL) {
|
|
31
31
|
await moveDirs(__cache, __ssg, ssgArtifacts.cacheables);
|
|
32
|
-
await moveDirs(__cache,
|
|
33
|
-
await copyDirs(__exports,
|
|
34
|
-
await renamePath(path.join(
|
|
32
|
+
await moveDirs(__cache, __root, cxArtifacts.cacheables);
|
|
33
|
+
await copyDirs(__exports, __root, cxArtifacts.restaurable);
|
|
34
|
+
await renamePath(path.join(__root, "dist"), path.join(__root, "dist-restored"));
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -21,18 +21,19 @@ export async function syncAction(context: RenderContext<SSG>) {
|
|
|
21
21
|
domain,
|
|
22
22
|
pagesToCreate,
|
|
23
23
|
pagesToDelete,
|
|
24
|
-
paths: {
|
|
24
|
+
paths: { __root, __ssg, __cache, __exports },
|
|
25
25
|
ssg: { ssgArtifacts, assetPrefix },
|
|
26
26
|
} = context;
|
|
27
27
|
|
|
28
28
|
const needsAssetPrefix = !!assetPrefix && assetPrefix !== "";
|
|
29
|
-
const distDir = path.join(
|
|
30
|
-
const distRestoredDir = path.join(
|
|
31
|
-
const storeDir = path.join(
|
|
29
|
+
const distDir = path.join(__root, "dist");
|
|
30
|
+
const distRestoredDir = path.join(__root, "dist-restored");
|
|
31
|
+
const storeDir = path.join(__root, "store");
|
|
32
32
|
|
|
33
|
+
// ESTO YA NO TIENE SENTIDO??? EL STORE???
|
|
33
34
|
await removeVirtualPages(storeDir);
|
|
34
35
|
// caching...
|
|
35
|
-
await moveDirs(
|
|
36
|
+
await moveDirs(__root, __cache, cxArtifacts.cacheables);
|
|
36
37
|
await moveDirs(__ssg, __cache, ssgArtifacts.cacheables);
|
|
37
38
|
|
|
38
39
|
if (renderMode === RENDER_MODE.FROM_SCRATCH) {
|
|
@@ -50,11 +51,11 @@ export async function syncAction(context: RenderContext<SSG>) {
|
|
|
50
51
|
artifactsToCopyToExports: ["build-report.json"],
|
|
51
52
|
});
|
|
52
53
|
|
|
53
|
-
syncRender.
|
|
54
|
-
syncRender.setPagesToAdd();
|
|
55
|
-
syncRender.sync();
|
|
54
|
+
await syncRender.execute();
|
|
56
55
|
|
|
56
|
+
// elimina el dist recién creado, ya no hace falta porque lo hemos utilizado en syncRender.execute()
|
|
57
57
|
await fsp.rm(distDir, { force: true, recursive: true });
|
|
58
|
+
// renombra el nuevo dist-temporal que es el que aglutina todos los cambios -> dist
|
|
58
59
|
await fsp.rename(distRestoredDir, distDir);
|
|
59
60
|
await deleteEmptyDirectories(distDir);
|
|
60
61
|
}
|
|
@@ -64,7 +65,7 @@ export async function syncAction(context: RenderContext<SSG>) {
|
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
// archiving...
|
|
67
|
-
await moveDirs(
|
|
68
|
+
await moveDirs(__root, __exports, cxArtifacts.archivables, {
|
|
68
69
|
withBackup: true,
|
|
69
70
|
});
|
|
70
71
|
}
|
|
@@ -5,6 +5,7 @@ import path from "node:path";
|
|
|
5
5
|
import { GRIDDO_ASSET_PREFIX } from "../../constants/envs";
|
|
6
6
|
import { getCxArtifacts } from "../../utils/artifacts";
|
|
7
7
|
import { doLifeCycle } from "../../utils/core-utils";
|
|
8
|
+
import { pathExists } from "../../utils/folders";
|
|
8
9
|
import { infoLog } from "../../utils/loggin";
|
|
9
10
|
import { getRenderMetadataFromDB, getRenderMode, getRenderPathsFromDB } from "../../utils/render";
|
|
10
11
|
import { cleanAction } from "./actions/clean";
|
|
@@ -31,13 +32,6 @@ import { RenderContext } from "./shared/context";
|
|
|
31
32
|
export async function gatsbyRenderDomain(domain: string) {
|
|
32
33
|
const { renderMode, reason } = await getRenderMode(domain);
|
|
33
34
|
|
|
34
|
-
if (renderMode === "IDLE") {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const renderReason = reason ? `<${reason}>` : "";
|
|
39
|
-
infoLog(`Init render (${renderMode}) ${renderReason} for domain ${domain}\n`);
|
|
40
|
-
|
|
41
35
|
const renderMetadata = await getRenderMetadataFromDB();
|
|
42
36
|
const paths = await getRenderPathsFromDB({ domain });
|
|
43
37
|
const cxArtifacts = await getCxArtifacts(domain);
|
|
@@ -53,15 +47,26 @@ export async function gatsbyRenderDomain(domain: string) {
|
|
|
53
47
|
cacheables: [".cache"],
|
|
54
48
|
};
|
|
55
49
|
|
|
50
|
+
const sentinelFile = await pathExists(path.join(paths.__ssg, ".render-sentinel"));
|
|
51
|
+
const currentRenderMode = sentinelFile ? "FROM_SCRATCH" : renderMode;
|
|
52
|
+
const currentReason = sentinelFile ? "previous render error" : reason;
|
|
53
|
+
|
|
54
|
+
if (renderMode === "IDLE" && currentRenderMode === "IDLE") {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
56
58
|
const context = new RenderContext<SSG>({
|
|
57
59
|
domain,
|
|
58
|
-
renderMode,
|
|
60
|
+
renderMode: currentRenderMode,
|
|
59
61
|
paths,
|
|
60
62
|
renderMetadata,
|
|
61
63
|
cxArtifacts,
|
|
62
64
|
ssg: { assetPrefix, ssgArtifacts },
|
|
63
65
|
});
|
|
64
66
|
|
|
67
|
+
const renderReason = currentReason ? ` <${currentReason}>` : "";
|
|
68
|
+
infoLog(`Init render (${currentRenderMode})${renderReason} for domain ${domain}\n`);
|
|
69
|
+
|
|
65
70
|
await doLifeCycle("Init", async () => initAction(context));
|
|
66
71
|
await doLifeCycle("Clean", async () => cleanAction(context));
|
|
67
72
|
await doLifeCycle("Prepare", async () => prepareAction(context));
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import fsp from "node:fs/promises";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
|
|
5
|
+
// Lista de patrones de los ficheros de assets más importantes.
|
|
6
|
+
// Si estos no cambian, el webpackCompilationHash no debería cambiar.
|
|
7
|
+
const _KEY_ASSET_PATTERNS = [/^app-.*\.js$/, /^framework-.*\.js$/, /^webpack-runtime-.*\.js$/];
|
|
8
|
+
|
|
9
|
+
const KEY_ASSET_PATTERNS = [/\.js$/];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Calcula los hashes SHA256 del contenido de los assets clave en un directorio.
|
|
13
|
+
* @param dir La ruta al directorio (ej. './public')
|
|
14
|
+
* @returns Un Map donde la clave es el nombre del fichero y el valor es su hash.
|
|
15
|
+
*/
|
|
16
|
+
async function getAssetHashes(dir: string): Promise<Map<string, string>> {
|
|
17
|
+
const assetHashes = new Map<string, string>();
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
const allFiles = await fsp.readdir(dir);
|
|
21
|
+
const keyAssetFiles = allFiles.filter((fileName) =>
|
|
22
|
+
KEY_ASSET_PATTERNS.some((pattern) => pattern.test(fileName)),
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
for (const fileName of keyAssetFiles) {
|
|
26
|
+
const filePath = join(dir, fileName);
|
|
27
|
+
const fileContent = await fsp.readFile(filePath);
|
|
28
|
+
const hash = createHash("sha256").update(fileContent).digest("hex");
|
|
29
|
+
assetHashes.set(fileName, hash);
|
|
30
|
+
}
|
|
31
|
+
} catch (error) {
|
|
32
|
+
console.error(`Error procesando el directorio ${dir}:`, error);
|
|
33
|
+
// Si un directorio no existe (ej. el de producción la primera vez),
|
|
34
|
+
// lo tratamos como si no tuviera assets.
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return assetHashes;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Compara los assets clave entre dos directorios de build de Gatsby.
|
|
42
|
+
* @param dir1 Ruta al primer directorio (ej. el de producción)
|
|
43
|
+
* @param dir2 Ruta al segundo directorio (ej. el del nuevo build)
|
|
44
|
+
* @returns `true` si hay diferencias, `false` si son idénticos.
|
|
45
|
+
*/
|
|
46
|
+
export async function getAssetsDiffBetweenRenders(dir1: string, dir2: string): Promise<boolean> {
|
|
47
|
+
const [hashes1, hashes2] = await Promise.all([getAssetHashes(dir1), getAssetHashes(dir2)]);
|
|
48
|
+
|
|
49
|
+
// Si el número de assets clave es diferente, hay cambios.
|
|
50
|
+
if (hashes1.size !== hashes2.size) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Comparamos los hashes de cada fichero.
|
|
55
|
+
for (const [fileName, hash1] of hashes1.entries()) {
|
|
56
|
+
const hash2 = hashes2.get(fileName);
|
|
57
|
+
|
|
58
|
+
// Si un fichero existe en el primero pero no en el segundo, hay cambios.
|
|
59
|
+
if (!hash2) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Si el contenido (hash) de un fichero ha cambiado.
|
|
64
|
+
if (hash1 !== hash2) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Actualiza el webpackCompilationHash en un único fichero HTML.
|
|
74
|
+
* @param filePath Ruta al fichero HTML.
|
|
75
|
+
* @param newHash El nuevo hash a insertar.
|
|
76
|
+
*/
|
|
77
|
+
export async function patchHtmlFile(filePath: string, newHash: string): Promise<void> {
|
|
78
|
+
try {
|
|
79
|
+
const content = await fsp.readFile(filePath, "utf-8");
|
|
80
|
+
|
|
81
|
+
// Esta expresión regular captura tres grupos:
|
|
82
|
+
// 1. La parte ANTES del hash (window.___webpackCompilationHash=")
|
|
83
|
+
// 2. El hash ANTIGUO ([^"]*)
|
|
84
|
+
// 3. La parte DESPUÉS del hash (";</script>)
|
|
85
|
+
const regex = /(window\.___webpackCompilationHash=")([^"]*)(";<\/script>)/;
|
|
86
|
+
|
|
87
|
+
// Solo reemplazamos el segundo grupo (el hash)
|
|
88
|
+
const newContent = content.replace(regex, `$1${newHash}$3`);
|
|
89
|
+
|
|
90
|
+
if (content === newContent) {
|
|
91
|
+
console.warn(`WARN: No se encontró el hash en ${filePath}. El fichero no fue modificado.`);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
await fsp.writeFile(filePath, newContent, "utf-8");
|
|
96
|
+
} catch (error) {
|
|
97
|
+
console.error(`ERROR: Fallo al procesar el fichero ${filePath}:`, error);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// --- Ejemplo de uso ---
|
|
102
|
+
// async function miScriptDeDeploy() {
|
|
103
|
+
// const dirProduccion = '/ruta/a/produccion/public';
|
|
104
|
+
// const dirNuevoBuild = './public';
|
|
105
|
+
|
|
106
|
+
// const hayDiferencias = await getAssetsDiffBetweenRenders(dirProduccion, dirNuevoBuild);
|
|
107
|
+
|
|
108
|
+
// if (hayDiferencias) {
|
|
109
|
+
// // Lógica para el CAMINO A (cambio de código)
|
|
110
|
+
// } else {
|
|
111
|
+
// // Lógica para el CAMINO B (solo contenido)
|
|
112
|
+
// }
|
|
113
|
+
// }
|
|
@@ -10,10 +10,10 @@ import { getRenderPathsFromDB } from "../../../utils/render";
|
|
|
10
10
|
* TODO: Explicar que el static se copia a assets porque el js va en el subdominio de assets.
|
|
11
11
|
*/
|
|
12
12
|
async function extractAssetsFromDist(domain: string) {
|
|
13
|
-
const {
|
|
13
|
+
const { __root } = await getRenderPathsFromDB({ domain });
|
|
14
14
|
|
|
15
15
|
// Archivos (no carpetas) válidos de public
|
|
16
|
-
const filesFromDist = (await fsp.readdir(path.join(
|
|
16
|
+
const filesFromDist = (await fsp.readdir(path.join(__root, "dist"))).filter(
|
|
17
17
|
(file) =>
|
|
18
18
|
path.extname(file) === ".js" ||
|
|
19
19
|
path.extname(file) === ".json" ||
|
|
@@ -21,29 +21,29 @@ async function extractAssetsFromDist(domain: string) {
|
|
|
21
21
|
);
|
|
22
22
|
|
|
23
23
|
// Creamos assets si es necesario (needsAssetPrefix)
|
|
24
|
-
await fsp.mkdir(path.join(
|
|
24
|
+
await fsp.mkdir(path.join(__root, "assets"), { recursive: true });
|
|
25
25
|
// page-data folder
|
|
26
|
-
await fsp.cp(path.join(
|
|
26
|
+
await fsp.cp(path.join(__root, "dist", "page-data"), path.join(__root, "assets", "page-data"), {
|
|
27
27
|
preserveTimestamps: true,
|
|
28
28
|
recursive: true,
|
|
29
29
|
});
|
|
30
30
|
// static folder si existe
|
|
31
|
-
if (await pathExists(path.join(
|
|
32
|
-
await fsp.cp(path.join(
|
|
31
|
+
if (await pathExists(path.join(__root, "static"))) {
|
|
32
|
+
await fsp.cp(path.join(__root, "static"), path.join(__root, "assets"), {
|
|
33
33
|
force: false,
|
|
34
34
|
preserveTimestamps: true,
|
|
35
35
|
recursive: true,
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
// dist/static -> assets/static
|
|
39
|
-
await fsp.cp(path.join(
|
|
39
|
+
await fsp.cp(path.join(__root, "dist", "static"), path.join(__root, "assets", "static"), {
|
|
40
40
|
force: false,
|
|
41
41
|
preserveTimestamps: true,
|
|
42
42
|
recursive: true,
|
|
43
43
|
});
|
|
44
44
|
// otro static...
|
|
45
|
-
if (await pathExists(path.join(
|
|
46
|
-
await fsp.cp(path.join(
|
|
45
|
+
if (await pathExists(path.join(__root, "static"))) {
|
|
46
|
+
await fsp.cp(path.join(__root, "static"), path.join(__root, "dist", domain), {
|
|
47
47
|
preserveTimestamps: true,
|
|
48
48
|
recursive: true,
|
|
49
49
|
force: false,
|
|
@@ -52,8 +52,8 @@ async function extractAssetsFromDist(domain: string) {
|
|
|
52
52
|
|
|
53
53
|
// Copia el resto de archivos...
|
|
54
54
|
for (const file of filesFromDist) {
|
|
55
|
-
const fileSrc = path.join(
|
|
56
|
-
const fileDest = path.join(
|
|
55
|
+
const fileSrc = path.join(__root, "dist", file);
|
|
56
|
+
const fileDest = path.join(__root, "assets", file);
|
|
57
57
|
await fsp.cp(fileSrc, fileDest, { preserveTimestamps: true, recursive: true });
|
|
58
58
|
}
|
|
59
59
|
}
|