diff --git a/packages/contentstack-import/README.md b/packages/contentstack-import/README.md index 6e48d0b38c..817c99d410 100644 --- a/packages/contentstack-import/README.md +++ b/packages/contentstack-import/README.md @@ -96,7 +96,9 @@ FLAGS --personalize-project-name= (optional) Provide a unique name for the Personalize project. --replace-existing Replaces the existing module in the target stack. --skip-app-recreation (optional) Skips the recreation of private apps if they already exist. + --skip-assets-publish Skips the assets from being published during an import process. --skip-audit Skips the audit fix that occurs during an import operation. + --skip-entries-publish Skips the entries from being published during an import process. --skip-existing Skips the module exists warning messages. DESCRIPTION @@ -158,7 +160,9 @@ FLAGS --personalize-project-name= (optional) Provide a unique name for the Personalize project. --replace-existing Replaces the existing module in the target stack. --skip-app-recreation (optional) Skips the recreation of private apps if they already exist. + --skip-assets-publish Skips the assets from being published during an import process. --skip-audit Skips the audit fix that occurs during an import operation. + --skip-entries-publish Skips the entries from being published during an import process. --skip-existing Skips the module exists warning messages. DESCRIPTION diff --git a/packages/contentstack-import/src/commands/cm/stacks/import.ts b/packages/contentstack-import/src/commands/cm/stacks/import.ts index 0bdbe044ea..fc168d1463 100644 --- a/packages/contentstack-import/src/commands/cm/stacks/import.ts +++ b/packages/contentstack-import/src/commands/cm/stacks/import.ts @@ -117,6 +117,14 @@ export default class ImportCommand extends Command { description: 'Excludes the branch-independent module from the import operation.', default: false, }), + 'skip-assets-publish': flags.boolean({ + description: 'Skips asset publishing during the import process.', + default: false, + }), + 'skip-entries-publish': flags.boolean({ + description: 'Skips entry publishing during the import process', + default: false, + }), }; static aliases: string[] = ['cm:import']; diff --git a/packages/contentstack-import/src/config/index.ts b/packages/contentstack-import/src/config/index.ts index 16ce4f7038..521a9888e5 100644 --- a/packages/contentstack-import/src/config/index.ts +++ b/packages/contentstack-import/src/config/index.ts @@ -89,7 +89,6 @@ const config: DefaultConfig = { assets: { dirName: 'assets', assetBatchLimit: 1, - publishAssets: true, fileName: 'assets.json', importSameStructure: true, uploadAssetsConcurrency: 2, @@ -421,7 +420,6 @@ const config: DefaultConfig = { overwriteSupportedModules: ['extensions', 'global-fields', 'content-types'], rateLimit: 5, preserveStackVersion: false, - entriesPublish: true, concurrency: 1, importConcurrency: 5, fetchConcurrency: 5, diff --git a/packages/contentstack-import/src/import/modules/assets.ts b/packages/contentstack-import/src/import/modules/assets.ts index 88e5e7c04d..b338aad131 100644 --- a/packages/contentstack-import/src/import/modules/assets.ts +++ b/packages/contentstack-import/src/import/modules/assets.ts @@ -65,7 +65,7 @@ export default class ImportAssets extends BaseClass { await this.importAssets(); // NOTE Step 4: Publish assets - if (this.assetConfig.publishAssets) await this.publish(); + if (!this.importConfig.skipAssetsPublish) await this.publish(); } /** diff --git a/packages/contentstack-import/src/import/modules/entries.ts b/packages/contentstack-import/src/import/modules/entries.ts index 8eb7221650..b17e18d3d9 100644 --- a/packages/contentstack-import/src/import/modules/entries.ts +++ b/packages/contentstack-import/src/import/modules/entries.ts @@ -181,7 +181,7 @@ export default class EntriesImport extends BaseClass { log(this.importConfig, 'Entries imported successfully', 'success'); // Publishing entries - if (this.importConfig.entriesPublish) { + if (!this.importConfig.skipEntriesPublish) { log(this.importConfig, 'Publishing entries', 'info'); this.envs = fileHelper.readFileSync(this.envPath); for (let entryRequestOption of entryRequestOptions) { diff --git a/packages/contentstack-import/src/types/default-config.ts b/packages/contentstack-import/src/types/default-config.ts index 4a39aff817..5be549626d 100644 --- a/packages/contentstack-import/src/types/default-config.ts +++ b/packages/contentstack-import/src/types/default-config.ts @@ -52,7 +52,6 @@ export default interface DefaultConfig { assets: { dirName: string; assetBatchLimit: number; - publishAssets: boolean; fileName: string; importSameStructure: boolean; uploadAssetsConcurrency: number; @@ -177,7 +176,6 @@ export default interface DefaultConfig { }; rateLimit: number; preserveStackVersion: boolean; - entriesPublish: boolean; concurrency: number; importConcurrency: number; fetchConcurrency: number; @@ -199,4 +197,6 @@ export default interface DefaultConfig { } & Record; // To overwrite any build-in config. And this config is equal to --config flag. }; globalModules: string[]; + skipAssetsPublish?: boolean; + skipEntriesPublish?: boolean; } diff --git a/packages/contentstack-import/src/types/import-config.ts b/packages/contentstack-import/src/types/import-config.ts index 4b86899ab6..7cd0ace91c 100644 --- a/packages/contentstack-import/src/types/import-config.ts +++ b/packages/contentstack-import/src/types/import-config.ts @@ -11,6 +11,8 @@ export interface ExternalConfig { } export default interface ImportConfig extends DefaultConfig, ExternalConfig { + skipAssetsPublish?: boolean; + skipEntriesPublish?: boolean; cliLogsPath: string; canCreatePrivateApp: boolean; contentDir: string; diff --git a/packages/contentstack-import/src/utils/import-config-handler.ts b/packages/contentstack-import/src/utils/import-config-handler.ts index 0f98b9b361..68f0914eb9 100644 --- a/packages/contentstack-import/src/utils/import-config-handler.ts +++ b/packages/contentstack-import/src/utils/import-config-handler.ts @@ -89,6 +89,14 @@ const setupConfig = async (importCmdFlags: any): Promise => { if (importCmdFlags['backup-dir']) { config.useBackedupDir = importCmdFlags['backup-dir']; } + + if (importCmdFlags['skip-assets-publish']) { + config.skipAssetsPublish = importCmdFlags['skip-assets-publish']; + } + + if (importCmdFlags['skip-entries-publish']) { + config.skipEntriesPublish = importCmdFlags['skip-entries-publish']; + } // Note to support old modules config.target_stack = config.apiKey;