@contentstack/cli-cm-bulk-publish 1.4.4 → 1.4.6

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.4.2 darwin-arm64 node-v20.8.0
21
+ @contentstack/cli-cm-bulk-publish/1.4.6 darwin-arm64 node-v21.6.2
22
22
  $ csdx --help [COMMAND]
23
23
  USAGE
24
24
  $ csdx COMMAND
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@contentstack/cli-cm-bulk-publish",
3
3
  "description": "Contentstack CLI plugin for bulk publish actions",
4
- "version": "1.4.4",
4
+ "version": "1.4.6",
5
5
  "author": "Contentstack",
6
6
  "bugs": "https://github.com/contentstack/cli/issues",
7
7
  "dependencies": {
8
- "@contentstack/cli-command": "~1.2.16",
9
- "@contentstack/cli-utilities": "~1.6.0",
8
+ "@contentstack/cli-command": "~1.2.18",
9
+ "@contentstack/cli-utilities": "~1.6.1",
10
10
  "bluebird": "^3.7.2",
11
11
  "chalk": "^4.1.2",
12
12
  "dotenv": "^16.1.4",
@@ -99,4 +99,4 @@
99
99
  "version": "oclif readme && git add README.md",
100
100
  "clean": "rm -rf ./node_modules tsconfig.build.tsbuildinfo"
101
101
  }
