@leadcms/sdk 3.1.1 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -50
- package/dist/cli/bin/generate-env.d.ts +1 -1
- package/dist/cli/bin/generate-env.d.ts.map +1 -1
- package/dist/cli/bin/generate-env.js +2 -2
- package/dist/cli/bin/generate-env.js.map +1 -1
- package/dist/cli/bin/pull-all.js +5 -1
- package/dist/cli/bin/pull-all.js.map +1 -1
- package/dist/cli/bin/pull-comments.js +3 -1
- package/dist/cli/bin/pull-comments.js.map +1 -1
- package/dist/cli/bin/pull-content.js +2 -1
- package/dist/cli/bin/pull-content.js.map +1 -1
- package/dist/cli/bin/pull-media.js +3 -1
- package/dist/cli/bin/pull-media.js.map +1 -1
- package/dist/cli/index.js +8 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/cms.d.ts.map +1 -1
- package/dist/lib/cms.js +0 -38
- package/dist/lib/cms.js.map +1 -1
- package/dist/lib/content-merge.d.ts +80 -0
- package/dist/lib/content-merge.d.ts.map +1 -0
- package/dist/lib/content-merge.js +350 -0
- package/dist/lib/content-merge.js.map +1 -0
- package/dist/lib/content-transformation.d.ts +0 -10
- package/dist/lib/content-transformation.d.ts.map +1 -1
- package/dist/lib/content-transformation.js +18 -32
- package/dist/lib/content-transformation.js.map +1 -1
- package/dist/scripts/fetch-leadcms-comments.d.ts +6 -1
- package/dist/scripts/fetch-leadcms-comments.d.ts.map +1 -1
- package/dist/scripts/fetch-leadcms-comments.js +36 -8
- package/dist/scripts/fetch-leadcms-comments.js.map +1 -1
- package/dist/scripts/fetch-leadcms-content.d.ts +38 -1
- package/dist/scripts/fetch-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/fetch-leadcms-content.js +337 -63
- package/dist/scripts/fetch-leadcms-content.js.map +1 -1
- package/dist/scripts/generate-env-js.d.ts +13 -1
- package/dist/scripts/generate-env-js.d.ts.map +1 -1
- package/dist/scripts/generate-env-js.js +33 -15
- package/dist/scripts/generate-env-js.js.map +1 -1
- package/dist/scripts/init-leadcms.d.ts +5 -1
- package/dist/scripts/init-leadcms.d.ts.map +1 -1
- package/dist/scripts/init-leadcms.js +11 -6
- package/dist/scripts/init-leadcms.js.map +1 -1
- package/dist/scripts/leadcms-helpers.d.ts +1 -6
- package/dist/scripts/leadcms-helpers.d.ts.map +1 -1
- package/dist/scripts/leadcms-helpers.js.map +1 -1
- package/dist/scripts/pull-all.d.ts +23 -0
- package/dist/scripts/pull-all.d.ts.map +1 -1
- package/dist/scripts/pull-all.js +83 -2
- package/dist/scripts/pull-all.js.map +1 -1
- package/dist/scripts/pull-comments.d.ts +5 -1
- package/dist/scripts/pull-comments.d.ts.map +1 -1
- package/dist/scripts/pull-comments.js +8 -1
- package/dist/scripts/pull-comments.js.map +1 -1
- package/dist/scripts/pull-content.d.ts +2 -0
- package/dist/scripts/pull-content.d.ts.map +1 -1
- package/dist/scripts/pull-content.js +7 -1
- package/dist/scripts/pull-content.js.map +1 -1
- package/dist/scripts/pull-media.d.ts +5 -1
- package/dist/scripts/pull-media.d.ts.map +1 -1
- package/dist/scripts/pull-media.js +8 -1
- package/dist/scripts/pull-media.js.map +1 -1
- package/dist/scripts/push-leadcms-content.d.ts +38 -0
- package/dist/scripts/push-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/push-leadcms-content.js +17 -4
- package/dist/scripts/push-leadcms-content.js.map +1 -1
- package/dist/scripts/sse-watcher.d.ts.map +1 -1
- package/dist/scripts/sse-watcher.js.map +1 -1
- package/package.json +3 -2
|
@@ -2,8 +2,10 @@ import "dotenv/config";
|
|
|
2
2
|
import fs from "fs/promises";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import axios from "axios";
|
|
5
|
-
import {
|
|
6
|
-
import { saveContentFile } from "../lib/content-transformation.js";
|
|
5
|
+
import { downloadMediaFileDirect, leadCMSUrl, leadCMSApiKey, defaultLanguage, CONTENT_DIR, MEDIA_DIR, fetchContentTypes, } from "./leadcms-helpers.js";
|
|
6
|
+
import { saveContentFile, transformRemoteToLocalFormat } from "../lib/content-transformation.js";
|
|
7
|
+
import { threeWayMerge, threeWayMergeJson, isLocallyModified } from "../lib/content-merge.js";
|
|
8
|
+
import { getConfig } from "../lib/config.js";
|
|
7
9
|
// Add axios request/response interceptors for debugging
|
|
8
10
|
axios.interceptors.request.use((config) => {
|
|
9
11
|
console.log(`[AXIOS REQUEST] ${config.method?.toUpperCase()} ${config.url}`);
|
|
@@ -31,37 +33,88 @@ axios.interceptors.response.use((response) => {
|
|
|
31
33
|
console.error(`[AXIOS RESPONSE ERROR] Full error:`, error.message);
|
|
32
34
|
return Promise.reject(error);
|
|
33
35
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
// ── Sync token paths ───────────────────────────────────────────────────
|
|
37
|
+
// New location: tokens live *inside* the corresponding data directory.
|
|
38
|
+
const SYNC_TOKEN_PATH = path.join(CONTENT_DIR, ".sync-token");
|
|
39
|
+
const MEDIA_SYNC_TOKEN_PATH = path.join(MEDIA_DIR, ".sync-token");
|
|
40
|
+
// Legacy location (SDK ≤ 3.2): tokens lived in the parent of contentDir.
|
|
41
|
+
// We check these once for migration and then delete them after a successful pull.
|
|
42
|
+
const LEGACY_SYNC_TOKEN_PATH = path.join(path.dirname(CONTENT_DIR), "sync-token.txt");
|
|
43
|
+
const LEGACY_MEDIA_SYNC_TOKEN_PATH = path.join(path.dirname(CONTENT_DIR), "media-sync-token.txt");
|
|
44
|
+
/**
|
|
45
|
+
* Read a file and return its trimmed contents, or undefined if it doesn't exist.
|
|
46
|
+
*/
|
|
47
|
+
async function readFileOrUndefined(filePath) {
|
|
37
48
|
try {
|
|
38
|
-
return (await fs.readFile(
|
|
49
|
+
return (await fs.readFile(filePath, "utf8")).trim() || undefined;
|
|
39
50
|
}
|
|
40
51
|
catch {
|
|
41
52
|
return undefined;
|
|
42
53
|
}
|
|
43
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Silently delete a file (no-op if missing).
|
|
57
|
+
*/
|
|
58
|
+
async function unlinkSafe(filePath) {
|
|
59
|
+
try {
|
|
60
|
+
await fs.unlink(filePath);
|
|
61
|
+
}
|
|
62
|
+
catch { /* not found — ok */ }
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Read content sync token. Checks new location first, then falls back to legacy.
|
|
66
|
+
*/
|
|
67
|
+
async function readSyncToken() {
|
|
68
|
+
const token = await readFileOrUndefined(SYNC_TOKEN_PATH);
|
|
69
|
+
if (token)
|
|
70
|
+
return { token, migrated: false };
|
|
71
|
+
const legacy = await readFileOrUndefined(LEGACY_SYNC_TOKEN_PATH);
|
|
72
|
+
if (legacy) {
|
|
73
|
+
console.log(`[SYNC] Migrating content sync token from legacy location`);
|
|
74
|
+
return { token: legacy, migrated: true };
|
|
75
|
+
}
|
|
76
|
+
return { token: undefined, migrated: false };
|
|
77
|
+
}
|
|
44
78
|
async function writeSyncToken(token) {
|
|
45
79
|
await fs.mkdir(path.dirname(SYNC_TOKEN_PATH), { recursive: true });
|
|
46
80
|
await fs.writeFile(SYNC_TOKEN_PATH, token, "utf8");
|
|
47
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Clean up legacy content sync token after successful migration.
|
|
84
|
+
*/
|
|
85
|
+
async function cleanupLegacySyncToken() {
|
|
86
|
+
await unlinkSafe(LEGACY_SYNC_TOKEN_PATH);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Read media sync token. Checks new location first, then falls back to legacy.
|
|
90
|
+
*/
|
|
48
91
|
async function readMediaSyncToken() {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
92
|
+
const token = await readFileOrUndefined(MEDIA_SYNC_TOKEN_PATH);
|
|
93
|
+
if (token)
|
|
94
|
+
return { token, migrated: false };
|
|
95
|
+
const legacy = await readFileOrUndefined(LEGACY_MEDIA_SYNC_TOKEN_PATH);
|
|
96
|
+
if (legacy) {
|
|
97
|
+
console.log(`[SYNC] Migrating media sync token from legacy location`);
|
|
98
|
+
return { token: legacy, migrated: true };
|
|
54
99
|
}
|
|
100
|
+
return { token: undefined, migrated: false };
|
|
55
101
|
}
|
|
56
102
|
async function writeMediaSyncToken(token) {
|
|
57
103
|
await fs.mkdir(path.dirname(MEDIA_SYNC_TOKEN_PATH), { recursive: true });
|
|
58
104
|
await fs.writeFile(MEDIA_SYNC_TOKEN_PATH, token, "utf8");
|
|
59
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Clean up legacy media sync token after successful migration.
|
|
108
|
+
*/
|
|
109
|
+
async function cleanupLegacyMediaSyncToken() {
|
|
110
|
+
await unlinkSafe(LEGACY_MEDIA_SYNC_TOKEN_PATH);
|
|
111
|
+
}
|
|
60
112
|
async function fetchContentSync(syncToken) {
|
|
61
113
|
console.log(`[FETCH_CONTENT_SYNC] Starting with syncToken: ${syncToken || "NONE"}`);
|
|
62
114
|
console.log(`[FETCH_CONTENT_SYNC] Fetching public content (no authentication)`);
|
|
63
115
|
let allItems = [];
|
|
64
116
|
let allDeleted = [];
|
|
117
|
+
let allBaseItems = {};
|
|
65
118
|
let token = syncToken || "";
|
|
66
119
|
let nextSyncToken = undefined;
|
|
67
120
|
let page = 0;
|
|
@@ -69,6 +122,10 @@ async function fetchContentSync(syncToken) {
|
|
|
69
122
|
const url = new URL("/api/content/sync", leadCMSUrl);
|
|
70
123
|
url.searchParams.set("filter[limit]", "100");
|
|
71
124
|
url.searchParams.set("syncToken", token);
|
|
125
|
+
// Request base versions for three-way merge when doing incremental sync
|
|
126
|
+
if (syncToken) {
|
|
127
|
+
url.searchParams.set("includeBase", "true");
|
|
128
|
+
}
|
|
72
129
|
console.log(`[FETCH_CONTENT_SYNC] Page ${page}, URL: ${url.toString()}`);
|
|
73
130
|
try {
|
|
74
131
|
// SECURITY: Never send API key for read operations
|
|
@@ -85,6 +142,11 @@ async function fetchContentSync(syncToken) {
|
|
|
85
142
|
if (data.deleted && Array.isArray(data.deleted)) {
|
|
86
143
|
allDeleted.push(...data.deleted);
|
|
87
144
|
}
|
|
145
|
+
// Collect base items for three-way merge support
|
|
146
|
+
if (data.baseItems && typeof data.baseItems === 'object') {
|
|
147
|
+
Object.assign(allBaseItems, data.baseItems);
|
|
148
|
+
console.log(`[FETCH_CONTENT_SYNC] Page ${page} - Got ${Object.keys(data.baseItems).length} base items for merge`);
|
|
149
|
+
}
|
|
88
150
|
const newSyncToken = res.headers["x-next-sync-token"] || token;
|
|
89
151
|
console.log(`[FETCH_CONTENT_SYNC] Next sync token: ${newSyncToken}`);
|
|
90
152
|
if (!newSyncToken || newSyncToken === token) {
|
|
@@ -101,10 +163,11 @@ async function fetchContentSync(syncToken) {
|
|
|
101
163
|
throw error;
|
|
102
164
|
}
|
|
103
165
|
}
|
|
104
|
-
console.log(`[FETCH_CONTENT_SYNC] Completed - Total items: ${allItems.length}, deleted: ${allDeleted.length}`);
|
|
166
|
+
console.log(`[FETCH_CONTENT_SYNC] Completed - Total items: ${allItems.length}, deleted: ${allDeleted.length}, base items: ${Object.keys(allBaseItems).length}`);
|
|
105
167
|
return {
|
|
106
168
|
items: allItems,
|
|
107
169
|
deleted: allDeleted,
|
|
170
|
+
baseItems: allBaseItems,
|
|
108
171
|
nextSyncToken: nextSyncToken || token,
|
|
109
172
|
};
|
|
110
173
|
}
|
|
@@ -112,6 +175,7 @@ async function fetchMediaSync(syncToken) {
|
|
|
112
175
|
console.log(`[FETCH_MEDIA_SYNC] Starting with syncToken: ${syncToken || "NONE"}`);
|
|
113
176
|
console.log(`[FETCH_MEDIA_SYNC] Fetching public media (no authentication)`);
|
|
114
177
|
let allItems = [];
|
|
178
|
+
let allDeleted = [];
|
|
115
179
|
let token = syncToken || "";
|
|
116
180
|
let nextSyncToken = undefined;
|
|
117
181
|
let page = 0;
|
|
@@ -129,9 +193,12 @@ async function fetchMediaSync(syncToken) {
|
|
|
129
193
|
break;
|
|
130
194
|
}
|
|
131
195
|
const data = res.data;
|
|
132
|
-
console.log(`[FETCH_MEDIA_SYNC] Page ${page} - Got ${data.items?.length || 0} items`);
|
|
196
|
+
console.log(`[FETCH_MEDIA_SYNC] Page ${page} - Got ${data.items?.length || 0} items, ${data.deleted?.length || 0} deleted`);
|
|
133
197
|
if (data.items && Array.isArray(data.items))
|
|
134
198
|
allItems.push(...data.items);
|
|
199
|
+
if (data.deleted && Array.isArray(data.deleted)) {
|
|
200
|
+
allDeleted.push(...data.deleted);
|
|
201
|
+
}
|
|
135
202
|
const newSyncToken = res.headers["x-next-sync-token"] || token;
|
|
136
203
|
console.log(`[FETCH_MEDIA_SYNC] Next sync token: ${newSyncToken}`);
|
|
137
204
|
if (!newSyncToken || newSyncToken === token) {
|
|
@@ -148,9 +215,10 @@ async function fetchMediaSync(syncToken) {
|
|
|
148
215
|
throw error;
|
|
149
216
|
}
|
|
150
217
|
}
|
|
151
|
-
console.log(`[FETCH_MEDIA_SYNC] Completed - Total items: ${allItems.length}`);
|
|
218
|
+
console.log(`[FETCH_MEDIA_SYNC] Completed - Total items: ${allItems.length}, deleted: ${allDeleted.length}`);
|
|
152
219
|
return {
|
|
153
220
|
items: allItems,
|
|
221
|
+
deleted: allDeleted,
|
|
154
222
|
nextSyncToken: nextSyncToken || token,
|
|
155
223
|
};
|
|
156
224
|
}
|
|
@@ -176,6 +244,124 @@ async function fetchCMSConfigForEntities() {
|
|
|
176
244
|
}
|
|
177
245
|
return { content: false, media: false };
|
|
178
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Build an index mapping content IDs to their local file paths.
|
|
249
|
+
* Walks the directory tree once and parses every content file to extract its ID,
|
|
250
|
+
* so that subsequent lookups are O(1) instead of scanning the filesystem again.
|
|
251
|
+
*/
|
|
252
|
+
async function buildContentIdIndex(dir) {
|
|
253
|
+
const index = new Map();
|
|
254
|
+
async function walk(currentDir) {
|
|
255
|
+
let entries;
|
|
256
|
+
try {
|
|
257
|
+
entries = await fs.readdir(currentDir, { withFileTypes: true });
|
|
258
|
+
}
|
|
259
|
+
catch (err) {
|
|
260
|
+
if (err.code !== 'ENOENT') {
|
|
261
|
+
console.warn(`Warning: Could not read directory ${currentDir}:`, err.message);
|
|
262
|
+
}
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
for (const entry of entries) {
|
|
266
|
+
const fullPath = path.join(currentDir, entry.name);
|
|
267
|
+
if (entry.isDirectory()) {
|
|
268
|
+
await walk(fullPath);
|
|
269
|
+
}
|
|
270
|
+
else if (entry.isFile()) {
|
|
271
|
+
try {
|
|
272
|
+
const content = await fs.readFile(fullPath, "utf8");
|
|
273
|
+
const id = extractContentId(content);
|
|
274
|
+
if (id !== undefined) {
|
|
275
|
+
const existing = index.get(id);
|
|
276
|
+
if (existing) {
|
|
277
|
+
existing.push(fullPath);
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
index.set(id, [fullPath]);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
catch { /* skip unreadable files */ }
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
await walk(dir);
|
|
289
|
+
return index;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Extract the content ID from a file's text content.
|
|
293
|
+
* Supports both YAML frontmatter (`id: 42`) and JSON (`"id": 42`) formats.
|
|
294
|
+
* Returns the ID as a string, or undefined if not found.
|
|
295
|
+
*/
|
|
296
|
+
function extractContentId(content) {
|
|
297
|
+
// YAML frontmatter: id: 42 or id: '42'
|
|
298
|
+
const yamlMatch = content.match(/(?:^|\n)id:\s*['"]?(\d+)['"]?(?:\n|$)/);
|
|
299
|
+
if (yamlMatch)
|
|
300
|
+
return yamlMatch[1];
|
|
301
|
+
// JSON: "id": 42 or "id": "42"
|
|
302
|
+
const jsonMatch = content.match(/"id"\s*:\s*['"]?(\d+)['"]?/);
|
|
303
|
+
if (jsonMatch)
|
|
304
|
+
return jsonMatch[1];
|
|
305
|
+
return undefined;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Delete all files associated with a given content ID using a pre-built index.
|
|
309
|
+
* Also removes the entry from the index so subsequent calls stay consistent.
|
|
310
|
+
*/
|
|
311
|
+
async function deleteContentFilesById(index, idStr) {
|
|
312
|
+
const paths = index.get(idStr);
|
|
313
|
+
if (!paths || paths.length === 0)
|
|
314
|
+
return;
|
|
315
|
+
for (const filePath of paths) {
|
|
316
|
+
try {
|
|
317
|
+
await fs.unlink(filePath);
|
|
318
|
+
console.log(`Deleted: ${filePath}`);
|
|
319
|
+
}
|
|
320
|
+
catch (err) {
|
|
321
|
+
if (err.code !== 'ENOENT') {
|
|
322
|
+
console.warn(`Warning: Could not delete ${filePath}:`, err.message);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
index.delete(idStr);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Recursively search for content files with a given ID and delete them.
|
|
330
|
+
* Used during sync to remove locally-cached content that was deleted remotely.
|
|
331
|
+
*
|
|
332
|
+
* Note: For batch operations prefer buildContentIdIndex() + deleteContentFilesById()
|
|
333
|
+
* to avoid repeated filesystem walks.
|
|
334
|
+
*/
|
|
335
|
+
async function findAndDeleteContentFile(dir, idStr) {
|
|
336
|
+
try {
|
|
337
|
+
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
338
|
+
for (const entry of entries) {
|
|
339
|
+
const fullPath = path.join(dir, entry.name);
|
|
340
|
+
if (entry.isDirectory()) {
|
|
341
|
+
await findAndDeleteContentFile(fullPath, idStr);
|
|
342
|
+
}
|
|
343
|
+
else if (entry.isFile()) {
|
|
344
|
+
try {
|
|
345
|
+
const content = await fs.readFile(fullPath, "utf8");
|
|
346
|
+
// Exact-match YAML frontmatter: lines like `id: 10` or `id: '10'`
|
|
347
|
+
const yamlRegex = new RegExp(`(^|\\n)id:\\s*['\"]?${idStr}['\"]?(\\n|$)`);
|
|
348
|
+
// Exact-match JSON: "id": 10 or "id": "10"
|
|
349
|
+
const jsonRegex = new RegExp(`\\"id\\"\\s*:\\s*['\"]?${idStr}['\"]?\\s*(,|\\}|\\n|$)`);
|
|
350
|
+
if (yamlRegex.test(content) || jsonRegex.test(content)) {
|
|
351
|
+
await fs.unlink(fullPath);
|
|
352
|
+
console.log(`Deleted: ${fullPath}`);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
catch { }
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
catch (err) {
|
|
360
|
+
if (err.code !== 'ENOENT') {
|
|
361
|
+
console.warn(`Warning: Could not read directory ${dir}:`, err.message);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}
|
|
179
365
|
async function main() {
|
|
180
366
|
// Log environment configuration for debugging
|
|
181
367
|
console.log(`[ENV] LeadCMS URL: ${leadCMSUrl}`);
|
|
@@ -205,20 +391,20 @@ async function main() {
|
|
|
205
391
|
await fs.mkdir(MEDIA_DIR, { recursive: true });
|
|
206
392
|
}
|
|
207
393
|
const typeMap = await fetchContentTypes();
|
|
208
|
-
const lastSyncToken = await readSyncToken();
|
|
209
|
-
const lastMediaSyncToken = await readMediaSyncToken();
|
|
210
|
-
let items = [], deleted = [], nextSyncToken = "";
|
|
211
|
-
let mediaItems = [], nextMediaSyncToken = "";
|
|
394
|
+
const { token: lastSyncToken, migrated: contentTokenMigrated } = await readSyncToken();
|
|
395
|
+
const { token: lastMediaSyncToken, migrated: mediaTokenMigrated } = await readMediaSyncToken();
|
|
396
|
+
let items = [], deleted = [], baseItems = {}, nextSyncToken = "";
|
|
397
|
+
let mediaItems = [], mediaDeleted = [], nextMediaSyncToken = "";
|
|
212
398
|
// Sync content (only if supported)
|
|
213
399
|
if (contentSupported) {
|
|
214
400
|
try {
|
|
215
401
|
if (lastSyncToken) {
|
|
216
402
|
console.log(`Syncing content from LeadCMS using sync token: ${lastSyncToken}`);
|
|
217
|
-
({ items, deleted, nextSyncToken } = await fetchContentSync(lastSyncToken));
|
|
403
|
+
({ items, deleted, baseItems, nextSyncToken } = await fetchContentSync(lastSyncToken));
|
|
218
404
|
}
|
|
219
405
|
else {
|
|
220
406
|
console.log("No content sync token found. Doing full fetch from LeadCMS...");
|
|
221
|
-
({ items, deleted, nextSyncToken } = await fetchContentSync(undefined));
|
|
407
|
+
({ items, deleted, baseItems, nextSyncToken } = await fetchContentSync(undefined));
|
|
222
408
|
}
|
|
223
409
|
}
|
|
224
410
|
catch (error) {
|
|
@@ -234,11 +420,11 @@ async function main() {
|
|
|
234
420
|
try {
|
|
235
421
|
if (lastMediaSyncToken) {
|
|
236
422
|
console.log(`Syncing media from LeadCMS using sync token: ${lastMediaSyncToken}`);
|
|
237
|
-
({ items: mediaItems, nextSyncToken: nextMediaSyncToken } = await fetchMediaSync(lastMediaSyncToken));
|
|
423
|
+
({ items: mediaItems, deleted: mediaDeleted, nextSyncToken: nextMediaSyncToken } = await fetchMediaSync(lastMediaSyncToken));
|
|
238
424
|
}
|
|
239
425
|
else {
|
|
240
426
|
console.log("No media sync token found. Doing full fetch from LeadCMS...");
|
|
241
|
-
({ items: mediaItems, nextSyncToken: nextMediaSyncToken } = await fetchMediaSync(undefined));
|
|
427
|
+
({ items: mediaItems, deleted: mediaDeleted, nextSyncToken: nextMediaSyncToken } = await fetchMediaSync(undefined));
|
|
242
428
|
}
|
|
243
429
|
}
|
|
244
430
|
catch (error) {
|
|
@@ -251,58 +437,112 @@ async function main() {
|
|
|
251
437
|
}
|
|
252
438
|
}
|
|
253
439
|
console.log(`\x1b[32mFetched ${items.length} content items, ${deleted.length} deleted.\x1b[0m`);
|
|
254
|
-
console.log(`\x1b[32mFetched ${mediaItems.length} media items.\x1b[0m`);
|
|
255
|
-
//
|
|
256
|
-
|
|
440
|
+
console.log(`\x1b[32mFetched ${mediaItems.length} media items, ${mediaDeleted.length} deleted.\x1b[0m`);
|
|
441
|
+
// Build an ID→filepath index once instead of walking the tree per item.
|
|
442
|
+
// This turns O(items × files) disk reads into O(files + items).
|
|
443
|
+
const contentIdIndex = (items.length > 0 || deleted.length > 0)
|
|
444
|
+
? await buildContentIdIndex(CONTENT_DIR)
|
|
445
|
+
: new Map();
|
|
446
|
+
// Save content files (with three-way merge support)
|
|
447
|
+
const hasBaseItems = Object.keys(baseItems).length > 0;
|
|
448
|
+
let mergedCount = 0;
|
|
449
|
+
let conflictCount = 0;
|
|
450
|
+
let overwrittenCount = 0;
|
|
451
|
+
let newCount = 0;
|
|
452
|
+
// Build a ContentTypeMap for transformation
|
|
453
|
+
const contentTypeMap = {};
|
|
454
|
+
for (const [key, value] of Object.entries(typeMap)) {
|
|
455
|
+
contentTypeMap[key] = value === 'JSON' ? 'JSON' : 'MDX';
|
|
456
|
+
}
|
|
257
457
|
for (const content of items) {
|
|
258
458
|
if (content && typeof content === "object") {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
459
|
+
const idStr = content.id != null ? String(content.id) : undefined;
|
|
460
|
+
// Determine the file path where this content would be saved
|
|
461
|
+
const contentConfig = getConfig();
|
|
462
|
+
const contentLanguage = content.language || contentConfig.defaultLanguage;
|
|
463
|
+
let targetContentDir = CONTENT_DIR;
|
|
464
|
+
if (contentLanguage !== contentConfig.defaultLanguage) {
|
|
465
|
+
targetContentDir = path.join(CONTENT_DIR, contentLanguage);
|
|
266
466
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
// Function to recursively search for files in a directory
|
|
273
|
-
async function findAndDeleteContentFile(dir) {
|
|
467
|
+
const contentType = contentTypeMap[content.type] || 'MDX';
|
|
468
|
+
const extension = contentType === 'MDX' ? '.mdx' : '.json';
|
|
469
|
+
const expectedPath = path.join(targetContentDir, `${content.slug}${extension}`);
|
|
470
|
+
// Check if local file exists before deleting old paths
|
|
471
|
+
let localContent = null;
|
|
274
472
|
try {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
473
|
+
localContent = await fs.readFile(expectedPath, 'utf8');
|
|
474
|
+
}
|
|
475
|
+
catch {
|
|
476
|
+
// File does not exist — this is new content
|
|
477
|
+
}
|
|
478
|
+
// Before saving, remove any existing file with the same id.
|
|
479
|
+
// This handles slug renames, type changes (MDX↔JSON), and language
|
|
480
|
+
// changes — the old file at the previous path is cleaned up before the
|
|
481
|
+
// new version is written at the (potentially different) new path.
|
|
482
|
+
if (idStr != null) {
|
|
483
|
+
await deleteContentFilesById(contentIdIndex, idStr);
|
|
484
|
+
}
|
|
485
|
+
// Try three-way merge if we have a base version and local file exists
|
|
486
|
+
const baseContent = idStr ? baseItems[idStr] : undefined;
|
|
487
|
+
if (localContent && baseContent && hasBaseItems) {
|
|
488
|
+
// Transform both base and remote to local file format for comparison
|
|
489
|
+
const baseTransformed = await transformRemoteToLocalFormat(baseContent, contentTypeMap);
|
|
490
|
+
const remoteTransformed = await transformRemoteToLocalFormat(content, contentTypeMap);
|
|
491
|
+
if (!isLocallyModified(baseTransformed, localContent)) {
|
|
492
|
+
// Local file is unchanged from base — safe to overwrite with remote
|
|
493
|
+
await saveContentFile({ content, typeMap, contentDir: CONTENT_DIR });
|
|
494
|
+
overwrittenCount++;
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
// Local file was modified — perform three-way merge
|
|
498
|
+
// Use structural merge for JSON (avoids false conflicts from adjacent lines)
|
|
499
|
+
// and line-based merge for MDX
|
|
500
|
+
const mergeResult = contentType === 'JSON'
|
|
501
|
+
? threeWayMergeJson(baseTransformed, localContent, remoteTransformed)
|
|
502
|
+
: threeWayMerge(baseTransformed, localContent, remoteTransformed);
|
|
503
|
+
if (mergeResult.success) {
|
|
504
|
+
// Clean merge — write the merged result
|
|
505
|
+
await fs.mkdir(path.dirname(expectedPath), { recursive: true });
|
|
506
|
+
await fs.writeFile(expectedPath, mergeResult.merged, 'utf8');
|
|
507
|
+
console.log(`🔀 Auto-merged: ${content.slug} (local + remote changes combined)`);
|
|
508
|
+
mergedCount++;
|
|
281
509
|
}
|
|
282
|
-
else
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
const jsonRegex = new RegExp(`\\"id\\"\\s*:\\s*['\"]?${idStr}['\"]?\\s*(,|\\}|\\n|$)`);
|
|
289
|
-
if (yamlRegex.test(content) || jsonRegex.test(content)) {
|
|
290
|
-
await fs.unlink(fullPath);
|
|
291
|
-
console.log(`Deleted: ${fullPath}`);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
catch { }
|
|
510
|
+
else {
|
|
511
|
+
// Conflicts — write merged content with conflict markers
|
|
512
|
+
await fs.mkdir(path.dirname(expectedPath), { recursive: true });
|
|
513
|
+
await fs.writeFile(expectedPath, mergeResult.merged, 'utf8');
|
|
514
|
+
console.warn(`⚠️ Conflict in: ${content.slug} (${mergeResult.conflictCount} conflict(s) — manual resolution needed)`);
|
|
515
|
+
conflictCount++;
|
|
295
516
|
}
|
|
296
517
|
}
|
|
297
518
|
}
|
|
298
|
-
|
|
299
|
-
//
|
|
300
|
-
|
|
301
|
-
|
|
519
|
+
else {
|
|
520
|
+
// No base available or file is new — overwrite (current behavior)
|
|
521
|
+
await saveContentFile({ content, typeMap, contentDir: CONTENT_DIR });
|
|
522
|
+
if (localContent) {
|
|
523
|
+
overwrittenCount++;
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
526
|
+
newCount++;
|
|
302
527
|
}
|
|
303
528
|
}
|
|
304
529
|
}
|
|
305
|
-
|
|
530
|
+
}
|
|
531
|
+
// Print merge summary
|
|
532
|
+
if (hasBaseItems && items.length > 0) {
|
|
533
|
+
console.log(`\n📊 Content sync summary:`);
|
|
534
|
+
if (newCount > 0)
|
|
535
|
+
console.log(` ✨ New: ${newCount}`);
|
|
536
|
+
if (overwrittenCount > 0)
|
|
537
|
+
console.log(` 📝 Updated (no local changes): ${overwrittenCount}`);
|
|
538
|
+
if (mergedCount > 0)
|
|
539
|
+
console.log(` 🔀 Auto-merged: ${mergedCount}`);
|
|
540
|
+
if (conflictCount > 0)
|
|
541
|
+
console.log(` ⚠️ Conflicts (need manual resolution): ${conflictCount}`);
|
|
542
|
+
}
|
|
543
|
+
// Remove deleted content files from all language directories
|
|
544
|
+
for (const id of deleted) {
|
|
545
|
+
await deleteContentFilesById(contentIdIndex, String(id));
|
|
306
546
|
}
|
|
307
547
|
// Handle media sync results
|
|
308
548
|
if (mediaItems.length > 0) {
|
|
@@ -325,6 +565,28 @@ async function main() {
|
|
|
325
565
|
else {
|
|
326
566
|
console.log(`\nNo media changes detected.\n`);
|
|
327
567
|
}
|
|
568
|
+
// Remove deleted media files from local filesystem
|
|
569
|
+
if (mediaDeleted.length > 0) {
|
|
570
|
+
console.log(`\nRemoving ${mediaDeleted.length} deleted media files...`);
|
|
571
|
+
let removedCount = 0;
|
|
572
|
+
for (const deletedMedia of mediaDeleted) {
|
|
573
|
+
const relPath = deletedMedia.scopeUid
|
|
574
|
+
? path.join(deletedMedia.scopeUid, deletedMedia.name)
|
|
575
|
+
: deletedMedia.name;
|
|
576
|
+
const fullPath = path.join(MEDIA_DIR, relPath);
|
|
577
|
+
try {
|
|
578
|
+
await fs.unlink(fullPath);
|
|
579
|
+
console.log(`Deleted media: ${fullPath}`);
|
|
580
|
+
removedCount++;
|
|
581
|
+
}
|
|
582
|
+
catch (err) {
|
|
583
|
+
if (err.code !== 'ENOENT') {
|
|
584
|
+
console.warn(`Warning: Could not delete media file ${fullPath}:`, err.message);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
console.log(`Done. ${removedCount} media files removed.\n`);
|
|
589
|
+
}
|
|
328
590
|
// Save new sync tokens
|
|
329
591
|
if (nextSyncToken) {
|
|
330
592
|
await writeSyncToken(nextSyncToken);
|
|
@@ -334,7 +596,19 @@ async function main() {
|
|
|
334
596
|
await writeMediaSyncToken(nextMediaSyncToken);
|
|
335
597
|
console.log(`Media sync token updated: ${nextMediaSyncToken}`);
|
|
336
598
|
}
|
|
599
|
+
// Clean up legacy sync tokens after a successful pull
|
|
600
|
+
if (contentTokenMigrated) {
|
|
601
|
+
await cleanupLegacySyncToken();
|
|
602
|
+
console.log(`[SYNC] Removed legacy content sync token`);
|
|
603
|
+
}
|
|
604
|
+
if (mediaTokenMigrated) {
|
|
605
|
+
await cleanupLegacyMediaSyncToken();
|
|
606
|
+
console.log(`[SYNC] Removed legacy media sync token`);
|
|
607
|
+
}
|
|
337
608
|
}
|
|
338
609
|
// Export the main function so it can be imported by other modules
|
|
339
610
|
export { main as fetchLeadCMSContent };
|
|
611
|
+
// Export internal functions for testing
|
|
612
|
+
export { findAndDeleteContentFile };
|
|
613
|
+
export { buildContentIdIndex, deleteContentFilesById, extractContentId };
|
|
340
614
|
//# sourceMappingURL=fetch-leadcms-content.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-leadcms-content.js","sourceRoot":"","sources":["../../src/scripts/fetch-leadcms-content.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch-leadcms-content.js","sourceRoot":"","sources":["../../src/scripts/fetch-leadcms-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Filter environment variables by prefix (e.g. NEXT_PUBLIC_)
|
|
3
|
+
*/
|
|
4
|
+
export declare function filterEnvVars(env: Record<string, string | undefined>, prefix?: string): Record<string, string | undefined>;
|
|
5
|
+
/**
|
|
6
|
+
* Generate the window.__env JS content string
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateEnvJsContent(vars: Record<string, string | undefined>): string;
|
|
9
|
+
/**
|
|
10
|
+
* Generate a __env.js file with all environment variables matching the prefix.
|
|
11
|
+
* Loads .env and .env.local files, filters by prefix, and writes to public/__env.js.
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateEnv(prefix?: string): void;
|
|
2
14
|
//# sourceMappingURL=generate-env-js.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-env-js.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-env-js.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"generate-env-js.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-env-js.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,GAAE,MAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAO1I;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,CAErF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAE,MAAuB,GAAG,IAAI,CAajE"}
|