@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.
|
|
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
|
+
"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.
|
|
9
|
-
"@contentstack/cli-utilities": "~1.6.
|
|
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.
|
|
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
|
|
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',
|
package/src/consumer/publish.js
CHANGED
|
@@ -5,9 +5,8 @@
|
|
|
5
5
|
const chalk = require('chalk');
|
|
6
6
|
const path = require('path');
|
|
7
7
|
const { formatError } = require('../util');
|
|
8
|
-
const
|
|
9
|
-
const
|
|
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(({
|
|
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,
|
|
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') {
|
|
237
|
-
|
|
238
|
-
|
|
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 =
|
|
263
|
+
const sanitizedData = removePublishDetails(bulkPublishObj.entries);
|
|
249
264
|
console.log(
|
|
250
|
-
chalk.green(
|
|
251
|
-
|
|
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
|
-
|
|
273
|
-
|
|
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') {
|
|
298
|
-
|
|
299
|
-
|
|
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
|
|
312
|
-
|
|
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
|
-
|
|
333
|
-
|
|
334
|
-
|
|
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') {
|
|
369
|
-
|
|
370
|
-
|
|
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
|
|
384
|
-
|
|
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
|
-
|
|
404
|
-
|
|
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') {
|
|
429
|
-
|
|
430
|
-
|
|
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
|
|
444
|
-
|
|
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
|
-
|
|
464
|
-
|
|
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
|
-
|
|
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 (
|
|
296
|
-
filter.content_type_uid =
|
|
295
|
+
if (contentTypes) {
|
|
296
|
+
filter.content_type_uid = contentTypes;
|
|
297
297
|
filter.type = 'entry_published';
|
|
298
298
|
}
|
|
299
299
|
if (onlyAssets) {
|