102
- }
102
+ }
@@ -124,7 +124,7 @@ class CrossPublishCommand extends Command {
124
124
 
125
125
  flagsAdapter(_flags) {
126
126
  if ('content-type' in _flags) {
127
- _flags.contentType = _flags['content-type'];
127
+ _flags.contentTypes = _flags['content-type'];
128
128
  delete _flags['content-type'];
129
129
  }
130
130
  if ('locales' in _flags) {
@@ -196,7 +196,7 @@ CrossPublishCommand.flags = {
196
196
  default: 'true',
197
197
  }),
198
198
  'api-version': flags.string({
199
- description : "API Version to be used. Values [Default: 3, Nested Reference Publishing: 3.2].",
199
+ description: 'API Version to be used. Values [Default: 3, Nested Reference Publishing: 3.2].',
200
200
  }),
201
201
  contentType: flags.string({
202
202
  char: 't',
@@ -5,9 +5,8 @@
5
5
  const chalk = require('chalk');
6
6
  const path = require('path');
7
7
  const { formatError } = require('../util');
8
- const { configHandler } = require('@contentstack/cli-utilities')
9
- const apiVersionForNRP = '3.2'
10
- const nrpApiVersionWarning = `Provided apiVersion is invalid. ${apiVersionForNRP} is only supported value. Continuing with regular bulk-publish for now.`
8
+ const apiVersionForNRP = '3.2';
9
+ const nrpApiVersionWarning = `Provided apiVersion is invalid. ${apiVersionForNRP} is only supported value. Continuing with regular bulk-publish for now.`;
11
10
 
12
11
  const { getLoggerInstance, addLogs, getLogsDirPath } = require('../util/logger');
13
12
  const logsDir = getLogsDirPath();
@@ -25,13 +24,30 @@ function initializeLogger(fileName) {
25
24
  /* eslint-disable camelcase */
26
25
  function removePublishDetails(elements) {
27
26
  if (elements && elements.length > 0) {
28
- return elements.map(({ _publish_details, ...rest }) => rest);
27
+ return elements.map(({ publish_details, ...rest }) => rest);
29
28
  } else {
30
29
  delete elements.publish_details;
31
30
  }
32
31
  return elements;
33
32
  }
34
33
 
34
+ function displayEntriesDetails(sanitizedData) {
35
+ sanitizedData.forEach((entry) => {
36
+ console.log(chalk.green(`Entry UID '${entry.uid}' of CT '${entry.content_type}' in locale '${entry.locale}'`));
37
+ });
38
+ }
39
+
40
+ function displayAssetsDetails(sanitizedData) {
41
+ sanitizedData.forEach((asset) => {
42
+ console.log(
43
+ chalk.green(
44
+ `Asset UID '${asset.uid}' ${asset.version ? `and version '${asset.version}'` : ''} ${
45
+ asset.locale ? `in locale '${asset.locale}'` : ''
46
+ }`,
47
+ ),
48
+ );
49
+ });
50
+ }
35
51
  async function publishEntry(data, _config, queue) {
36
52
  const lang = [];
37
53
  const entryObj = data.obj;
@@ -170,7 +186,7 @@ async function UnpublishEntry(data, _config, queue) {
170
186
  );
171
187
  addLogs(
172
188
  logger,
173
- { options: entryObj, aapi_key: stack.stackHeaders.api_key, alias: stack.alias, host: stack.host },
189
+ { options: entryObj, api_key: stack.stackHeaders.api_key, alias: stack.alias, host: stack.host },
174
190
  'error',
175
191
  );
176
192
  }
@@ -219,7 +235,7 @@ async function performBulkPublish(data, _config, queue) {
219
235
  let conf;
220
236
  const bulkPublishObj = data.obj;
221
237
  const stack = bulkPublishObj.stack;
222
- let payload = {}
238
+ let payload = {};
223
239
  switch (bulkPublishObj.Type) {
224
240
  case 'entry':
225
241
  conf = {
@@ -230,13 +246,12 @@ async function performBulkPublish(data, _config, queue) {
230
246
  payload['details'] = conf;
231
247
  if (bulkPublishObj.apiVersion) {
232
248
  if (!isNaN(bulkPublishObj.apiVersion) && bulkPublishObj.apiVersion === apiVersionForNRP) {
233
- payload['api_version'] = bulkPublishObj.apiVersion
249
+ payload['api_version'] = bulkPublishObj.apiVersion;
234
250
  payload.details.publish_with_reference = true;
235
251
  } else {
236
- if (bulkPublishObj.apiVersion !== '3') { // because 3 is the default value for api-version, and it exists for the purpose of display only
237
- console.log(
238
- chalk.yellow(nrpApiVersionWarning),
239
- );
252
+ if (bulkPublishObj.apiVersion !== '3') {
253
+ // because 3 is the default value for api-version, and it exists for the purpose of display only
254
+ console.log(chalk.yellow(nrpApiVersionWarning));
240
255
  }
241
256
  }
242
257
  }
@@ -245,13 +260,12 @@ async function performBulkPublish(data, _config, queue) {
245
260
  .publish(payload)
246
261
  .then((bulkPublishEntriesResponse) => {
247
262
  if (!bulkPublishEntriesResponse.error_message) {
248
- const sanitizedData = JSON.stringify(removePublishDetails(bulkPublishObj.entries));
263
+ const sanitizedData = removePublishDetails(bulkPublishObj.entries);
249
264
  console.log(
250
- chalk.green(
251
- `Bulk entries sent for publish ${sanitizedData}`,
252
- ),
253
- (bulkPublishEntriesResponse.job_id) ? chalk.yellow(`job_id: ${bulkPublishEntriesResponse.job_id}`) : ''
265
+ chalk.green(`Bulk entries sent for publish`),
266
+ bulkPublishEntriesResponse.job_id ? chalk.yellow(`job_id: ${bulkPublishEntriesResponse.job_id}`) : '',
254
267
  );
268
+ displayEntriesDetails(sanitizedData);
255
269
  delete bulkPublishObj.stack;
256
270
  addLogs(
257
271
  logger,
@@ -268,13 +282,9 @@ async function performBulkPublish(data, _config, queue) {
268
282
  queue.Enqueue(data);
269
283
  } else {
270
284
  delete bulkPublishObj.stack;
271
- console.log(
272
- chalk.red(
273
- `Bulk entries ${JSON.stringify(
274
- removePublishDetails(bulkPublishObj.entries),
275
- )} failed to publish with error ${formatError(error)}`,
276
- ),
277
- );
285
+ console.log(chalk.red(`Bulk entries failed to publish with error ${formatError(error)}`));
286
+ let sanitizedData = removePublishDetails(bulkPublishObj.entries);
287
+ displayEntriesDetails(sanitizedData);
278
288
  addLogs(
279
289
  logger,
280
290
  { options: bulkPublishObj, api_key: stack.stackHeaders.api_key, alias: stack.alias, host: stack.host },
@@ -292,12 +302,11 @@ async function performBulkPublish(data, _config, queue) {
292
302
  payload['details'] = conf;
293
303
  if (bulkPublishObj.apiVersion) {
294
304
  if (!isNaN(bulkPublishObj.apiVersion) && bulkPublishObj.apiVersion === apiVersionForNRP) {
295
- payload['api_version'] = bulkPublishObj.apiVersion
305
+ payload['api_version'] = bulkPublishObj.apiVersion;
296
306
  } else {
297
- if (bulkPublishObj.apiVersion !== '3') { // because 3 is the default value for api-version, and it exists for the purpose of display only
298
- console.log(
299
- chalk.yellow(nrpApiVersionWarning),
300
- );
307
+ if (bulkPublishObj.apiVersion !== '3') {
308
+ // because 3 is the default value for api-version, and it exists for the purpose of display only
309
+ console.log(chalk.yellow(nrpApiVersionWarning));
301
310
  }
302
311
  }
303
312
  }
@@ -308,10 +317,12 @@ async function performBulkPublish(data, _config, queue) {
308
317
  if (!bulkPublishAssetsResponse.error_message) {
309
318
  console.log(
310
319
  chalk.green(
311
- `Bulk assets sent for publish ${JSON.stringify(removePublishDetails(bulkPublishObj.assets))}`,
312
- (bulkPublishAssetsResponse.job_id) ? chalk.yellow(`job_id: ${bulkPublishAssetsResponse.job_id}`) : ''
320
+ `Bulk assets sent for publish`,
321
+ bulkPublishAssetsResponse.job_id ? chalk.yellow(`job_id: ${bulkPublishAssetsResponse.job_id}`) : '',
313
322
  ),
314
323
  );
324
+ let sanitizedData = removePublishDetails(bulkPublishObj.assets);
325
+ displayAssetsDetails(sanitizedData);
315
326
  delete bulkPublishObj.stack;
316
327
  addLogs(
317
328
  logger,
@@ -328,13 +339,10 @@ async function performBulkPublish(data, _config, queue) {
328
339
  queue.Enqueue(data);
329
340
  } else {
330
341
  delete bulkPublishObj.stack;
331
- console.log(
332
- chalk.red(
333
- `Bulk assets ${JSON.stringify(
334
- removePublishDetails(bulkPublishObj.assets),
335
- )} failed to publish with error ${formatError(error)}`,
336
- ),
337
- );
342
+ console.log(chalk.red(`Bulk assets failed to publish with error ${formatError(error)}`));
343
+
344
+ let sanitizedData = removePublishDetails(bulkPublishObj.assets);
345
+ displayAssetsDetails(sanitizedData);
338
346
  addLogs(
339
347
  logger,
340
348
  { options: bulkPublishObj, api_key: stack.stackHeaders.api_key, alias: stack.alias, host: stack.host },
@@ -352,7 +360,7 @@ async function performBulkUnPublish(data, _config, queue) {
352
360
  let conf;
353
361
  const bulkUnPublishObj = data.obj;
354
362
  const stack = bulkUnPublishObj.stack;
355
- let payload = {}
363
+ let payload = {};
356
364
  switch (bulkUnPublishObj.Type) {
357
365
  case 'entry':
358
366
  conf = {
@@ -363,12 +371,11 @@ async function performBulkUnPublish(data, _config, queue) {
363
371
  payload['details'] = conf;
364
372
  if (bulkUnPublishObj.apiVersion) {
365
373
  if (!isNaN(bulkUnPublishObj.apiVersion) && bulkUnPublishObj.apiVersion === apiVersionForNRP) {
366
- payload['api_version'] = bulkUnPublishObj.apiVersion
374
+ payload['api_version'] = bulkUnPublishObj.apiVersion;
367
375
  } else {
368
- if (bulkUnPublishObj.apiVersion !== '3') { // because 3 is the default value for api-version, and it exists for the purpose of display only
369
- console.log(
370
- chalk.yellow(nrpApiVersionWarning),
371
- );
376
+ if (bulkUnPublishObj.apiVersion !== '3') {
377
+ // because 3 is the default value for api-version, and it exists for the purpose of display only
378
+ console.log(chalk.yellow(nrpApiVersionWarning));
372
379
  }
373
380
  }
374
381
  }
@@ -378,12 +385,17 @@ async function performBulkUnPublish(data, _config, queue) {
378
385
  .then((bulkUnPublishEntriesResponse) => {
379
386
  if (!bulkUnPublishEntriesResponse.error_message) {
380
387
  delete bulkUnPublishObj.stack;
388
+
381
389
  console.log(
382
390
  chalk.green(
383
- `Bulk entries sent for Unpublish ${JSON.stringify(removePublishDetails(bulkUnPublishObj.entries))}`,
384
- (bulkUnPublishEntriesResponse.job_id) ? chalk.yellow(`job_id: ${bulkUnPublishEntriesResponse.job_id}`) : ''
391
+ `Bulk entries sent for Unpublish`,
392
+ bulkUnPublishEntriesResponse.job_id
393
+ ? chalk.yellow(`job_id: ${bulkUnPublishEntriesResponse.job_id}`)
394
+ : '',
385
395
  ),
386
396
  );
397
+ let sanitizedData = removePublishDetails(bulkUnPublishObj.entries);
398
+ displayEntriesDetails(sanitizedData);
387
399
  addLogs(
388
400
  logger,
389
401
  { options: bulkUnPublishObj, api_key: stack.stackHeaders.api_key, alias: stack.alias, host: stack.host },
@@ -399,13 +411,9 @@ async function performBulkUnPublish(data, _config, queue) {
399
411
  queue.Enqueue(data);
400
412
  } else {
401
413
  delete bulkUnPublishObj.stack;
402
- console.log(
403
- chalk.red(
404
- `Bulk entries ${JSON.stringify(
405
- removePublishDetails(bulkUnPublishObj.entries),
406
- )} failed to Unpublish with error ${formatError(error)}`,
407
- ),
408
- );
414
+ console.log(chalk.red(`Bulk entries failed to Unpublish with error ${formatError(error)}`));
415
+ let sanitizedData = removePublishDetails(bulkUnPublishObj.entries);
416
+ displayEntriesDetails(sanitizedData);
409
417
  addLogs(
410
418
  logger,
411
419
  { options: bulkUnPublishObj, api_key: stack.stackHeaders.api_key, alias: stack.alias, host: stack.host },
@@ -423,12 +431,11 @@ async function performBulkUnPublish(data, _config, queue) {
423
431
  payload['details'] = conf;
424
432
  if (bulkUnPublishObj.apiVersion) {
425
433
  if (!isNaN(bulkUnPublishObj.apiVersion) && bulkUnPublishObj.apiVersion === apiVersionForNRP) {
426
- payload['api_version'] = bulkUnPublishObj.apiVersion
434
+ payload['api_version'] = bulkUnPublishObj.apiVersion;
427
435
  } else {
428
- if (bulkUnPublishObj.apiVersion !== '3') { // because 3 is the default value for api-version, and it exists for the purpose of display only
429
- console.log(
430
- chalk.yellow(nrpApiVersionWarning),
431
- );
436
+ if (bulkUnPublishObj.apiVersion !== '3') {
437
+ // because 3 is the default value for api-version, and it exists for the purpose of display only
438
+ console.log(chalk.yellow(nrpApiVersionWarning));
432
439
  }
433
440
  }
434
441
  }
@@ -438,12 +445,14 @@ async function performBulkUnPublish(data, _config, queue) {
438
445
  .then((bulkUnPublishAssetsResponse) => {
439
446
  if (!bulkUnPublishAssetsResponse.error_message) {
440
447
  delete bulkUnPublishObj.stack;
448
+ let sanitizedData = removePublishDetails(bulkUnPublishObj.assets);
441
449
  console.log(
442
450
  chalk.green(
443
- `Bulk assets sent for Unpublish ${JSON.stringify(removePublishDetails(bulkUnPublishObj.assets))}`,
444
- (bulkUnPublishAssetsResponse.job_id) ? chalk.yellow(`job_id: ${bulkUnPublishAssetsResponse.job_id}`) : ''
451
+ `Bulk assets sent for Unpublish`,
452
+ bulkUnPublishAssetsResponse.job_id ? chalk.yellow(`job_id: ${bulkUnPublishAssetsResponse.job_id}`) : '',
445
453
  ),
446
454
  );
455
+ displayAssetsDetails(sanitizedData);
447
456
  addLogs(
448
457
  logger,
449
458
  { options: bulkUnPublishObj, api_key: stack.stackHeaders.api_key, alias: stack.alias, host: stack.host },
@@ -459,13 +468,9 @@ async function performBulkUnPublish(data, _config, queue) {
459
468
  queue.Enqueue(data);
460
469
  } else {
461
470
  delete bulkUnPublishObj.stack;
462
- console.log(
463
- chalk.red(
464
- `Bulk assets ${JSON.stringify(
465
- removePublishDetails(bulkUnPublishObj.assets),
466
- )} failed to Unpublish with error ${formatError(error)}`,
467
- ),
468
- );
471
+ console.log(chalk.red(`Bulk assets failed to Unpublish with error ${formatError(error)}`));
472
+ let sanitizedData = removePublishDetails(bulkUnPublishObj.assets);
473
+ displayAssetsDetails(sanitizedData);
469
474
  addLogs(
470
475
  logger,
471
476
  { options: bulkUnPublishObj, api_key: stack.stackHeaders.api_key, alias: stack.alias, host: stack.host },
@@ -247,7 +247,7 @@ async function start(
247
247
  bulkPublish,
248
248
  _filter,
249
249
  deliveryToken,
250
- contentType,
250
+ contentTypes,
251
251
  environment,
252
252
  locale,
253
253
  onlyAssets,
@@ -292,8 +292,8 @@ async function start(
292
292
  };
293
293
  if (f_types) filter.type = f_types;
294
294
  // filter.type = (f_types) ? f_types : types // types mentioned in the config file (f_types) are given preference
295
- if (contentType) {
296
- filter.content_type_uid = contentType;
295
+ if (contentTypes) {
296
+ filter.content_type_uid = contentTypes;
297
297
  filter.type = 'entry_published';
298
298
  }
299
299
  if (onlyAssets) {