@contentstack/cli-cm-bulk-publish 1.5.0 → 1.6.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 CHANGED
@@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli-cm-bulk-publish
18
18
  $ csdx COMMAND
19
19
  running command...
20
20
  $ csdx (--version)
21
- @contentstack/cli-cm-bulk-publish/1.5.0 darwin-arm64 node-v22.2.0
21
+ @contentstack/cli-cm-bulk-publish/1.6.0 darwin-arm64 node-v22.2.0
22
22
  $ csdx --help [COMMAND]
23
23
  USAGE
24
24
  $ csdx COMMAND
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@contentstack/cli-cm-bulk-publish",
3
3
  "description": "Contentstack CLI plugin for bulk publish actions",
4
- "version": "1.5.0",
4
+ "version": "1.6.0",
5
5
  "author": "Contentstack",
6
6
  "bugs": "https://github.com/contentstack/cli/issues",
7
7
  "dependencies": {
@@ -9,23 +9,23 @@
9
9
  "@contentstack/cli-utilities": "~1.8.0",
10
10
  "bluebird": "^3.7.2",
11
11
  "chalk": "^4.1.2",
12
- "dotenv": "^16.1.4",
13
- "inquirer": "8.2.4",
14
- "lodash": "^4.17.15",
12
+ "dotenv": "^16.4.5",
13
+ "inquirer": "8.2.6",
14
+ "lodash": "^4.17.21",
15
15
  "mkdirp": "^1.0.4",
16
- "nock": "^13.0.2",
17
- "winston": "^3.7.2"
16
+ "nock": "^13.5.5",
17
+ "winston": "^3.15.0"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@oclif/test": "^2.5.6",
21
- "chai": "^4.2.0",
22
- "eslint": "^8.18.0",
21
+ "chai": "^4.5.0",
22
+ "eslint": "^8.57.1",
23
23
  "eslint-config-oclif": "^4.0.0",
24
24
  "globby": "^10.0.2",
25
- "mocha": "^10.0.0",
25
+ "mocha": "^10.7.3",
26
26
  "nyc": "^15.1.0",
27
- "oclif": "^3.8.1",
28
- "tslib": "^1.13.0"
27
+ "oclif": "^3.17.2",
28
+ "tslib": "^1.14.1"
29
29
  },
