Skip to content

Commit 2c04961

Browse files
authored
Merge pull request #1792 from contentstack/feat/DX-2171
feat: added skip-assets-publish & skip-entries-publish support in import
2 parents d5345d5 + 2c4ca99 commit 2c04961

File tree

8 files changed

+26
-6
lines changed

8 files changed

+26
-6
lines changed

packages/contentstack-import/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ FLAGS
9696
--personalize-project-name=<value> (optional) Provide a unique name for the Personalize project.
9797
--replace-existing Replaces the existing module in the target stack.
9898
--skip-app-recreation (optional) Skips the recreation of private apps if they already exist.
99+
--skip-assets-publish Skips the assets from being published during an import process.
99100
--skip-audit Skips the audit fix that occurs during an import operation.
101+
--skip-entries-publish Skips the entries from being published during an import process.
100102
--skip-existing Skips the module exists warning messages.
101103
102104
DESCRIPTION
@@ -158,7 +160,9 @@ FLAGS
158160
--personalize-project-name=<value> (optional) Provide a unique name for the Personalize project.
159161
--replace-existing Replaces the existing module in the target stack.
160162
--skip-app-recreation (optional) Skips the recreation of private apps if they already exist.
163+
--skip-assets-publish Skips the assets from being published during an import process.
161164
--skip-audit Skips the audit fix that occurs during an import operation.
165+
--skip-entries-publish Skips the entries from being published during an import process.
162166
--skip-existing Skips the module exists warning messages.
163167
164168
DESCRIPTION

packages/contentstack-import/src/commands/cm/stacks/import.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,14 @@ export default class ImportCommand extends Command {
117117
description: 'Excludes the branch-independent module from the import operation.',
118118
default: false,
119119
}),
120+
'skip-assets-publish': flags.boolean({
121+
description: 'Skips asset publishing during the import process.',
122+
default: false,
123+
}),
124+
'skip-entries-publish': flags.boolean({
125+
description: 'Skips entry publishing during the import process',
126+
default: false,
127+
}),
120128
};
121129

122130
static aliases: string[] = ['cm:import'];

packages/contentstack-import/src/config/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ const config: DefaultConfig = {
8989
assets: {
9090
dirName: 'assets',
9191
assetBatchLimit: 1,
92-
publishAssets: true,
9392
fileName: 'assets.json',
9493
importSameStructure: true,
9594
uploadAssetsConcurrency: 2,
@@ -421,7 +420,6 @@ const config: DefaultConfig = {
421420
overwriteSupportedModules: ['extensions', 'global-fields', 'content-types'],
422421
rateLimit: 5,
423422
preserveStackVersion: false,
424-
entriesPublish: true,
425423
concurrency: 1,
426424
importConcurrency: 5,
427425
fetchConcurrency: 5,

packages/contentstack-import/src/import/modules/assets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export default class ImportAssets extends BaseClass {
6565
await this.importAssets();
6666

6767
// NOTE Step 4: Publish assets
68-
if (this.assetConfig.publishAssets) await this.publish();
68+
if (!this.importConfig.skipAssetsPublish) await this.publish();
6969
}
7070

7171
/**

packages/contentstack-import/src/import/modules/entries.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ export default class EntriesImport extends BaseClass {
181181
log(this.importConfig, 'Entries imported successfully', 'success');
182182

183183
// Publishing entries
184-
if (this.importConfig.entriesPublish) {
184+
if (!this.importConfig.skipEntriesPublish) {
185185
log(this.importConfig, 'Publishing entries', 'info');
186186
this.envs = fileHelper.readFileSync(this.envPath);
187187
for (let entryRequestOption of entryRequestOptions) {

packages/contentstack-import/src/types/default-config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ export default interface DefaultConfig {
5252
assets: {
5353
dirName: string;
5454
assetBatchLimit: number;
55-
publishAssets: boolean;
5655
fileName: string;
5756
importSameStructure: boolean;
5857
uploadAssetsConcurrency: number;
@@ -177,7 +176,6 @@ export default interface DefaultConfig {
177176
};
178177
rateLimit: number;
179178
preserveStackVersion: boolean;
180-
entriesPublish: boolean;
181179
concurrency: number;
182180
importConcurrency: number;
183181
fetchConcurrency: number;
@@ -199,4 +197,6 @@ export default interface DefaultConfig {
199197
} & Record<string, any>; // To overwrite any build-in config. And this config is equal to --config flag.
200198
};
201199
globalModules: string[];
200+
skipAssetsPublish?: boolean;
201+
skipEntriesPublish?: boolean;
202202
}

packages/contentstack-import/src/types/import-config.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ export interface ExternalConfig {
1111
}
1212

1313
export default interface ImportConfig extends DefaultConfig, ExternalConfig {
14+
skipAssetsPublish?: boolean;
15+
skipEntriesPublish?: boolean;
1416
cliLogsPath: string;
1517
canCreatePrivateApp: boolean;
1618
contentDir: string;

packages/contentstack-import/src/utils/import-config-handler.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,14 @@ const setupConfig = async (importCmdFlags: any): Promise<ImportConfig> => {
8989
if (importCmdFlags['backup-dir']) {
9090
config.useBackedupDir = importCmdFlags['backup-dir'];
9191
}
92+
93+
if (importCmdFlags['skip-assets-publish']) {
94+
config.skipAssetsPublish = importCmdFlags['skip-assets-publish'];
95+
}
96+
97+
if (importCmdFlags['skip-entries-publish']) {
98+
config.skipEntriesPublish = importCmdFlags['skip-entries-publish'];
99+
}
92100

93101
// Note to support old modules
94102
config.target_stack = config.apiKey;

0 commit comments

Comments
 (0)