@leadcms/sdk 3.3.4 ā 3.3.7
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 +3 -0
- package/dist/cli/bin/pull-all.js +9 -2
- package/dist/cli/bin/pull-all.js.map +1 -1
- package/dist/cli/bin/pull-comments.js +9 -2
- package/dist/cli/bin/pull-comments.js.map +1 -1
- package/dist/cli/bin/pull-content.js +9 -2
- package/dist/cli/bin/pull-content.js.map +1 -1
- package/dist/cli/bin/pull-email-templates.d.ts +6 -0
- package/dist/cli/bin/pull-email-templates.d.ts.map +1 -0
- package/dist/cli/bin/pull-email-templates.js +24 -0
- package/dist/cli/bin/pull-email-templates.js.map +1 -0
- package/dist/cli/bin/pull-media.js +9 -2
- package/dist/cli/bin/pull-media.js.map +1 -1
- package/dist/cli/bin/push-all.js +17 -4
- package/dist/cli/bin/push-all.js.map +1 -1
- package/dist/cli/bin/push-content.js +9 -2
- package/dist/cli/bin/push-content.js.map +1 -1
- package/dist/cli/bin/push-email-templates.d.ts +6 -0
- package/dist/cli/bin/push-email-templates.d.ts.map +1 -0
- package/dist/cli/bin/push-email-templates.js +21 -0
- package/dist/cli/bin/push-email-templates.js.map +1 -0
- package/dist/cli/bin/push-media.js +9 -2
- package/dist/cli/bin/push-media.js.map +1 -1
- package/dist/cli/bin/push.js +2 -0
- package/dist/cli/bin/push.js.map +1 -1
- package/dist/cli/bin/status-all.d.ts +1 -1
- package/dist/cli/bin/status-all.js +255 -31
- package/dist/cli/bin/status-all.js.map +1 -1
- package/dist/cli/bin/status-content.js +9 -2
- package/dist/cli/bin/status-content.js.map +1 -1
- package/dist/cli/bin/status-email-templates.d.ts +6 -0
- package/dist/cli/bin/status-email-templates.d.ts.map +1 -0
- package/dist/cli/bin/status-email-templates.js +29 -0
- package/dist/cli/bin/status-email-templates.js.map +1 -0
- package/dist/cli/bin/status-media.js +9 -2
- package/dist/cli/bin/status-media.js.map +1 -1
- package/dist/cli/bin/status.js +2 -0
- package/dist/cli/bin/status.js.map +1 -1
- package/dist/cli/bin/watch.js +2 -0
- package/dist/cli/bin/watch.js.map +1 -1
- package/dist/cli/index.js +27 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/lib/cms-config-types.d.ts +4 -0
- package/dist/lib/cms-config-types.d.ts.map +1 -1
- package/dist/lib/cms-config-types.js +6 -0
- package/dist/lib/cms-config-types.js.map +1 -1
- package/dist/lib/cms.d.ts.map +1 -1
- package/dist/lib/cms.js +1 -0
- package/dist/lib/cms.js.map +1 -1
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +5 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/content-merge.d.ts +2 -2
- package/dist/lib/content-merge.d.ts.map +1 -1
- package/dist/lib/content-merge.js +39 -35
- package/dist/lib/content-merge.js.map +1 -1
- package/dist/lib/content-transformation.d.ts +1 -1
- package/dist/lib/content-transformation.d.ts.map +1 -1
- package/dist/lib/content-transformation.js +8 -2
- package/dist/lib/content-transformation.js.map +1 -1
- package/dist/lib/data-service.d.ts +56 -0
- package/dist/lib/data-service.d.ts.map +1 -1
- package/dist/lib/data-service.js +246 -36
- package/dist/lib/data-service.js.map +1 -1
- package/dist/lib/email-template-transformation.d.ts +36 -0
- package/dist/lib/email-template-transformation.d.ts.map +1 -0
- package/dist/lib/email-template-transformation.js +88 -0
- package/dist/lib/email-template-transformation.js.map +1 -0
- package/dist/lib/logger.d.ts +63 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +87 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/spinner.d.ts +25 -0
- package/dist/lib/spinner.d.ts.map +1 -0
- package/dist/lib/spinner.js +80 -0
- package/dist/lib/spinner.js.map +1 -0
- package/dist/scripts/fetch-leadcms-comments.d.ts.map +1 -1
- package/dist/scripts/fetch-leadcms-comments.js +22 -21
- package/dist/scripts/fetch-leadcms-comments.js.map +1 -1
- package/dist/scripts/fetch-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/fetch-leadcms-content.js +46 -45
- package/dist/scripts/fetch-leadcms-content.js.map +1 -1
- package/dist/scripts/fetch-leadcms-email-templates.d.ts +15 -0
- package/dist/scripts/fetch-leadcms-email-templates.d.ts.map +1 -0
- package/dist/scripts/fetch-leadcms-email-templates.js +272 -0
- package/dist/scripts/fetch-leadcms-email-templates.js.map +1 -0
- package/dist/scripts/init-leadcms.d.ts.map +1 -1
- package/dist/scripts/init-leadcms.js +22 -3
- package/dist/scripts/init-leadcms.js.map +1 -1
- package/dist/scripts/leadcms-helpers.d.ts +1 -0
- package/dist/scripts/leadcms-helpers.d.ts.map +1 -1
- package/dist/scripts/leadcms-helpers.js +7 -5
- package/dist/scripts/leadcms-helpers.js.map +1 -1
- package/dist/scripts/pull-all.d.ts +5 -1
- package/dist/scripts/pull-all.d.ts.map +1 -1
- package/dist/scripts/pull-all.js +38 -17
- package/dist/scripts/pull-all.js.map +1 -1
- package/dist/scripts/pull-comments.d.ts.map +1 -1
- package/dist/scripts/pull-comments.js +3 -2
- package/dist/scripts/pull-comments.js.map +1 -1
- package/dist/scripts/pull-content.d.ts.map +1 -1
- package/dist/scripts/pull-content.js +3 -2
- package/dist/scripts/pull-content.js.map +1 -1
- package/dist/scripts/pull-email-templates.d.ts +13 -0
- package/dist/scripts/pull-email-templates.d.ts.map +1 -0
- package/dist/scripts/pull-email-templates.js +79 -0
- package/dist/scripts/pull-email-templates.js.map +1 -0
- package/dist/scripts/pull-media.d.ts.map +1 -1
- package/dist/scripts/pull-media.js +3 -2
- package/dist/scripts/pull-media.js.map +1 -1
- package/dist/scripts/push-email-templates.d.ts +50 -0
- package/dist/scripts/push-email-templates.d.ts.map +1 -0
- package/dist/scripts/push-email-templates.js +687 -0
- package/dist/scripts/push-email-templates.js.map +1 -0
- package/dist/scripts/push-leadcms-content.d.ts +45 -1
- package/dist/scripts/push-leadcms-content.d.ts.map +1 -1
- package/dist/scripts/push-leadcms-content.js +112 -28
- package/dist/scripts/push-leadcms-content.js.map +1 -1
- package/dist/scripts/push-media.d.ts +2 -0
- package/dist/scripts/push-media.d.ts.map +1 -1
- package/dist/scripts/push-media.js +8 -5
- package/dist/scripts/push-media.js.map +1 -1
- package/dist/scripts/sse-watcher.d.ts.map +1 -1
- package/dist/scripts/sse-watcher.js +72 -71
- package/dist/scripts/sse-watcher.js.map +1 -1
- package/leadcms.config.json.sample +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push-email-templates.js","sourceRoot":"","sources":["../../src/scripts/push-email-templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,10 @@ declare function parseContentFile(filePath: string, locale: string, baseContentD
|
|
|
52
52
|
* Get all unique content types from local content
|
|
53
53
|
*/
|
|
54
54
|
declare function getLocalContentTypes(localContent: LocalContentItem[]): Set<string>;
|
|
55
|
+
/**
|
|
56
|
+
* Fetch all remote content using sync API without token (full fetch)
|
|
57
|
+
*/
|
|
58
|
+
declare function fetchRemoteContent(): Promise<RemoteContentItem[]>;
|
|
55
59
|
/**
|
|
56
60
|
* Compare local and remote content by transforming remote to local format
|
|
57
61
|
* Returns true if there are meaningful differences in content
|
|
@@ -63,6 +67,30 @@ declare function hasActualContentChanges(local: LocalContentItem, remote: Remote
|
|
|
63
67
|
*/
|
|
64
68
|
declare function matchContent(localContent: LocalContentItem[], remoteContent: RemoteContentItem[], typeMap?: Record<string, string>, allowDelete?: boolean): Promise<ContentOperations>;
|
|
65
69
|
declare function countPushChanges(operations: ContentOperations, includeConflicts?: boolean): number;
|
|
70
|
+
/**
|
|
71
|
+
* Auto-detected defaults for content type creation based on local content files
|
|
72
|
+
*/
|
|
73
|
+
interface ContentTypeDefaults {
|
|
74
|
+
format: 'MDX' | 'JSON';
|
|
75
|
+
supportsCoverImage: boolean;
|
|
76
|
+
supportsComments: boolean;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Analyze local content files to auto-detect content type parameters.
|
|
80
|
+
*
|
|
81
|
+
* - format: JSON if all files are .json, MDX if all are .mdx, MDX if mixed
|
|
82
|
+
* - supportsCoverImage: true if any file has a non-empty coverImageUrl
|
|
83
|
+
* - supportsComments: false for JSON format; for MDX, true if any file has allowComments: true
|
|
84
|
+
*/
|
|
85
|
+
declare function analyzeContentTypeFromFiles(localContent: LocalContentItem[], typeName: string): ContentTypeDefaults;
|
|
86
|
+
/**
|
|
87
|
+
* Check if a user response is affirmative (case-insensitive)
|
|
88
|
+
*/
|
|
89
|
+
declare function isYes(input: string): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Normalize format input to 'MDX' or 'JSON' (case-insensitive)
|
|
92
|
+
*/
|
|
93
|
+
declare function normalizeFormat(input: string, fallback?: 'MDX' | 'JSON'): 'MDX' | 'JSON';
|
|
66
94
|
/**
|
|
67
95
|
* Filter content operations to only include specific content by ID or slug
|
|
68
96
|
*/
|
|
@@ -88,7 +116,23 @@ export { parseContentFile };
|
|
|
88
116
|
export { isLocaleDirectory };
|
|
89
117
|
export { getLocalContentTypes };
|
|
90
118
|
export { filterContentOperations };
|
|
119
|
+
export { analyzeContentTypeFromFiles };
|
|
120
|
+
export { isYes };
|
|
121
|
+
export { normalizeFormat };
|
|
122
|
+
export { fetchRemoteContent };
|
|
91
123
|
export { formatContentForAPI } from '../lib/content-api-formatting.js';
|
|
92
124
|
export { transformRemoteForComparison } from "../lib/content-transformation.js";
|
|
93
|
-
export
|
|
125
|
+
export interface ContentStatusResult {
|
|
126
|
+
operations: ContentOperations;
|
|
127
|
+
totalLocal: number;
|
|
128
|
+
totalRemote: number;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get content status data without printing anything.
|
|
132
|
+
* Used by the unified status-all renderer.
|
|
133
|
+
*/
|
|
134
|
+
export declare function getContentStatusData(options?: {
|
|
135
|
+
showDelete?: boolean;
|
|
136
|
+
}): Promise<ContentStatusResult>;
|
|
137
|
+
export type { LocalContentItem, RemoteContentItem, ContentOperations, MatchOperation, PushOptions };
|
|
94
138
|
//# sourceMappingURL=push-leadcms-content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push-leadcms-content.d.ts","sourceRoot":"","sources":["../../src/scripts/push-leadcms-content.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAMvB,OAAO,EAGL,WAAW,IAAI,eAAe,EAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAsB,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"push-leadcms-content.d.ts","sourceRoot":"","sources":["../../src/scripts/push-leadcms-content.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { leadCMSDataService } from "../lib/data-service.js";
|
|
|
9
9
|
import { transformRemoteToLocalFormat, transformRemoteForComparison, hasContentDifferences } from "../lib/content-transformation.js";
|
|
10
10
|
import { formatContentForAPI } from '../lib/content-api-formatting.js';
|
|
11
11
|
import { colorConsole, statusColors, diffColors } from '../lib/console-colors.js';
|
|
12
|
+
import { logger } from '../lib/logger.js';
|
|
12
13
|
// Create readline interface for user prompts
|
|
13
14
|
const rl = readline.createInterface({
|
|
14
15
|
input: process.stdin,
|
|
@@ -43,7 +44,7 @@ async function isLocaleDirectory(dirPath, parentDir) {
|
|
|
43
44
|
* Read and parse all local content files
|
|
44
45
|
*/
|
|
45
46
|
async function readLocalContent() {
|
|
46
|
-
|
|
47
|
+
logger.verbose(`[LOCAL] Reading content from: ${CONTENT_DIR}`);
|
|
47
48
|
const localContent = [];
|
|
48
49
|
async function walkDirectory(dir, locale = defaultLanguage, baseContentDir = CONTENT_DIR) {
|
|
49
50
|
try {
|
|
@@ -69,17 +70,17 @@ async function readLocalContent() {
|
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
catch (error) {
|
|
72
|
-
|
|
73
|
+
logger.verbose(`[LOCAL] Failed to parse ${fullPath}: ${error.message}`);
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
catch (error) {
|
|
78
|
-
|
|
79
|
+
logger.verbose(`[LOCAL] Failed to read directory ${dir}: ${error.message}`);
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
await walkDirectory(CONTENT_DIR);
|
|
82
|
-
|
|
83
|
+
logger.verbose(`[LOCAL] Found ${localContent.length} local content files`);
|
|
83
84
|
return localContent;
|
|
84
85
|
}
|
|
85
86
|
/**
|
|
@@ -120,7 +121,7 @@ async function parseContentFile(filePath, locale, baseContentDir = CONTENT_DIR)
|
|
|
120
121
|
}
|
|
121
122
|
// Warn if type is missing
|
|
122
123
|
if (!metadata.type) {
|
|
123
|
-
|
|
124
|
+
logger.verbose(`[LOCAL] Warning: Content file "${relativePath}" is missing a "type" property. It will be displayed as "unknown".`);
|
|
124
125
|
}
|
|
125
126
|
return {
|
|
126
127
|
filePath,
|
|
@@ -151,10 +152,10 @@ async function fetchRemoteContent() {
|
|
|
151
152
|
const allItems = await leadCMSDataService.getAllContent();
|
|
152
153
|
// Ensure we have an array
|
|
153
154
|
if (!Array.isArray(allItems)) {
|
|
154
|
-
|
|
155
|
+
logger.verbose(`[${leadCMSDataService.isMockMode() ? 'MOCK' : 'REMOTE'}] Retrieved invalid data (not an array): ${typeof allItems}`);
|
|
155
156
|
return [];
|
|
156
157
|
}
|
|
157
|
-
|
|
158
|
+
logger.verbose(`[${leadCMSDataService.isMockMode() ? 'MOCK' : 'REMOTE'}] Retrieved ${allItems.length} content items`);
|
|
158
159
|
return allItems.map(item => ({ ...item, isLocal: false }));
|
|
159
160
|
}
|
|
160
161
|
/**
|
|
@@ -174,7 +175,7 @@ async function hasActualContentChanges(local, remote, typeMap) {
|
|
|
174
175
|
return hasFileContentChanges;
|
|
175
176
|
}
|
|
176
177
|
catch (error) {
|
|
177
|
-
|
|
178
|
+
logger.verbose(`[COMPARE] Failed to compare content for ${local.slug}: ${error.message}`);
|
|
178
179
|
// Fallback to true to err on the side of showing changes
|
|
179
180
|
return true;
|
|
180
181
|
}
|
|
@@ -323,10 +324,36 @@ function countPushChanges(operations, includeConflicts = false) {
|
|
|
323
324
|
operations.typeChange.length +
|
|
324
325
|
(includeConflicts ? operations.conflict.length : 0);
|
|
325
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* Analyze local content files to auto-detect content type parameters.
|
|
329
|
+
*
|
|
330
|
+
* - format: JSON if all files are .json, MDX if all are .mdx, MDX if mixed
|
|
331
|
+
* - supportsCoverImage: true if any file has a non-empty coverImageUrl
|
|
332
|
+
* - supportsComments: false for JSON format; for MDX, true if any file has allowComments: true
|
|
333
|
+
*/
|
|
334
|
+
function analyzeContentTypeFromFiles(localContent, typeName) {
|
|
335
|
+
const filesOfType = localContent.filter(c => c.type === typeName);
|
|
336
|
+
// Determine format from file extensions
|
|
337
|
+
const hasJson = filesOfType.some(c => c.filePath.endsWith('.json'));
|
|
338
|
+
const hasMdx = filesOfType.some(c => c.filePath.endsWith('.mdx'));
|
|
339
|
+
const format = (hasJson && !hasMdx) ? 'JSON' : 'MDX';
|
|
340
|
+
// Check if any file has a non-empty coverImageUrl
|
|
341
|
+
const supportsCoverImage = filesOfType.some(c => {
|
|
342
|
+
const url = c.metadata?.coverImageUrl;
|
|
343
|
+
return typeof url === 'string' && url.trim().length > 0;
|
|
344
|
+
});
|
|
345
|
+
// For JSON format, default to no comments
|
|
346
|
+
// For MDX format, check if any file has allowComments set to true
|
|
347
|
+
let supportsComments = false;
|
|
348
|
+
if (format === 'MDX') {
|
|
349
|
+
supportsComments = filesOfType.some(c => c.metadata?.allowComments === true);
|
|
350
|
+
}
|
|
351
|
+
return { format, supportsCoverImage, supportsComments };
|
|
352
|
+
}
|
|
326
353
|
/**
|
|
327
354
|
* Validate that all required content types exist remotely
|
|
328
355
|
*/
|
|
329
|
-
async function validateContentTypes(localTypes, remoteTypeMap, dryRun = false) {
|
|
356
|
+
async function validateContentTypes(localTypes, remoteTypeMap, localContent, dryRun = false) {
|
|
330
357
|
const missingTypes = [];
|
|
331
358
|
for (const type of localTypes) {
|
|
332
359
|
if (!remoteTypeMap[type]) {
|
|
@@ -339,6 +366,7 @@ async function validateContentTypes(localTypes, remoteTypeMap, dryRun = false) {
|
|
|
339
366
|
if (dryRun) {
|
|
340
367
|
colorConsole.info('\nš§Ŗ In dry run mode - showing what content type creation would look like:');
|
|
341
368
|
for (const type of missingTypes) {
|
|
369
|
+
const defaults = analyzeContentTypeFromFiles(localContent, type);
|
|
342
370
|
colorConsole.progress(`\nš CREATE CONTENT TYPE (Dry Run):`);
|
|
343
371
|
colorConsole.log(`\n${colorConsole.cyan('POST')} ${colorConsole.highlight('/api/content-types')}`);
|
|
344
372
|
colorConsole.log(`${colorConsole.gray('Content-Type:')} application/json`);
|
|
@@ -346,19 +374,19 @@ async function validateContentTypes(localTypes, remoteTypeMap, dryRun = false) {
|
|
|
346
374
|
const sampleContentTypeData = {
|
|
347
375
|
uid: type,
|
|
348
376
|
name: type.charAt(0).toUpperCase() + type.slice(1),
|
|
349
|
-
format:
|
|
350
|
-
supportsCoverImage:
|
|
351
|
-
supportsComments:
|
|
377
|
+
format: defaults.format,
|
|
378
|
+
supportsCoverImage: defaults.supportsCoverImage,
|
|
379
|
+
supportsComments: defaults.supportsComments
|
|
352
380
|
};
|
|
353
381
|
colorConsole.log(JSON.stringify(sampleContentTypeData, null, 2));
|
|
354
382
|
colorConsole.success(`ā
Would create content type: ${colorConsole.highlight(type)}`);
|
|
355
383
|
}
|
|
356
384
|
return; // Skip interactive creation in dry run mode
|
|
357
385
|
}
|
|
358
|
-
const createChoice = await question('\nWould you like me to create these content types automatically? (y/
|
|
359
|
-
if (createChoice.
|
|
386
|
+
const createChoice = await question('\nWould you like me to create these content types automatically? (y/n) [y]: ');
|
|
387
|
+
if (createChoice.trim() === '' || isYes(createChoice)) {
|
|
360
388
|
for (const type of missingTypes) {
|
|
361
|
-
await createContentTypeInteractive(type, dryRun);
|
|
389
|
+
await createContentTypeInteractive(type, localContent, dryRun);
|
|
362
390
|
}
|
|
363
391
|
}
|
|
364
392
|
else {
|
|
@@ -367,20 +395,48 @@ async function validateContentTypes(localTypes, remoteTypeMap, dryRun = false) {
|
|
|
367
395
|
}
|
|
368
396
|
}
|
|
369
397
|
}
|
|
398
|
+
/**
|
|
399
|
+
* Check if a user response is affirmative (case-insensitive)
|
|
400
|
+
*/
|
|
401
|
+
function isYes(input) {
|
|
402
|
+
const trimmed = input.trim().toLowerCase();
|
|
403
|
+
return trimmed === 'y' || trimmed === 'yes';
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Normalize format input to 'MDX' or 'JSON' (case-insensitive)
|
|
407
|
+
*/
|
|
408
|
+
function normalizeFormat(input, fallback = 'MDX') {
|
|
409
|
+
const trimmed = input.trim().toUpperCase();
|
|
410
|
+
if (trimmed === 'JSON')
|
|
411
|
+
return 'JSON';
|
|
412
|
+
if (trimmed === 'MDX')
|
|
413
|
+
return 'MDX';
|
|
414
|
+
if (trimmed === '')
|
|
415
|
+
return fallback;
|
|
416
|
+
return fallback;
|
|
417
|
+
}
|
|
370
418
|
/**
|
|
371
419
|
* Create a content type in remote LeadCMS
|
|
372
420
|
*/
|
|
373
|
-
async function createContentTypeInteractive(typeName, dryRun = false) {
|
|
421
|
+
async function createContentTypeInteractive(typeName, localContent, dryRun = false) {
|
|
422
|
+
const defaults = analyzeContentTypeFromFiles(localContent, typeName);
|
|
374
423
|
colorConsole.progress(`\nš Creating content type: ${colorConsole.highlight(typeName)}`);
|
|
375
|
-
|
|
376
|
-
const
|
|
377
|
-
const
|
|
424
|
+
colorConsole.info(` Auto-detected defaults: format=${defaults.format}, coverImage=${defaults.supportsCoverImage ? 'yes' : 'no'}, comments=${defaults.supportsComments ? 'yes' : 'no'}`);
|
|
425
|
+
const formatDefault = defaults.format;
|
|
426
|
+
const coverDefaultLabel = defaults.supportsCoverImage ? 'y' : 'n';
|
|
427
|
+
const commentsDefaultLabel = defaults.supportsComments ? 'y' : 'n';
|
|
428
|
+
const formatInput = await question(`What format should '${colorConsole.highlight(typeName)}' use? (MDX/JSON) [${formatDefault}]: `);
|
|
429
|
+
const format = normalizeFormat(formatInput, formatDefault);
|
|
430
|
+
const coverInput = await question(`Should '${colorConsole.highlight(typeName)}' support cover images? (y/n) [${coverDefaultLabel}]: `);
|
|
431
|
+
const supportsCoverImage = coverInput.trim() === '' ? defaults.supportsCoverImage : isYes(coverInput);
|
|
432
|
+
const commentsInput = await question(`Should '${colorConsole.highlight(typeName)}' support comments? (y/n) [${commentsDefaultLabel}]: `);
|
|
433
|
+
const supportsComments = commentsInput.trim() === '' ? defaults.supportsComments : isYes(commentsInput);
|
|
378
434
|
const contentTypeData = {
|
|
379
435
|
uid: typeName,
|
|
380
436
|
name: typeName.charAt(0).toUpperCase() + typeName.slice(1),
|
|
381
|
-
format
|
|
382
|
-
supportsCoverImage
|
|
383
|
-
supportsComments
|
|
437
|
+
format,
|
|
438
|
+
supportsCoverImage,
|
|
439
|
+
supportsComments
|
|
384
440
|
};
|
|
385
441
|
if (dryRun) {
|
|
386
442
|
colorConsole.progress(`\nš CREATE CONTENT TYPE (Dry Run):`);
|
|
@@ -506,7 +562,7 @@ async function displayDetailedDiff(operation, operationType, typeMap) {
|
|
|
506
562
|
}
|
|
507
563
|
}
|
|
508
564
|
catch (error) {
|
|
509
|
-
|
|
565
|
+
logger.verbose(`[DIFF] Failed to generate detailed diff for ${local.slug}: ${error.message}`);
|
|
510
566
|
console.log(' Unable to show content comparison');
|
|
511
567
|
}
|
|
512
568
|
console.log('');
|
|
@@ -754,7 +810,7 @@ async function pushMain(options = {}) {
|
|
|
754
810
|
const isSingleFileMode = !!(targetId || targetSlug);
|
|
755
811
|
const actionDescription = statusOnly ? 'status check' : 'push';
|
|
756
812
|
const targetDescription = targetId ? `ID ${targetId}` : targetSlug ? `slug "${targetSlug}"` : 'all content';
|
|
757
|
-
|
|
813
|
+
logger.verbose(`[PUSH] Starting ${actionDescription} for ${targetDescription}...`);
|
|
758
814
|
// Check for API key if not in status-only mode
|
|
759
815
|
if (!statusOnly && !dryRun) {
|
|
760
816
|
const config = await import('../lib/config.js').then(m => m.getConfig());
|
|
@@ -793,13 +849,13 @@ async function pushMain(options = {}) {
|
|
|
793
849
|
console.log(`ā No local content found with ${targetId ? `ID ${targetId}` : `slug "${targetSlug}"`}`);
|
|
794
850
|
return;
|
|
795
851
|
}
|
|
796
|
-
|
|
852
|
+
logger.verbose(`[LOCAL] Found ${filteredLocalContent.length} matching local file(s)`);
|
|
797
853
|
}
|
|
798
854
|
else {
|
|
799
855
|
// Get local content types and validate them
|
|
800
856
|
const localTypes = getLocalContentTypes(localContent);
|
|
801
|
-
|
|
802
|
-
await validateContentTypes(localTypes, remoteTypeMap, dryRun);
|
|
857
|
+
logger.verbose(`[LOCAL] Found content types: ${Array.from(localTypes).join(', ')}`);
|
|
858
|
+
await validateContentTypes(localTypes, remoteTypeMap, localContent, dryRun);
|
|
803
859
|
}
|
|
804
860
|
// Fetch remote content for comparison
|
|
805
861
|
const remoteContent = await fetchRemoteContent();
|
|
@@ -1035,7 +1091,7 @@ async function executeIndividualOperations(operations, options = {}) {
|
|
|
1035
1091
|
console.log(`\nš Results: ${successful} successful, ${failed} failed`);
|
|
1036
1092
|
// If any updates were successful, automatically pull latest changes to sync local store
|
|
1037
1093
|
if (successful > 0) {
|
|
1038
|
-
|
|
1094
|
+
logger.info(`\nš Syncing latest changes from LeadCMS to local store...`);
|
|
1039
1095
|
try {
|
|
1040
1096
|
const { fetchLeadCMSContent } = await import('./fetch-leadcms-content.js');
|
|
1041
1097
|
await fetchLeadCMSContent();
|
|
@@ -1098,8 +1154,36 @@ export { parseContentFile };
|
|
|
1098
1154
|
export { isLocaleDirectory };
|
|
1099
1155
|
export { getLocalContentTypes };
|
|
1100
1156
|
export { filterContentOperations };
|
|
1157
|
+
export { analyzeContentTypeFromFiles };
|
|
1158
|
+
export { isYes };
|
|
1159
|
+
export { normalizeFormat };
|
|
1160
|
+
export { fetchRemoteContent };
|
|
1101
1161
|
// Re-export formatContentForAPI from utility module for testing
|
|
1102
1162
|
export { formatContentForAPI } from '../lib/content-api-formatting.js';
|
|
1103
1163
|
// Re-export the new comparison function for consistency
|
|
1104
1164
|
export { transformRemoteForComparison } from "../lib/content-transformation.js";
|
|
1165
|
+
/**
|
|
1166
|
+
* Get content status data without printing anything.
|
|
1167
|
+
* Used by the unified status-all renderer.
|
|
1168
|
+
*/
|
|
1169
|
+
export async function getContentStatusData(options = {}) {
|
|
1170
|
+
const localContent = await readLocalContent();
|
|
1171
|
+
if (localContent.length === 0) {
|
|
1172
|
+
return {
|
|
1173
|
+
operations: { create: [], update: [], rename: [], typeChange: [], conflict: [], delete: [] },
|
|
1174
|
+
totalLocal: 0,
|
|
1175
|
+
totalRemote: 0,
|
|
1176
|
+
};
|
|
1177
|
+
}
|
|
1178
|
+
const remoteTypes = await leadCMSDataService.getContentTypes();
|
|
1179
|
+
const remoteTypeMap = {};
|
|
1180
|
+
remoteTypes.forEach(type => { remoteTypeMap[type.uid] = type.format; });
|
|
1181
|
+
const remoteContent = await fetchRemoteContent();
|
|
1182
|
+
const operations = await matchContent(localContent, remoteContent, remoteTypeMap, options.showDelete || false);
|
|
1183
|
+
return {
|
|
1184
|
+
operations,
|
|
1185
|
+
totalLocal: localContent.length,
|
|
1186
|
+
totalRemote: remoteContent.length,
|
|
1187
|
+
};
|
|
1188
|
+
}
|
|
1105
1189
|
//# sourceMappingURL=push-leadcms-content.js.map
|