30
30
  "engines": {
31
31
  "node": ">=14.0.0"
@@ -10,6 +10,7 @@ const { performBulkPublish, publishEntry, initializeLogger } = require('../consu
10
10
  const retryFailedLogs = require('../util/retryfailed');
11
11
  const { validateFile } = require('../util/fs');
12
12
  const { isEmpty } = require('../util');
13
+ const { fetchBulkPublishLimit } = require('../util/common-utility');
13
14
 
14
15
  const queue = getQueue();
15
16
  queue.consumer = performBulkPublish;
@@ -200,6 +201,7 @@ async function getEntries(
200
201
  environments,
201
202
  forceUpdate,
202
203
  apiVersion,
204
+ bulkPublishLimit,
203
205
  skip = 0,
204
206
  ) {
205
207
  let queryParams = {
@@ -223,7 +225,7 @@ async function getEntries(
223
225
  const flag = await updateEntry(updatedEntry, locale);
224
226
  if (flag) {
225
227
  if (bulkPublish) {
226
- if (bulkPublishSet.length < 10) {
228
+ if (bulkPublishSet.length < bulkPublishLimit) {
227
229
  bulkPublishSet.push({
228
230
  uid: entries[index].uid,
229
231
  content_type: contentType,
@@ -231,7 +233,7 @@ async function getEntries(
231
233
  publish_details: entries[index].publish_details,
232
234
  });
233
235
  }
234
- if (bulkPublishSet.length === 10) {
236
+ if (bulkPublishSet.length === bulkPublishLimit) {
235
237
  await queue.Enqueue({
236
238
  entries: bulkPublishSet,
237
239
  locale,
@@ -260,7 +262,7 @@ async function getEntries(
260
262
  console.log(`No change Observed for contentType ${contentType} with entry ${entries[index].uid}`);
261
263
  }
262
264
 
263
- if (index === entriesResponse.items.length - 1 && bulkPublishSet.length > 0 && bulkPublishSet.length < 10) {
265
+ if (index === entriesResponse.items.length - 1 && bulkPublishSet.length > 0 && bulkPublishSet.length < bulkPublishLimit) {
264
266
  await queue.Enqueue({
265
267
  entries: bulkPublishSet,
266
268
  locale,
@@ -277,7 +279,7 @@ async function getEntries(
277
279
  }
278
280
  return setTimeout(
279
281
  async () =>
280
- getEntries(stack, config, schema, contentType, locale, bulkPublish, environments, forceUpdate, apiVersion, skip),
282
+ getEntries(stack, config, schema, contentType, locale, bulkPublish, environments, forceUpdate, apiVersion, bulkPublishLimit, skip),
281
283
  2000,
282
284
  );
283
285
  })
@@ -321,6 +323,7 @@ async function start(
321
323
  }
322
324
  } else {
323
325
  setConfig(config, bulkPublish);
326
+ const bulkPublishLimit = fetchBulkPublishLimit(stack?.org_uid);
324
327
  for (let i = 0; i < contentTypes.length; i += 1) {
325
328
  getContentTypeSchema(stack, contentTypes[i])
326
329
  .then(async (schema) => {
@@ -335,7 +338,8 @@ async function start(
335
338
  bulkPublish,
336
339
  environments,
337
340
  forceUpdate,
338
- apiVersion
341
+ apiVersion,
342
+ bulkPublishLimit
339
343
  );
340
344
  } catch (err) {
341
345
  console.log(`Failed to get Entries with contentType ${contentTypes[i]} and locale ${locales[j]}`);
@@ -15,6 +15,7 @@ const assetQueue = getQueue();
15
15
  const { Command } = require('@contentstack/cli-command');
16
16
  const command = new Command();
17
17
  const { isEmpty } = require('../util');
18
+ const { fetchBulkPublishLimit } = require('../util/common-utility');
18
19
 
19
20
  let bulkPublishSet = [];
20
21
  let bulkPublishAssetSet = [];
@@ -33,13 +34,13 @@ function getQueryParams(filter) {
33
34
  return queryString;
34
35
  }
35
36
 
36
- async function bulkAction(stack, items, bulkPublish, filter, destEnv, apiVersion) {
37
+ async function bulkAction(stack, items, bulkPublish, filter, destEnv, apiVersion, bulkPublishLimit) {
37
38
  return new Promise(async (resolve) => {
38
39
  for (let index = 0; index < items.length; index++) {
39
40
  changedFlag = true;
40
41
 
41
42
  if (bulkPublish) {
42
- if (bulkPublishSet.length < 10 && items[index].type === 'entry_published') {
43
+ if (bulkPublishSet.length < bulkPublishLimit && items[index].type === 'entry_published') {
43
44
  bulkPublishSet.push({
44
45
  uid: items[index].data.uid,
45
46
  content_type: items[index].content_type_uid,
@@ -49,7 +50,7 @@ async function bulkAction(stack, items, bulkPublish, filter, destEnv, apiVersion
49
50
  });
50
51
  }
51
52
 
52
- if (bulkPublishAssetSet.length < 10 && items[index].type === 'asset_published') {
53
+ if (bulkPublishAssetSet.length < bulkPublishLimit && items[index].type === 'asset_published') {
53
54
  bulkPublishAssetSet.push({
54
55
  uid: items[index].data.uid,
55
56
  version: items[index].data._version,
@@ -57,7 +58,7 @@ async function bulkAction(stack, items, bulkPublish, filter, destEnv, apiVersion
57
58
  });
58
59
  }
59
60
 
60
- if (bulkPublishAssetSet.length === 10) {
61
+ if (bulkPublishAssetSet.length === bulkPublishLimit) {
61
62
  await queue.Enqueue({
62
63
  assets: bulkPublishAssetSet,
63
64
  Type: 'asset',
@@ -69,7 +70,7 @@ async function bulkAction(stack, items, bulkPublish, filter, destEnv, apiVersion
69
70
  bulkPublishAssetSet = [];
70
71
  }
71
72
 
72
- if (bulkPublishSet.length === 10) {
73
+ if (bulkPublishSet.length === bulkPublishLimit) {
73
74
  await queue.Enqueue({
74
75
  entries: bulkPublishSet,
75
76
  locale: filter.locale,
@@ -81,7 +82,7 @@ async function bulkAction(stack, items, bulkPublish, filter, destEnv, apiVersion
81
82
  bulkPublishSet = [];
82
83
  }
83
84
 
84
- if (index === items.length - 1 && bulkPublishAssetSet.length <= 10 && bulkPublishAssetSet.length > 0) {
85
+ if (index === items.length - 1 && bulkPublishAssetSet.length <= bulkPublishLimit && bulkPublishAssetSet.length > 0) {
85
86
  await queue.Enqueue({
86
87
  assets: bulkPublishAssetSet,
87
88
  Type: 'asset',
@@ -93,7 +94,7 @@ async function bulkAction(stack, items, bulkPublish, filter, destEnv, apiVersion
93
94
  bulkPublishAssetSet = [];
94
95
  }
95
96
 
96
- if (index === items.length - 1 && bulkPublishSet.length <= 10 && bulkPublishSet.length > 0) {
97
+ if (index === items.length - 1 && bulkPublishSet.length <= bulkPublishLimit && bulkPublishSet.length > 0) {
97
98
  await queue.Enqueue({
98
99
  entries: bulkPublishSet,
99
100
  locale: filter.locale,
@@ -143,6 +144,7 @@ async function getSyncEntries(
143
144
  deliveryToken,
144
145
  destEnv,
145
146
  apiVersion,
147
+ bulkPublishLimit,
146
148
  paginationToken = null,
147
149
  ) {
148
150
  return new Promise(async (resolve, reject) => {
@@ -199,7 +201,7 @@ async function getSyncEntries(
199
201
  }
200
202
 
201
203
  if (entriesResponse.items.length > 0) {
202
- await bulkAction(stack, entriesResponse.items, bulkPublish, filter, destEnv, apiVersion);
204
+ await bulkAction(stack, entriesResponse.items, bulkPublish, filter, destEnv, apiVersion, bulkPublishLimit);
203
205
  }
204
206
  if (!entriesResponse.pagination_token) {
205
207
  if (!changedFlag) console.log('No Entries/Assets Found published on specified environment');
@@ -215,6 +217,7 @@ async function getSyncEntries(
215
217
  deliveryToken,
216
218
  destEnv,
217
219
  apiVersion,
220
+ bulkPublishLimit,
218
221
  entriesResponse.pagination_token,
219
222
  );
220
223
  }, 3000);
@@ -306,7 +309,8 @@ async function start(
306
309
  setConfig(config, bulkPublish);
307
310
  // filter.type = (f_types) ? f_types : types // types mentioned in the config file (f_types) are given preference
308
311
  const queryParams = getQueryParams(filter);
309
- await getSyncEntries(stack, config, queryParams, bulkPublish, filter, deliveryToken, destEnv, apiVersion);
312
+ const bulkPublishLimit = fetchBulkPublishLimit(stack?.org_uid);
313
+ await getSyncEntries(stack, config, queryParams, bulkPublish, filter, deliveryToken, destEnv, apiVersion, bulkPublishLimit);
310
314
  }
311
315
  }
312
316
 
@@ -12,6 +12,7 @@ const { performBulkPublish, publishEntry, initializeLogger } = require('../consu
12
12
  const retryFailedLogs = require('../util/retryfailed');
13
13
  const { validateFile } = require('../util/fs');
14
14
  const { isEmpty } = require('../util');
15
+ const { fetchBulkPublishLimit } = require('../util/common-utility');
15
16
 
16
17
  let changedFlag = false;
17
18
  const queue = getQueue();
@@ -226,6 +227,7 @@ async function getEntries(
226
227
  environments,
227
228
  sourceEnv,
228
229
  apiVersion,
230
+ bulkPublishLimit,
229
231
  skip = 0,
230
232
  ) {
231
233
  return new Promise((resolve, reject) => {
@@ -253,7 +255,7 @@ async function getEntries(
253
255
  localizedEntry = localizedEntry || {};
254
256
  if (checkNonLocalizedFieldChanges(schema, entry, localizedEntry)) {
255
257
  if (bulkPublish) {
256
- if (bulkPublishSet.length < 10) {
258
+ if (bulkPublishSet.length < bulkPublishLimit) {
257
259
  bulkPublishSet.push({
258
260
  uid: entry.uid,
259
261
  content_type: contentType,
@@ -261,7 +263,7 @@ async function getEntries(
261
263
  publish_details: localizedEntry.publish_details || [],
262
264
  });
263
265
  }
264
- if (bulkPublishSet.length === 10) {
266
+ if (bulkPublishSet.length === bulkPublishLimit) {
265
267
  await queue.Enqueue({
266
268
  entries: bulkPublishSet,
267
269
  locale: locale.code,
@@ -293,7 +295,7 @@ async function getEntries(
293
295
  reject(error);
294
296
  }
295
297
  }
296
- if (bulkPublishSet.length > 0 && bulkPublishSet.length < 10) {
298
+ if (bulkPublishSet.length > 0 && bulkPublishSet.length < bulkPublishLimit) {
297
299
  await queue.Enqueue({
298
300
  entries: bulkPublishSet,
299
301
  locale: locale.code,
@@ -311,7 +313,7 @@ async function getEntries(
311
313
  bulkPublishSet = [];
312
314
  return resolve();
313
315
  }
314
- await getEntries(stack, schema, contentType, languages, masterLocale, bulkPublish, environments, sourceEnv, apiVersion, skipCount);
316
+ await getEntries(stack, schema, contentType, languages, masterLocale, bulkPublish, environments, sourceEnv, apiVersion, bulkPublishLimit, skipCount);
315
317
  return resolve();
316
318
  })
317
319
  .catch((error) => reject(error));
@@ -363,10 +365,11 @@ async function start({ retryFailed, bulkPublish, sourceEnv, contentTypes, enviro
363
365
  setConfig(config, bulkPublish);
364
366
  const masterLocale = 'en-us';
365
367
  const languages = await getLanguages(stack);
368
+ const bulkPublishLimit = fetchBulkPublishLimit(stack?.org_uid);
366
369
  for (const element of contentTypes) {
367
370
  /* eslint-disable no-await-in-loop */
368
371
  const schema = await getContentTypeSchema(stack, element);
369
- await getEntries(stack, schema, element, languages, masterLocale, bulkPublish, environments, sourceEnv, apiVersion);
372
+ await getEntries(stack, schema, element, languages, masterLocale, bulkPublish, environments, sourceEnv, apiVersion, bulkPublishLimit);
370
373
  /* eslint-enable no-await-in-loop */
371
374
  }
372
375
  }
@@ -10,6 +10,7 @@ const retryFailedLogs = require('../util/retryfailed');
10
10
  const { validateFile } = require('../util/fs');
11
11
  const { setDelayForBulkPublish } = require('../util');
12
12
  const { isEmpty } = require('../util');
13
+ const { fetchBulkPublishLimit } = require('../util/common-utility');
13
14
 
14
15
  let skipCount;
15
16
  const queue = getQueue();
@@ -30,7 +31,7 @@ async function getEnvironment(stack, environmentName) {
30
31
  });
31
32
  }
32
33
 
33
- async function getEntries(stack, contentType, environmentUid, locale, bulkPublish, environments, apiVersion, skip = 0) {
34
+ async function getEntries(stack, contentType, environmentUid, locale, bulkPublish, environments, apiVersion, bulkPublishLimit, skip = 0) {
34
35
  return new Promise((resolve, reject) => {
35
36
  skipCount = skip;
36
37
 
@@ -57,7 +58,7 @@ async function getEntries(stack, contentType, environmentUid, locale, bulkPublis
57
58
  if (publishedEntry && publishedEntry.version < entries[index]._version) {
58
59
  changedFlag = true;
59
60
  if (bulkPublish) {
60
- if (bulkPublishSet.length < 10) {
61
+ if (bulkPublishSet.length < bulkPublishLimit) {
61
62
  bulkPublishSet.push({
62
63
  uid: entries[index].uid,
63
64
  content_type: contentType,
@@ -77,7 +78,7 @@ async function getEntries(stack, contentType, environmentUid, locale, bulkPublis
77
78
  });
78
79
  }
79
80
  }
80
- if (bulkPublishSet.length === 10) {
81
+ if (bulkPublishSet.length === bulkPublishLimit) {
81
82
  await queue.Enqueue({
82
83
  entries: bulkPublishSet,
83
84
  locale,
@@ -91,7 +92,7 @@ async function getEntries(stack, contentType, environmentUid, locale, bulkPublis
91
92
  if (
92
93
  index === responseEntries.items.length - 1 &&
93
94
  bulkPublishSet.length > 0 &&
94
- bulkPublishSet.length <= 10
95
+ bulkPublishSet.length <= bulkPublishLimit
95
96
  ) {
96
97
  await queue.Enqueue({
97
98
  entries: bulkPublishSet,
@@ -162,11 +163,12 @@ async function start({ retryFailed, bulkPublish, sourceEnv, contentTypes, locale
162
163
  }
163
164
  } else if (sourceEnv) {
164
165
  setConfig(config, bulkPublish);
166
+ const bulkPublishLimit = fetchBulkPublishLimit(stack?.org_uid)
165
167
  const environmentDetails = await getEnvironment(stack, sourceEnv);
166
168
  for (let i = 0; i < contentTypes.length; i += 1) {
167
169
  for (let j = 0; j < locales.length; j += 1) {
168
170
  /* eslint-disable no-await-in-loop */
169
- await getEntries(stack, contentTypes[i], environmentDetails.uid, locales[j], bulkPublish, environments, apiVersion);
171
+ await getEntries(stack, contentTypes[i], environmentDetails.uid, locales[j], bulkPublish, environments, apiVersion,bulkPublishLimit );
170
172
  /* eslint-enable no-await-in-loop */
171
173
  }
172
174
  }
@@ -9,6 +9,7 @@ const { performBulkPublish, publishEntry, initializeLogger } = require('../consu
9
9
  const retryFailedLogs = require('../util/retryfailed');
10
10
  const { validateFile } = require('../util/fs');
11
11
  const { isEmpty } = require('../util');
12
+ const { fetchBulkPublishLimit } = require('../util/common-utility');
12
13
 
13
14
  const queue = getQueue();
14
15
  let skipCount;
@@ -42,7 +43,7 @@ async function getEnvironment(stack, environmentName) {
42
43
  });
43
44
  }
44
45
 
45
- async function getEntries(stack, contentType, environmentUid, locale, bulkPublish, environments, apiVersion, skip = 0) {
46
+ async function getEntries(stack, contentType, environmentUid, locale, bulkPublish, environments, apiVersion, bulkPublishLimit, skip = 0) {
46
47
  return new Promise((resolve, reject) => {
47
48
  skipCount = skip;
48
49
 
@@ -68,7 +69,7 @@ async function getEntries(stack, contentType, environmentUid, locale, bulkPublis
68
69
  if (!publishedEntry) {
69
70
  changedFlag = true;
70
71
  if (bulkPublish) {
71
- if (bulkPublishSet.length < 10) {
72
+ if (bulkPublishSet.length < bulkPublishLimit) {
72
73
  bulkPublishSet.push({
73
74
  uid: entries[index].uid,
74
75
  content_type: contentType,
@@ -89,7 +90,7 @@ async function getEntries(stack, contentType, environmentUid, locale, bulkPublis
89
90
  }
90
91
  }
91
92
  if (bulkPublish) {
92
- if (bulkPublishSet.length === 10) {
93
+ if (bulkPublishSet.length === bulkPublishLimit) {
93
94
  await queue.Enqueue({
94
95
  entries: bulkPublishSet,
95
96
  locale,
@@ -102,7 +103,7 @@ async function getEntries(stack, contentType, environmentUid, locale, bulkPublis
102
103
  }
103
104
  if (
104
105
  index === responseEntries.items.length - 1 &&
105
- bulkPublishSet.length < 10 &&
106
+ bulkPublishSet.length < bulkPublishLimit &&
106
107
  bulkPublishSet.length > 0
107
108
  ) {
108
109
  await queue.Enqueue({
@@ -162,10 +163,11 @@ async function start({ sourceEnv, environments, locale, contentTypes, bulkPublis
162
163
  } else {
163
164
  setConfig(config, bulkPublish);
164
165
  if (sourceEnv) {
166
+ const bulkPublishLimit = fetchBulkPublishLimit(stack?.org_uid);
165
167
  const environmentDetails = await getEnvironment(stack, sourceEnv);
166
168
  for (let i = 0; i < contentTypes.length; i += 1) {
167
169
  /* eslint-disable no-await-in-loop */
168
- await getEntries(stack, contentTypes[i], environmentDetails.uid, locale, bulkPublish, environments, apiVersion);
170
+ await getEntries(stack, contentTypes[i], environmentDetails.uid, locale, bulkPublish, environments, apiVersion, bulkPublishLimit);
169
171
  /* eslint-enable no-await-in-loop */
170
172
  changedFlag = false;
171
173
  }
@@ -12,6 +12,7 @@ const { configHandler } = require('@contentstack/cli-utilities');
12
12
  let config = configHandler
13
13
  const { initializeLogger, performBulkUnPublish, publishUsingVersion } = require('../consumer/publish');
14
14
  const getStack = require('../util/client.js').getStack;
15
+ const { fetchBulkPublishLimit } = require('../util/common-utility');
15
16
 
16
17
  const intervalBetweenPublishRequests = 3; // interval in seconds
17
18
 
@@ -185,6 +186,7 @@ async function revertUsingLogs(logFileName) {
185
186
  branch: response.file[0].message.branch || 'main'
186
187
  });
187
188
  logs = await formatLogData(stack, response.file);
189
+ const bulkPublishLimit = fetchBulkPublishLimit(stack?.org_uid);
188
190
 
189
191
  logs.environments.forEach((environment, envIndex) => {
190
192
  switch (logs.type) {
@@ -199,7 +201,7 @@ async function revertUsingLogs(logFileName) {
199
201
  // handle revert case
200
202
 
201
203
  publishDetailsForThisEnvironment.forEach((publishDetail) => {
202
- if (bulkPublishSet.length < 10) {
204
+ if (bulkPublishSet.length < bulkPublishLimit) {
203
205
  bulkPublishSet.push({
204
206
  uid,
205
207
  version: publishDetail.version,
@@ -209,7 +211,7 @@ async function revertUsingLogs(logFileName) {
209
211
  });
210
212
  }
211
213
 
212
- if (bulkPublishSet.length === 10) {
214
+ if (bulkPublishSet.length === bulkPublishLimit) {
213
215
  const data = {
214
216
  entries: bulkPublishSet,
215
217
  environments: [environment.name],
@@ -222,7 +224,7 @@ async function revertUsingLogs(logFileName) {
222
224
  }
223
225
  });
224
226
  } else {
225
- if (bulkUnpublishSet.length < 10) {
227
+ if (bulkUnpublishSet.length < bulkPublishLimit) {
226
228
  bulkUnpublishSet.push({
227
229
  uid,
228
230
  locale,
@@ -231,7 +233,7 @@ async function revertUsingLogs(logFileName) {
231
233
  });
232
234
  }
233
235
 
234
- if (bulkUnpublishSet.length === 10) {
236
+ if (bulkUnpublishSet.length === bulkPublishLimit) {
235
237
  unpublishQueue.Enqueue({
236
238
  entries: bulkUnpublishSet,
237
239
  environments: [environment.name],
@@ -244,7 +246,7 @@ async function revertUsingLogs(logFileName) {
244
246
  }
245
247
 
246
248
  if (entryIndex === logs.entries[loc].length - 1) {
247
- if (bulkUnpublishSet.length <= 10 && bulkUnpublishSet.length !== 0) {
249
+ if (bulkUnpublishSet.length <= bulkPublishLimit && bulkUnpublishSet.length !== 0) {
248
250
  unpublishQueue.Enqueue({
249
251
  entries: bulkUnpublishSet,
250
252
  environments: [environment.name],
@@ -255,7 +257,7 @@ async function revertUsingLogs(logFileName) {
255
257
  bulkUnpublishSet = [];
256
258
  }
257
259
 
258
- if (bulkPublishSet.length <= 10 && bulkPublishSet.length !== 0) {
260
+ if (bulkPublishSet.length <= bulkPublishLimit && bulkPublishSet.length !== 0) {
259
261
  const data = {
260
262
  entries: bulkPublishSet,
261
263
  environments: [environment.name],
@@ -288,7 +290,7 @@ async function revertUsingLogs(logFileName) {
288
290
  // handle revert case
289
291
 
290
292
  publishDetailsForThisEnvironment.forEach((publishDetail) => {
291
- if (bulkPublishSet.length < 10) {
293
+ if (bulkPublishSet.length < bulkPublishLimit) {
292
294
  bulkPublishSet.push({
293
295
  uid,
294
296
  version: publishDetail.version,
@@ -296,7 +298,7 @@ async function revertUsingLogs(logFileName) {
296
298
  });
297
299
  }
298
300
 
299
- if (bulkPublishSet.length === 10) {
301
+ if (bulkPublishSet.length === bulkPublishLimit) {
300
302
  const data = {
301
303
  assets: bulkPublishSet,
302
304
  environments: [environment.name],
@@ -309,14 +311,14 @@ async function revertUsingLogs(logFileName) {
309
311
  }
310
312
  });
311
313
  } else {
312
- if (bulkUnpublishSet.length < 10) {
314
+ if (bulkUnpublishSet.length < bulkPublishLimit) {
313
315
  bulkUnpublishSet.push({
314
316
  uid,
315
317
  publish_details: [],
316
318
  });
317
319
  }
318
320
 
319
- if (bulkUnpublishSet.length === 10) {
321
+ if (bulkUnpublishSet.length === bulkPublishLimit) {
320
322
  unpublishQueue.Enqueue({
321
323
  assets: bulkUnpublishSet,
322
324
  environments: [environment.name],
@@ -328,7 +330,7 @@ async function revertUsingLogs(logFileName) {
328
330
  }
329
331
 
330
332
  if (assetIndex === logs.assets.length - 1) {
331
- if (bulkUnpublishSet.length <= 10 && bulkUnpublishSet.length !== 0) {
333
+ if (bulkUnpublishSet.length <= bulkPublishLimit && bulkUnpublishSet.length !== 0) {
332
334
  unpublishQueue.Enqueue({
333
335
  assets: bulkUnpublishSet,
334
336
  environments: [environment.name],
@@ -338,7 +340,7 @@ async function revertUsingLogs(logFileName) {
338
340
  bulkUnpublishSet = [];
339
341
  }
340
342
 
341
- if (bulkPublishSet.length <= 10 && bulkPublishSet.length !== 0) {
343
+ if (bulkPublishSet.length <= bulkPublishLimit && bulkPublishSet.length !== 0) {
342
344
  const data = {
343
345
  assets: bulkPublishSet,
344
346
  environments: [environment.name],
@@ -15,6 +15,7 @@ const assetQueue = getQueue();
15
15
  const { Command } = require('@contentstack/cli-command');
16
16
  const command = new Command();
17
17
  const { isEmpty } = require('../util');
18
+ const { fetchBulkPublishLimit } = require('../util/common-utility');
18
19
 
19
20
  let bulkUnPublishSet = [];
20
21
  let bulkUnPulishAssetSet = [];
@@ -50,13 +51,13 @@ function getQueryParams(filter) {
50
51
  return queryString;
51
52
  }
52
53
 
53
- function bulkAction(stack, items, bulkUnpublish, environment, locale, apiVersion) {
54
+ function bulkAction(stack, items, bulkUnpublish, environment, locale, apiVersion, bulkPublishLimit) {
54
55
  return new Promise(async (resolve) => {
55
56
  for (let index = 0; index < items.length; index++) {
56
57
  changedFlag = true;
57
58
 
58
59
  if (bulkUnpublish) {
59
- if (bulkUnPublishSet.length < 10 && items[index].type === 'entry_published') {
60
+ if (bulkUnPublishSet.length < bulkPublishLimit && items[index].type === 'entry_published') {
60
61
  bulkUnPublishSet.push({
61
62
  uid: items[index].data.uid,
62
63
  content_type: items[index].content_type_uid,
@@ -65,7 +66,7 @@ function bulkAction(stack, items, bulkUnpublish, environment, locale, apiVersion
65
66
  });
66
67
  }
67
68
 
68
- if (bulkUnPulishAssetSet.length < 10 && items[index].type === 'asset_published') {
69
+ if (bulkUnPulishAssetSet.length < bulkPublishLimit && items[index].type === 'asset_published') {
69
70
  bulkUnPulishAssetSet.push({
70
71
  uid: items[index].data.uid,
71
72
  version: items[index].data._version,
@@ -73,7 +74,7 @@ function bulkAction(stack, items, bulkUnpublish, environment, locale, apiVersion
73
74
  });
74
75
  }
75
76
 
76
- if (bulkUnPulishAssetSet.length === 10) {
77
+ if (bulkUnPulishAssetSet.length === bulkPublishLimit) {
77
78
  await queue.Enqueue({
78
79
  assets: bulkUnPulishAssetSet,
79
80
  Type: 'asset',
@@ -85,7 +86,7 @@ function bulkAction(stack, items, bulkUnpublish, environment, locale, apiVersion
85
86
  bulkUnPulishAssetSet = [];
86
87
  }
87
88
 
88
- if (bulkUnPublishSet.length === 10) {
89
+ if (bulkUnPublishSet.length === bulkPublishLimit) {
89
90
  await queue.Enqueue({
90
91
  entries: bulkUnPublishSet,
91
92
  locale: locale,
@@ -96,7 +97,7 @@ function bulkAction(stack, items, bulkUnpublish, environment, locale, apiVersion
96
97
  });
97
98
  bulkUnPublishSet = [];
98
99
  }
99
- if (index === items.length - 1 && bulkUnPulishAssetSet.length <= 10 && bulkUnPulishAssetSet.length > 0) {
100
+ if (index === items.length - 1 && bulkUnPulishAssetSet.length <= bulkPublishLimit && bulkUnPulishAssetSet.length > 0) {
100
101
  await queue.Enqueue({
101
102
  assets: bulkUnPulishAssetSet,
102
103
  Type: 'asset',
@@ -108,7 +109,7 @@ function bulkAction(stack, items, bulkUnpublish, environment, locale, apiVersion
108
109
  bulkUnPulishAssetSet = [];
109
110
  }
110
111
 
111
- if (index === items.length - 1 && bulkUnPublishSet.length <= 10 && bulkUnPublishSet.length > 0) {
112
+ if (index === items.length - 1 && bulkUnPublishSet.length <= bulkPublishLimit && bulkUnPublishSet.length > 0) {
112
113
  await queue.Enqueue({
113
114
  entries: bulkUnPublishSet,
114
115
  locale: locale,
@@ -155,6 +156,7 @@ async function getSyncEntries(
155
156
  environment,
156
157
  deliveryToken,
157
158
  apiVersion,
159
+ bulkPublishLimit,
158
160
  paginationToken = null,
159
161
  ) {
160
162
  return new Promise(async (resolve, reject) => {
@@ -205,7 +207,7 @@ async function getSyncEntries(
205
207
  const entriesResponse = await Stack.sync(syncData);
206
208
 
207
209
  if (entriesResponse.items.length > 0) {
208
- await bulkAction(stack, entriesResponse.items, bulkUnpublish, environment, locale, apiVersion);
210
+ await bulkAction(stack, entriesResponse.items, bulkUnpublish, environment, locale, apiVersion, bulkPublishLimit);
209
211
  }
210
212
  if (entriesResponse.items.length === 0) {
211
213
  if (!changedFlag) console.log('No Entries/Assets Found published on specified environment');
@@ -221,6 +223,7 @@ async function getSyncEntries(
221
223
  environment,
222
224
  deliveryToken,
223
225
  apiVersion,
226
+ bulkPublishLimit,
224
227
  null,
225
228
  );
226
229
  }, 3000);
@@ -294,7 +297,8 @@ async function start(
294
297
  }
295
298
  setConfig(config, bulkUnpublish);
296
299
  const queryParams = getQueryParams(filter);
297
- await getSyncEntries(stack, config, locale, queryParams, bulkUnpublish, environment, deliveryToken, apiVersion);
300
+ const bulkPublishLimit = fetchBulkPublishLimit(stack?.org_uid);
301
+ await getSyncEntries(stack, config, locale, queryParams, bulkUnpublish, environment, deliveryToken, apiVersion, bulkPublishLimit);
298
302
  }
299
303
  }
300
304