@contentstack/cli-cm-branches 1.0.18 → 1.0.19

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
@@ -37,7 +37,7 @@ $ npm install -g @contentstack/cli-cm-branches
37
37
  $ csdx COMMAND
38
38
  running command...
39
39
  $ csdx (--version)
40
- @contentstack/cli-cm-branches/1.0.18 linux-x64 node-v18.18.2
40
+ @contentstack/cli-cm-branches/1.0.19 linux-x64 node-v18.19.0
41
41
  $ csdx --help [COMMAND]
42
42
  USAGE
43
43
  $ csdx COMMAND
@@ -478,15 +478,17 @@ function entryCreateScript(contentType) {
478
478
  try {
479
479
  compareFilteredProperties.length !== 0 &&
480
480
  compareFilteredProperties.forEach(async (entryDetails) => {
481
- entryDetails = updateAssetDetailsInEntries(entryDetails);
482
- let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails }).catch(error => {
483
- throw error;
484
- });
485
- if(createdEntry){
486
- if (flag.references) {
487
- await updateReferences(entryDetails, createdEntry, references);
481
+ if(entryDetails !== undefined){
482
+ entryDetails = updateAssetDetailsInEntries(entryDetails);
483
+ let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails }).catch(error => {
484
+ throw error;
485
+ });
486
+ if(createdEntry){
487
+ if (flag.references) {
488
+ await updateReferences(entryDetails, createdEntry, references);
489
+ }
490
+ await updateEntry(createdEntry, entryDetails);
488
491
  }
489
- await updateEntry(createdEntry, entryDetails);
490
492
  }
491
493
  });
