From aa89c5f14777947b9127cfc5eaa96779c1d61f2d Mon Sep 17 00:00:00 2001 From: shafeeqd959 Date: Wed, 23 Jul 2025 14:20:45 +0530 Subject: [PATCH 1/2] added branch name in directory --- .gitignore | 1 + .talismanrc | 4 +++- package-lock.json | 10 +++++----- src/core/query-executor.ts | 14 ++++++++++++-- src/utils/content-type-helper.ts | 2 -- src/utils/dependency-resolver.ts | 18 ++++++++++++++++-- src/utils/referenced-asset-handler.ts | 2 +- 7 files changed, 38 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 7caac5f..312e1da 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ _backup_* contents/ logs/ oclif.manifest.json +talisman_output.log diff --git a/.talismanrc b/.talismanrc index b0370da..8fde3e8 100644 --- a/.talismanrc +++ b/.talismanrc @@ -2,5 +2,7 @@ fileignoreconfig: - filename: snyk_output.log checksum: dfa9dc093345f006cc3fb107b8495fcbe79c524db51f44c08d959c656bedf2f7 - filename: talisman_output.log - checksum: 50a8928e551f9092dafcf50f531c926ac00e2846c564aafaaab70c1ecaa19490 + checksum: d18cb2591eb650ebb3a2d5eb84f57c8f0891cef1987b2a420ab7e29dbe2782a0 + - filename: package-lock.json + checksum: 803054eadb6cf0cb4362a175b268ae2d8cbdb2ffc5cbf978d944b4db04a4a562 version: '1.0' diff --git a/package-lock.json b/package-lock.json index 00b45fd..f8c8eda 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@contentstack/cli-cm-export-query", - "version": "1.0.0", + "version": "1.0.0-beta.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@contentstack/cli-cm-export-query", - "version": "1.0.0", + "version": "1.0.0-beta.1", "license": "MIT", "dependencies": { "@contentstack/cli-cm-export": "~1.18.0", @@ -1532,9 +1532,9 @@ } }, "node_modules/@contentstack/cli-cm-export": { - "version": "1.18.1", - "resolved": "file:../CLI/cli-org/cli-10/cli/packages/contentstack-export/contentstack-cli-cm-export-1.18.1.tgz", - "integrity": "sha512-tpQBHYkYWqPyAomnI0zxFIsYktdPjoZnTMA6dxCLKBOyYoAGOgu87sHHSUh7X1RsFK66XeH65eS0/rcKmawSfw==", + "version": "1.18.0", + "resolved": "file:../CLI/cli-org/cli-10/cli/packages/contentstack-export/contentstack-cli-cm-export-1.18.0.tgz", + "integrity": "sha512-umGyBayK/EJlR81fyjPamjtmQq70seAHIm+TVqS+zTN9oWGF6bbSgjCBLZ97hAir3LImaDEfB8MpkUpzjzp3lA==", "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.5.1", diff --git a/src/core/query-executor.ts b/src/core/query-executor.ts index fef183d..8b34507 100644 --- a/src/core/query-executor.ts +++ b/src/core/query-executor.ts @@ -83,8 +83,18 @@ export class QueryExporter { const exportedContentTypeUIDs: Set = new Set(); // Step 1: Read initial content types and mark them as exported - const contentTypesFilePath = path.join(this.exportQueryConfig.exportDir, 'content_types', 'schema.json'); - const contentTypes: any = fsUtil.readFile(sanitizePath(contentTypesFilePath)); + const contentTypesFilePath = path.join( + this.exportQueryConfig.exportDir, + this.exportQueryConfig.branchName || '', + 'content_types', + 'schema.json', + ); + const contentTypes: any = fsUtil.readFile(sanitizePath(contentTypesFilePath)) || []; + if (contentTypes.length === 0) { + log(this.exportQueryConfig, 'No content types found, skipping referenced content types export', 'info'); + return; + } + // contentTypes.forEach((ct: any) => exportedContentTypeUIDs.add(ct.uid)); // Step 2: Start with initial batch (all currently exported content types) diff --git a/src/utils/content-type-helper.ts b/src/utils/content-type-helper.ts index b1074ed..a54b8fe 100644 --- a/src/utils/content-type-helper.ts +++ b/src/utils/content-type-helper.ts @@ -4,11 +4,9 @@ import { log } from './logger'; export class ReferencedContentTypesHandler { private exportQueryConfig: QueryExportConfig; - private contentTypesDir: string; constructor(exportQueryConfig: QueryExportConfig) { this.exportQueryConfig = exportQueryConfig; - this.contentTypesDir = path.join(exportQueryConfig.exportDir, 'content-types'); } /** diff --git a/src/utils/dependency-resolver.ts b/src/utils/dependency-resolver.ts index 2674f5c..cc75cb0 100644 --- a/src/utils/dependency-resolver.ts +++ b/src/utils/dependency-resolver.ts @@ -19,8 +19,22 @@ export class ContentTypeDependenciesHandler { taxonomies: Set; marketplaceApps: Set; }> { - const contentTypesFilePath = path.join(this.exportQueryConfig.exportDir, 'content_types', 'schema.json'); - const allContentTypes = fsUtil.readFile(sanitizePath(contentTypesFilePath)) as any[]; + const contentTypesFilePath = path.join( + this.exportQueryConfig.exportDir, + this.exportQueryConfig.branchName || '', + 'content_types', + 'schema.json', + ); + const allContentTypes = (fsUtil.readFile(sanitizePath(contentTypesFilePath)) as any[]) || []; + if (allContentTypes.length === 0) { + log(this.exportQueryConfig, 'No content types found, skipping dependency extraction', 'info'); + return { + globalFields: new Set(), + extensions: new Set(), + taxonomies: new Set(), + marketplaceApps: new Set(), + }; + } log(this.exportQueryConfig, `Extracting dependencies from ${allContentTypes.length} content types`, 'info'); diff --git a/src/utils/referenced-asset-handler.ts b/src/utils/referenced-asset-handler.ts index 9aab94a..e4d0787 100644 --- a/src/utils/referenced-asset-handler.ts +++ b/src/utils/referenced-asset-handler.ts @@ -11,7 +11,7 @@ export class AssetReferenceHandler { constructor(exportQueryConfig: QueryExportConfig) { this.exportQueryConfig = exportQueryConfig; - this.entriesDir = path.join(exportQueryConfig.exportDir, 'entries'); + this.entriesDir = path.join(exportQueryConfig.exportDir, exportQueryConfig.branchName || '', 'entries'); } /** From 2aaf4da2932e14805ce99a85e940f6c477869594 Mon Sep 17 00:00:00 2001 From: shafeeqd959 Date: Wed, 23 Jul 2025 14:23:42 +0530 Subject: [PATCH 2/2] removed commented code --- src/core/query-executor.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/core/query-executor.ts b/src/core/query-executor.ts index 8b34507..870715f 100644 --- a/src/core/query-executor.ts +++ b/src/core/query-executor.ts @@ -95,8 +95,6 @@ export class QueryExporter { return; } - // contentTypes.forEach((ct: any) => exportedContentTypeUIDs.add(ct.uid)); - // Step 2: Start with initial batch (all currently exported content types) let currentBatch = [...contentTypes];