sf-git-merge-driver 1.3.0 → 1.4.0-dev-159.21317248282-1

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.
Files changed (115) hide show
  1. package/README.md +30 -6
  2. package/lib/commands/git/merge/driver/run.js +3 -5
  3. package/lib/commands/git/merge/driver/run.js.map +1 -1
  4. package/lib/constant/conflictConstant.d.ts +3 -3
  5. package/lib/constant/conflictConstant.js +3 -3
  6. package/lib/constant/conflictConstant.js.map +1 -1
  7. package/lib/constant/metadataConstant.d.ts +1 -0
  8. package/lib/constant/metadataConstant.js +7 -0
  9. package/lib/constant/metadataConstant.js.map +1 -1
  10. package/lib/constant/parserConstant.d.ts +6 -0
  11. package/lib/constant/parserConstant.js +6 -0
  12. package/lib/constant/parserConstant.js.map +1 -1
  13. package/lib/driver/MergeDriver.d.ts +3 -0
  14. package/lib/driver/MergeDriver.js +5 -1
  15. package/lib/driver/MergeDriver.js.map +1 -1
  16. package/lib/merger/ConflictMarkerBuilder.d.ts +3 -0
  17. package/lib/merger/ConflictMarkerBuilder.js +33 -0
  18. package/lib/merger/ConflictMarkerBuilder.js.map +1 -0
  19. package/lib/merger/ConflictMarkerFormatter.d.ts +14 -0
  20. package/lib/merger/ConflictMarkerFormatter.js +43 -0
  21. package/lib/merger/ConflictMarkerFormatter.js.map +1 -0
  22. package/lib/merger/JsonMerger.d.ts +3 -0
  23. package/lib/merger/JsonMerger.js +19 -194
  24. package/lib/merger/JsonMerger.js.map +1 -1
  25. package/lib/merger/MergeContext.d.ts +17 -0
  26. package/lib/merger/MergeContext.js +2 -0
  27. package/lib/merger/MergeContext.js.map +1 -0
  28. package/lib/merger/MergeOrchestrator.d.ts +13 -0
  29. package/lib/merger/MergeOrchestrator.js +46 -0
  30. package/lib/merger/MergeOrchestrator.js.map +1 -0
  31. package/lib/merger/MergeScenarioFactory.d.ts +2 -0
  32. package/lib/merger/MergeScenarioFactory.js +22 -0
  33. package/lib/merger/MergeScenarioFactory.js.map +1 -0
  34. package/lib/merger/XmlMerger.d.ts +5 -0
  35. package/lib/merger/XmlMerger.js +19 -16
  36. package/lib/merger/XmlMerger.js.map +1 -1
  37. package/lib/merger/nodes/KeyedArrayMergeNode.d.ts +12 -0
  38. package/lib/merger/nodes/KeyedArrayMergeNode.js +67 -0
  39. package/lib/merger/nodes/KeyedArrayMergeNode.js.map +1 -0
  40. package/lib/merger/nodes/MergeNode.d.ts +5 -0
  41. package/lib/merger/nodes/MergeNode.js +2 -0
  42. package/lib/merger/nodes/MergeNode.js.map +1 -0
  43. package/lib/merger/nodes/MergeNodeFactory.d.ts +9 -0
  44. package/lib/merger/nodes/MergeNodeFactory.js +21 -0
  45. package/lib/merger/nodes/MergeNodeFactory.js.map +1 -0
  46. package/lib/merger/nodes/ObjectMergeNode.d.ts +20 -0
  47. package/lib/merger/nodes/ObjectMergeNode.js +49 -0
  48. package/lib/merger/nodes/ObjectMergeNode.js.map +1 -0
  49. package/lib/merger/nodes/TextArrayMergeNode.d.ts +12 -0
  50. package/lib/merger/nodes/TextArrayMergeNode.js +66 -0
  51. package/lib/merger/nodes/TextArrayMergeNode.js.map +1 -0
  52. package/lib/merger/nodes/TextMergeNode.d.ts +12 -0
  53. package/lib/merger/nodes/TextMergeNode.js +36 -0
  54. package/lib/merger/nodes/TextMergeNode.js.map +1 -0
  55. package/lib/merger/nodes/nodeUtils.d.ts +5 -0
  56. package/lib/merger/nodes/nodeUtils.js +20 -0
  57. package/lib/merger/nodes/nodeUtils.js.map +1 -0
  58. package/lib/merger/strategies/AllPresentStrategy.d.ts +7 -0
  59. package/lib/merger/strategies/AllPresentStrategy.js +36 -0
  60. package/lib/merger/strategies/AllPresentStrategy.js.map +1 -0
  61. package/lib/merger/strategies/AncestorAndLocalStrategy.d.ts +8 -0
  62. package/lib/merger/strategies/AncestorAndLocalStrategy.js +64 -0
  63. package/lib/merger/strategies/AncestorAndLocalStrategy.js.map +1 -0
  64. package/lib/merger/strategies/AncestorAndOtherStrategy.d.ts +8 -0
  65. package/lib/merger/strategies/AncestorAndOtherStrategy.js +64 -0
  66. package/lib/merger/strategies/AncestorAndOtherStrategy.js.map +1 -0
  67. package/lib/merger/strategies/AncestorOnlyStrategy.d.ts +6 -0
  68. package/lib/merger/strategies/AncestorOnlyStrategy.js +19 -0
  69. package/lib/merger/strategies/AncestorOnlyStrategy.js.map +1 -0
  70. package/lib/merger/strategies/LocalAndOtherStrategy.d.ts +7 -0
  71. package/lib/merger/strategies/LocalAndOtherStrategy.js +45 -0
  72. package/lib/merger/strategies/LocalAndOtherStrategy.js.map +1 -0
  73. package/lib/merger/strategies/LocalOnlyStrategy.d.ts +6 -0
  74. package/lib/merger/strategies/LocalOnlyStrategy.js +14 -0
  75. package/lib/merger/strategies/LocalOnlyStrategy.js.map +1 -0
  76. package/lib/merger/strategies/NoneStrategy.d.ts +6 -0
  77. package/lib/merger/strategies/NoneStrategy.js +8 -0
  78. package/lib/merger/strategies/NoneStrategy.js.map +1 -0
  79. package/lib/merger/strategies/OtherOnlyStrategy.d.ts +6 -0
  80. package/lib/merger/strategies/OtherOnlyStrategy.js +14 -0
  81. package/lib/merger/strategies/OtherOnlyStrategy.js.map +1 -0
  82. package/lib/merger/strategies/ScenarioStrategy.d.ts +5 -0
  83. package/lib/merger/strategies/ScenarioStrategy.js +2 -0
  84. package/lib/merger/strategies/ScenarioStrategy.js.map +1 -0
  85. package/lib/merger/strategies/ScenarioStrategyFactory.d.ts +3 -0
  86. package/lib/merger/strategies/ScenarioStrategyFactory.js +23 -0
  87. package/lib/merger/strategies/ScenarioStrategyFactory.js.map +1 -0
  88. package/lib/merger/strategies/TextMergeStrategy.d.ts +32 -0
  89. package/lib/merger/strategies/TextMergeStrategy.js +80 -0
  90. package/lib/merger/strategies/TextMergeStrategy.js.map +1 -0
  91. package/lib/service/MetadataService.js +2 -0
  92. package/lib/service/MetadataService.js.map +1 -1
  93. package/lib/service/NamespaceHandler.js +1 -2
  94. package/lib/service/NamespaceHandler.js.map +1 -1
  95. package/lib/service/installService.js +5 -3
  96. package/lib/service/installService.js.map +1 -1
  97. package/lib/types/conflictTypes.d.ts +1 -1
  98. package/lib/types/mergeResult.d.ts +8 -0
  99. package/lib/types/mergeResult.js +33 -0
  100. package/lib/types/mergeResult.js.map +1 -0
  101. package/lib/types/mergeScenario.d.ts +0 -1
  102. package/lib/types/mergeScenario.js +0 -20
  103. package/lib/types/mergeScenario.js.map +1 -1
  104. package/lib/utils/mergeUtils.d.ts +0 -4
  105. package/lib/utils/mergeUtils.js +0 -7
  106. package/lib/utils/mergeUtils.js.map +1 -1
  107. package/npm-shrinkwrap.json +724 -721
  108. package/oclif.manifest.json +4 -4
  109. package/package.json +9 -9
  110. package/lib/merger/conflictMarker.d.ts +0 -12
  111. package/lib/merger/conflictMarker.js +0 -37
  112. package/lib/merger/conflictMarker.js.map +0 -1
  113. package/lib/merger/textAttribute.d.ts +0 -3
  114. package/lib/merger/textAttribute.js +0 -56
  115. package/lib/merger/textAttribute.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"NamespaceHandler.js","sourceRoot":"","sources":["../../src/service/NamespaceHandler.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAElD,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAC7B,MAAM,cAAc,GAAG,IAAI,CAAA;AAE3B,MAAM,OAAO,gBAAgB;IAEpB,iBAAiB,CACtB,QAAgC,EAChC,KAA6B,EAC7B,KAA6B;QAE7B,MAAM,UAAU,GAAe,EAAE,CAAA;QAEjC,2DAA2D;QAC3D,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,iEAAiE;gBACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAe,CAAA;gBACvC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7C,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBAC1C,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;wBACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAA,CAAC,8CAA8C;oBAC1E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAGM,qBAAqB,CAAC,GAAc,EAAE,UAAsB;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,iCAAiC;YACjC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAe,CAAA;YAEvC,yDAAyD;YACzD,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;YAE/B,0DAA0D;YAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,CAAC;gBAAC,UAAU,CAAC,cAAc,CAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YACpE,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvCQ;IADN,GAAG;yDAuBH;AAGM;IADN,GAAG;6DAcH"}