492
494
  } catch (error) {
@@ -497,56 +497,70 @@ function entryCreateUpdateScript(contentType) {
497
497
  }
498
498
 
499
499
  try {
500
- if (contentType.options.singleton) {
501
- compareBranchEntries.items.map(async (el) => {
500
+ if (contentType?.options?.singleton) {
501
+ compareBranchEntries?.items?.map(async (el) => {
502
502
  let entryDetails = deleteUnwantedKeysFromObject(el, keysToRemove);
503
- entryDetails = updateAssetDetailsInEntries(entryDetails);
504
-
505
- if (baseBranchEntries && baseBranchEntries.items.length) {
506
- let baseEntryUid = baseBranchEntries.items[0].uid;
507
- let entry = await stackSDKInstance.contentType('${contentType}').entry(baseEntryUid);
503
+ if(entryDetails !== undefined){
504
+ entryDetails = updateAssetDetailsInEntries(entryDetails);
505
+
506
+ if (baseBranchEntries && baseBranchEntries.items.length) {
507
+ let baseEntryUid = baseBranchEntries.items[0].uid;
508
+ let entry = await stackSDKInstance.contentType('${contentType}').entry(baseEntryUid);
509
+
510
+ if (flag.references) {
511
+ await updateReferences(entryDetails, baseBranchEntries.items[0], references);
512
+ }
513
+
514
+ await updateEntry(entry, entryDetails);
515
+ } else {
516
+ let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails });
508
517
 
509
- if (flag.references) {
510
- await updateReferences(entryDetails, baseBranchEntries.items[0], references);
511
- }
512
-
513
- await updateEntry(entry, entryDetails);
514
- } else {
515
- let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails });
516
-
517
- if (flag.references) {
518
- await updateReferences(entryDetails, createdEntry, references);
518
+ if (flag.references) {
519
+ await updateReferences(entryDetails, createdEntry, references);
520
+ }
521
+
522
+ await updateEntry(createdEntry, entryDetails);
519
523
  }
520
-
521
- await updateEntry(createdEntry, entryDetails);
522
524
  }
523
525
  });
524
526
  } else {
525
527
  let compareMap = new Map(converter(compareBranchEntries.items));
526
528
  let baseMap = new Map(converter(baseBranchEntries.items));
527
-
529
+
530
+ //NOTE: Filter distinct entries from the base and compare branches according to their titles.
531
+ //TODO: Need to discuss this approach and replace it with uid condition
528
532
  let arr = uniquelyConcatenateArrays(Array.from(compareMap.keys()), Array.from(baseMap.keys()));
529
-
533
+
530
534
  arr.map(async (el) => {
531
535
  let entryDetails = deleteUnwantedKeysFromObject(compareMap.get(el), keysToRemove);
532
- entryDetails = updateAssetDetailsInEntries(entryDetails);
533
- if (compareMap.get(el) && !baseMap.get(el)) {
534
- let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails });
535
-
536
- if (flag.references) {
537
- await updateReferences(entryDetails, createdEntry, references);
538
- }
536
+ //NOTE: In the compare branch, entry must exist. Condition of deleted entry not handled
537
+ if(entryDetails !== undefined){
538
+ entryDetails = updateAssetDetailsInEntries(entryDetails);
539
+ if (compareMap.get(el) && !baseMap.get(el)) {
540
+ let createdEntry = await stackSDKInstance
541
+ .contentType('${contentType}')
542
+ .entry()
543
+ .create({ entry: entryDetails })
544
+ .catch(err => {
545
+ (err?.errorMessage || err?.message) ? err?.errorMessage || err?.message : 'Something went wrong!'
546
+ })
547
+
548
+ if(createdEntry){
549
+ if (flag.references) {
550
+ await updateReferences(entryDetails, createdEntry, references);
551
+ }
552
+ await updateEntry(createdEntry, entryDetails);
553
+ }
554
+ } else if (compareMap.get(el) && baseMap.get(el)) {
555
+ let baseEntry = baseMap.get(el);
556
+ let entry = await stackSDKInstance.contentType('${contentType}').entry(baseEntry.uid);
557
+
558
+ if (flag.references) {
559
+ await updateReferences(entryDetails, baseEntry, references);
560
+ }
539
561
 
540
- await updateEntry(createdEntry, entryDetails);
541
- } else if (compareMap.get(el) && baseMap.get(el)) {
542
- let baseEntry = baseMap.get(el);
543
- let entry = await stackSDKInstance.contentType('${contentType}').entry(baseEntry.uid);
544
-
545
- if (flag.references) {
546
- await updateReferences(entryDetails, baseEntry, references);
562
+ await updateEntry(entry, entryDetails);
547
563
  }
548
-
549
- await updateEntry(entry, entryDetails);
550
564
  }
551
565
  });
552
566
  }
@@ -494,56 +494,70 @@ function entryUpdateScript(contentType) {
494
494
  }
495
495
 
496
496
  try {
497
- if (contentType.options.singleton) {
498
- compareBranchEntries.items.map(async (el) => {
497
+ if (contentType?.options?.singleton) {
498
+ compareBranchEntries?.items?.map(async (el) => {
499
499
  let entryDetails = deleteUnwantedKeysFromObject(el, keysToRemove);
500
- entryDetails = updateAssetDetailsInEntries(entryDetails);
501
-
502
- if (baseBranchEntries && baseBranchEntries.items.length) {
503
- let baseEntryUid = baseBranchEntries.items[0].uid;
504
- let entry = await stackSDKInstance.contentType('${contentType}').entry(baseEntryUid);
500
+ if(entryDetails !== undefined){
501
+ entryDetails = updateAssetDetailsInEntries(entryDetails);
502
+ if (baseBranchEntries && baseBranchEntries.items.length) {
503
+ let baseEntryUid = baseBranchEntries.items[0].uid;
504
+ let entry = await stackSDKInstance.contentType('${contentType}').entry(baseEntryUid);
505
+
506
+ if (flag.references) {
507
+ await updateReferences(entryDetails, baseBranchEntries.items[0], references);
508
+ }
509
+
510
+ await updateEntry(entry, entryDetails);
511
+ } else {
512
+ let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails });
505
513
 
506
- if (flag.references) {
507
- await updateReferences(entryDetails, baseBranchEntries.items[0], references);
514
+ if (flag.references) {
515
+ await updateReferences(entryDetails, createdEntry, references);
516
+ }
517
+
518
+ await updateEntry(createdEntry, entryDetails);
508
519
  }
509
-
510
- await updateEntry(entry, entryDetails);
511
- } else {
512
- let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails });
513
-
514
- if (flag.references) {
515
- await updateReferences(entryDetails, createdEntry, references);
516
- }
517
-
518
- await updateEntry(createdEntry, entryDetails);
519
520
  }
520
521
  });
521
522
  } else {
522
523
  let compareMap = new Map(converter(compareBranchEntries.items));
523
524
  let baseMap = new Map(converter(baseBranchEntries.items));
524
-
525
+
526
+ //NOTE: Filter distinct entries from the base and compare branches according to their titles.
527
+ //TODO: Need to discuss this approach and replace it with uid approach
525
528
  let arr = uniquelyConcatenateArrays(Array.from(compareMap.keys()), Array.from(baseMap.keys()));
526
529
 
527
530
  arr.map(async (el) => {
528
531
  let entryDetails = deleteUnwantedKeysFromObject(compareMap.get(el), keysToRemove);
529
- entryDetails = updateAssetDetailsInEntries(entryDetails);
530
- if (compareMap.get(el) && !baseMap.get(el)) {
531
- let createdEntry = await stackSDKInstance.contentType('${contentType}').entry().create({ entry: entryDetails });
532
-
533
- if (flag.references) {
534
- await updateReferences(entryDetails, createdEntry, references);
535
- }
536
-
537
- await updateEntry(createdEntry, entryDetails);
538
- } else if (compareMap.get(el) && baseMap.get(el)) {
539
- let baseEntry = baseMap.get(el);
540
- let entry = await stackSDKInstance.contentType('${contentType}').entry(baseEntry.uid);
532
+ //NOTE: In the compare branch, entry must exist. Condition of deleted entry not handled
533
+ if(entryDetails !== undefined){
534
+ entryDetails = updateAssetDetailsInEntries(entryDetails);
535
+ if (compareMap.get(el) && !baseMap.get(el)) {
536
+ let createdEntry = await stackSDKInstance
537
+ .contentType('${contentType}')
538
+ .entry()
539
+ .create({ entry: entryDetails })
540
+ .catch(err => {
541
+ (err?.errorMessage || err?.message) ? err?.errorMessage || err?.message : 'Something went wrong!'
542
+ })
541
543
 
542
- if (flag.references) {
543
- await updateReferences(entryDetails, baseEntry, references);
544
+ if(createdEntry){
545
+ if (flag.references) {
546
+ await updateReferences(entryDetails, createdEntry, references);
547
+ }
548
+
549
+ await updateEntry(createdEntry, entryDetails);
550
+ }
551
+ } else if (compareMap.get(el) && baseMap.get(el)) {
552
+ let baseEntry = baseMap.get(el);
553
+ let entry = await stackSDKInstance.contentType('${contentType}').entry(baseEntry.uid);
554
+
555
+ if (flag.references) {
556
+ await updateReferences(entryDetails, baseEntry, references);
557
+ }
558
+
559
+ await updateEntry(entry, entryDetails);
544
560
  }
545
-
546
- await updateEntry(entry, entryDetails);
547
561
  }
548
562
  });
549
563
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.18",
2
+ "version": "1.0.19",
3
3
  "commands": {
4
4
  "cm:branches:create": {
5
5
  "id": "cm:branches:create",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@contentstack/cli-cm-branches",
3
3
  "description": "Contentstack CLI plugin to do branches operations",
4
- "version": "1.0.18",
4
+ "version": "1.0.19",
5
5
  "author": "Contentstack",
6
6
  "bugs": "https://github.com/contentstack/cli/issues",
7
7
  "dependencies": {