1
+ {"version":3,"file":"NamespaceHandler.js","sourceRoot":"","sources":["../../src/service/NamespaceHandler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAElD,MAAM,OAAO,gBAAgB;IAEpB,iBAAiB,CACtB,QAAgC,EAChC,KAA6B,EAC7B,KAA6B;QAE7B,MAAM,UAAU,GAAe,EAAE,CAAA;QAEjC,2DAA2D;QAC3D,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;YAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,iEAAiE;gBACjE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAe,CAAA;gBACvC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7C,IAAI,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBAC1C,UAAU,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;wBACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAA,CAAC,8CAA8C;oBAC1E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAGM,qBAAqB,CAAC,GAAc,EAAE,UAAsB;QACjE,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,iCAAiC;YACjC,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAe,CAAA;YAEvC,yDAAyD;YACzD,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAA;YAE/B,0DAA0D;YAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1C,CAAC;gBAAC,UAAU,CAAC,cAAc,CAAgB,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YACpE,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvCQ;IADN,GAAG;yDAuBH;AAGM;IADN,GAAG;6DAcH"}
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { appendFile } from 'node:fs/promises';
3
3
  import { simpleGit } from 'simple-git';
4
4
  import { DRIVER_NAME, RUN_PLUGIN_COMMAND } from '../constant/driverConstant.js';
5
- import { METADATA_TYPES_PATTERNS } from '../constant/metadataConstant.js';
5
+ import { MANIFEST_PATTERNS, METADATA_TYPES_PATTERNS, } from '../constant/metadataConstant.js';
6
6
  import { getGitAttributesPath } from '../utils/gitUtils.js';
7
7
  import { log } from '../utils/LoggingDecorator.js';
8
8
  export class InstallService {
@@ -11,8 +11,10 @@ export class InstallService {
11
11
  await git.addConfig(`merge.${DRIVER_NAME}.name`, 'Salesforce source merge driver');
12
12
  await git.addConfig(`merge.${DRIVER_NAME}.driver`, `sh -c '${RUN_PLUGIN_COMMAND} -O "$1" -A "$2" -B "$3" -P "$4" -L "$5" -X "$6" -Y "$7"' -- %O %A %B %P %L %X %Y`);
13
13
  // Configure merge driver for each metadata type pattern
14
- const patterns = METADATA_TYPES_PATTERNS.map(pattern => `*.${pattern}-meta.xml merge=${DRIVER_NAME}`).join('\n');
15
- const content = `${patterns}\n`;
14
+ const metadataPatterns = METADATA_TYPES_PATTERNS.map(pattern => `*.${pattern}-meta.xml merge=${DRIVER_NAME}`).join('\n');
15
+ // Configure merge driver for manifest files (package.xml, destructiveChanges.xml, etc.)
16
+ const manifestPatterns = MANIFEST_PATTERNS.map(pattern => `${pattern} merge=${DRIVER_NAME}`).join('\n');
17
+ const content = `${metadataPatterns}\n${manifestPatterns}\n`;
16
18
  const gitAttributesPath = await getGitAttributesPath();
17
19
  await appendFile(gitAttributesPath, content, { flag: 'a' });
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"installService.js","sourceRoot":"","sources":["../../src/service/installService.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAElD,MAAM,OAAO,cAAc;IAEZ,AAAN,KAAK,CAAC,kBAAkB;QAC7B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAA;QACvB,MAAM,GAAG,CAAC,SAAS,CACjB,SAAS,WAAW,OAAO,EAC3B,gCAAgC,CACjC,CAAA;QACD,MAAM,GAAG,CAAC,SAAS,CACjB,SAAS,WAAW,SAAS,EAC7B,UAAU,kBAAkB,mFAAmF,CAChH,CAAA;QAED,wDAAwD;QACxD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,mBAAmB,WAAW,EAAE,CACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,CAAA;QAE/B,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,EAAE,CAAA;QAEtD,MAAM,UAAU,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAC7D,CAAC;CACF;AArBc;IADZ,GAAG;wDAqBH"}
1
+ {"version":3,"file":"installService.js","sourceRoot":"","sources":["../../src/service/installService.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAC/E,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAElD,MAAM,OAAO,cAAc;IAEZ,AAAN,KAAK,CAAC,kBAAkB;QAC7B,MAAM,GAAG,GAAG,SAAS,EAAE,CAAA;QACvB,MAAM,GAAG,CAAC,SAAS,CACjB,SAAS,WAAW,OAAO,EAC3B,gCAAgC,CACjC,CAAA;QACD,MAAM,GAAG,CAAC,SAAS,CACjB,SAAS,WAAW,SAAS,EAC7B,UAAU,kBAAkB,mFAAmF,CAChH,CAAA;QAED,wDAAwD;QACxD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAClD,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,mBAAmB,WAAW,EAAE,CACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,wFAAwF;QACxF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAC5C,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,UAAU,WAAW,EAAE,CAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,OAAO,GAAG,GAAG,gBAAgB,KAAK,gBAAgB,IAAI,CAAA;QAE5D,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,EAAE,CAAA;QAEtD,MAAM,UAAU,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAC7D,CAAC;CACF;AA3Bc;IADZ,GAAG;wDA2BH"}
@@ -1,4 +1,4 @@
1
- export interface conflicConfig {
1
+ export interface MergeConfig {
2
2
  conflictMarkerSize: number;
3
3
  ancestorConflictTag: string;
4
4
  localConflictTag: string;
@@ -0,0 +1,8 @@
1
+ import type { JsonArray } from './jsonTypes.js';
2
+ export interface MergeResult {
3
+ output: JsonArray;
4
+ hasConflict: boolean;
5
+ }
6
+ export declare const combineResults: (results: MergeResult[]) => MergeResult;
7
+ export declare const noConflict: (output: JsonArray) => MergeResult;
8
+ export declare const withConflict: (output: JsonArray) => MergeResult;
@@ -0,0 +1,33 @@
1
+ // Pre-allocated constant for the common empty no-conflict case
2
+ // Used by NoneStrategy, AncestorOnlyStrategy, and equality-based early returns
3
+ const EMPTY_ARRAY = [];
4
+ const EMPTY_NO_CONFLICT = {
5
+ output: EMPTY_ARRAY,
6
+ hasConflict: false,
7
+ };
8
+ export const combineResults = (results) => {
9
+ // Fast path: no results
10
+ if (results.length === 0) {
11
+ return EMPTY_NO_CONFLICT;
12
+ }
13
+ // Fast path: single result
14
+ if (results.length === 1) {
15
+ return results[0];
16
+ }
17
+ return {
18
+ output: results.flatMap(r => r.output),
19
+ hasConflict: results.some(r => r.hasConflict),
20
+ };
21
+ };
22
+ export const noConflict = (output) => {
23
+ // Reuse constant for empty arrays
24
+ if (output.length === 0) {
25
+ return EMPTY_NO_CONFLICT;
26
+ }
27
+ return { output, hasConflict: false };
28
+ };
29
+ export const withConflict = (output) => ({
30
+ output,
31
+ hasConflict: true,
32
+ });
33
+ //# sourceMappingURL=mergeResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeResult.js","sourceRoot":"","sources":["../../src/types/mergeResult.ts"],"names":[],"mappings":"AAOA,+DAA+D;AAC/D,+EAA+E;AAC/E,MAAM,WAAW,GAAc,EAAE,CAAA;AACjC,MAAM,iBAAiB,GAAgB;IACrC,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,KAAK;CACnB,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAe,EAAE;IACpE,wBAAwB;IACxB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IACD,2BAA2B;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACtC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;KAC9C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAiB,EAAe,EAAE;IAC3D,kCAAkC;IAClC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AACvC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAiB,EAAe,EAAE,CAAC,CAAC;IAC/D,MAAM;IACN,WAAW,EAAE,IAAI;CAClB,CAAC,CAAA"}
@@ -14,4 +14,3 @@ export declare enum MergeScenario {
14
14
  ANCESTOR_AND_LOCAL = 110,// Ancestor and local have content, no other (110)
15
15
  ALL = 111
16
16
  }
17
- export declare const getScenario: (ancestor: any, local: any, other: any) => MergeScenario;
@@ -1,4 +1,3 @@
1
- import { isEmpty } from 'lodash-es';
2
1
  /**
3
2
  * Enum representing different merge scenarios based on content presence:
4
3
  * - First position: Ancestor content present (1) or absent (0)
@@ -16,23 +15,4 @@ export var MergeScenario;
16
15
  MergeScenario[MergeScenario["ANCESTOR_AND_LOCAL"] = 110] = "ANCESTOR_AND_LOCAL";
17
16
  MergeScenario[MergeScenario["ALL"] = 111] = "ALL";
18
17
  })(MergeScenario || (MergeScenario = {}));
19
- export const getScenario = (
20
- // biome-ignore lint/suspicious/noExplicitAny: can be any metadata in json format
21
- ancestor,
22
- // biome-ignore lint/suspicious/noExplicitAny: can be any metadata in json format
23
- local,
24
- // biome-ignore lint/suspicious/noExplicitAny: can be any metadata in json format
25
- other) => {
26
- let scenario = MergeScenario.NONE;
27
- if (!isEmpty(ancestor)) {
28
- scenario += 100;
29
- }
30
- if (!isEmpty(local)) {
31
- scenario += 10;
32
- }
33
- if (!isEmpty(other)) {
34
- scenario += 1;
35
- }
36
- return scenario;
37
- };
38
18
  //# sourceMappingURL=mergeScenario.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mergeScenario.js","sourceRoot":"","sources":["../../src/types/mergeScenario.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,6DAAc,CAAA;IACd,8DAAe,CAAA;IACf,wEAAoB,CAAA;IACpB,qEAAmB,CAAA;IACnB,+EAAwB,CAAA;IACxB,+EAAwB,CAAA;IACxB,iDAAS,CAAA;AACX,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;AACzB,iFAAiF;AACjF,QAAa;AACb,iFAAiF;AACjF,KAAU;AACV,iFAAiF;AACjF,KAAU,EACK,EAAE;IACjB,IAAI,QAAQ,GAAkB,aAAa,CAAC,IAAI,CAAA;IAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvB,QAAQ,IAAI,GAAG,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,QAAQ,IAAI,EAAE,CAAA;IAChB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,QAAQ,IAAI,CAAC,CAAA;IACf,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
1
+ {"version":3,"file":"mergeScenario.js","sourceRoot":"","sources":["../../src/types/mergeScenario.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,6DAAc,CAAA;IACd,8DAAe,CAAA;IACf,wEAAoB,CAAA;IACpB,qEAAmB,CAAA;IACnB,+EAAwB,CAAA;IACxB,+EAAwB,CAAA;IACxB,iDAAS,CAAA;AACX,CAAC,EATW,aAAa,KAAb,aAAa,QASxB"}
@@ -1,6 +1,2 @@
1
- import type { JsonArray, JsonObject, JsonValue } from '../types/jsonTypes.js';
2
- export declare const isObject: (ancestor: JsonValue | undefined | null, local: JsonValue | undefined | null, other: JsonValue | undefined | null) => boolean;
3
- export declare const ensureArray: (value: JsonValue) => JsonArray;
4
- export declare const getUniqueSortedProps: (...objects: (JsonObject | JsonArray)[]) => string[];
5
1
  export declare const detectEol: (text: string) => string;
6
2
  export declare const normalizeEol: (text: string, eol?: string) => string;
@@ -1,16 +1,9 @@
1
- import { castArray, isNil } from 'lodash-es';
2
1
  import { EOL } from 'os';
3
2
  const CR = '\r';
4
3
  const LF = '\n';
5
4
  const CRLF = `${CR}${LF}`;
6
5
  const RE_CRLF = /\r\n/g;
7
6
  const RE_LF_OR_CRLF = /\r\n|\n/g;
8
- export const isObject = (ancestor, local, other) => typeof [ancestor, other, local].find(ele => !isNil(ele)) === 'object';
9
- export const ensureArray = (value) => isNil(value) ? [] : castArray(value);
10
- export const getUniqueSortedProps = (...objects) => Array.from(new Set([...objects]
11
- .filter(jsonElement => ![undefined, null].includes(jsonElement))
12
- .map(Object.keys)
13
- .flat())).sort();
14
7
  export const detectEol = (text) => {
15
8
  if (!text) {
16
9
  return EOL;
@@ -1 +1 @@
1
- {"version":3,"file":"mergeUtils.js","sourceRoot":"","sources":["../../src/utils/mergeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAGxB,MAAM,EAAE,GAAG,IAAI,CAAA;AACf,MAAM,EAAE,GAAG,IAAI,CAAA;AACf,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAA;AACzB,MAAM,OAAO,GAAG,OAAO,CAAA;AACvB,MAAM,aAAa,GAAG,UAAU,CAAA;AAEhC,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAsC,EACtC,KAAmC,EACnC,KAAmC,EAC1B,EAAE,CACX,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAA;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAgB,EAAa,EAAE,CACzD,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,SAAS,CAAC,KAAK,CAAe,CAAA;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,GAAG,OAAmC,EAC5B,EAAE,CACZ,KAAK,CAAC,IAAI,CACR,IAAI,GAAG,CACL,CAAC,GAAG,OAAO,CAAC;KACT,MAAM,CACL,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAoB,CAAC,CACjE;KACA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;KAChB,IAAI,EAAE,CACV,CACF,CAAC,IAAI,EAAE,CAAA;AAEV,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,KAAK,GAAG,KAAK,CAAA;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChC,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,IAAI,CAAA;YACd,CAAC;YAED,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBACrB,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,GAAG,EAAU,EAAE;IACtE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,KAAK,GAAG,OAAO,CAAA;IACnB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,KAAK,GAAG,aAAa,CAAA;IACvB,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC,CAAA"}
1
+ {"version":3,"file":"mergeUtils.js","sourceRoot":"","sources":["../../src/utils/mergeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAExB,MAAM,EAAE,GAAG,IAAI,CAAA;AACf,MAAM,EAAE,GAAG,IAAI,CAAA;AACf,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAA;AACzB,MAAM,OAAO,GAAG,OAAO,CAAA;AACvB,MAAM,aAAa,GAAG,UAAU,CAAA;AAEhC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,KAAK,GAAG,KAAK,CAAA;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChC,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,IAAI,CAAA;YACd,CAAC;YAED,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBACrB,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,GAAG,EAAU,EAAE;IACtE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,KAAK,GAAG,OAAO,CAAA;IACnB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,KAAK,GAAG,aAAa,CAAA;IACvB,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC,CAAA"}