sf-git-merge-driver 1.0.0-dev-3.14240781218-1 → 1.0.0-dev-3.14244475954-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 (45) hide show
  1. package/README.md +17 -11
  2. package/lib/commands/git/merge/driver/run.d.ts +6 -2
  3. package/lib/commands/git/merge/driver/run.js +39 -9
  4. package/lib/commands/git/merge/driver/run.js.map +1 -1
  5. package/lib/constant/conflictConstant.d.ts +8 -0
  6. package/lib/constant/conflictConstant.js +9 -0
  7. package/lib/constant/conflictConstant.js.map +1 -0
  8. package/lib/constant/parserConstant.d.ts +1 -0
  9. package/lib/constant/parserConstant.js +2 -0
  10. package/lib/constant/parserConstant.js.map +1 -0
  11. package/lib/driver/MergeDriver.js +1 -1
  12. package/lib/driver/MergeDriver.js.map +1 -1
  13. package/lib/merger/JsonMerger.d.ts +1 -1
  14. package/lib/merger/JsonMerger.js +75 -75
  15. package/lib/merger/JsonMerger.js.map +1 -1
  16. package/lib/merger/XmlMerger.d.ts +1 -1
  17. package/lib/merger/XmlMerger.js +2 -2
  18. package/lib/merger/XmlMerger.js.map +1 -1
  19. package/lib/merger/conflictMarker.d.ts +7 -1
  20. package/lib/merger/conflictMarker.js +27 -9
  21. package/lib/merger/conflictMarker.js.map +1 -1
  22. package/lib/merger/textAttribute.d.ts +1 -1
  23. package/lib/merger/textAttribute.js +25 -25
  24. package/lib/merger/textAttribute.js.map +1 -1
  25. package/lib/service/NamespaceHandler.d.ts +1 -1
  26. package/lib/service/NamespaceHandler.js +2 -2
  27. package/lib/service/NamespaceHandler.js.map +1 -1
  28. package/lib/service/installService.js +1 -1
  29. package/lib/service/installService.js.map +1 -1
  30. package/lib/types/conflictTypes.d.ts +6 -0
  31. package/lib/types/conflictTypes.js +2 -0
  32. package/lib/types/conflictTypes.js.map +1 -0
  33. package/lib/types/mergeScenario.d.ts +8 -8
  34. package/lib/types/mergeScenario.js +11 -11
  35. package/lib/types/mergeScenario.js.map +1 -1
  36. package/lib/utils/mergeUtils.d.ts +1 -1
  37. package/lib/utils/mergeUtils.js +1 -1
  38. package/lib/utils/mergeUtils.js.map +1 -1
  39. package/messages/run.md +17 -6
  40. package/npm-shrinkwrap.json +6 -6
  41. package/oclif.manifest.json +47 -11
  42. package/package.json +2 -2
  43. package/lib/constant/conflicConstant.d.ts +0 -6
  44. package/lib/constant/conflicConstant.js +0 -7
  45. package/lib/constant/conflicConstant.js.map +0 -1
package/README.md CHANGED
@@ -47,7 +47,7 @@ EXAMPLES
47
47
  $ sf git merge driver install
48
48
  ```
49
49
 
50
- _See code: [src/commands/git/merge/driver/install.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14240781218-1/src/commands/git/merge/driver/install.ts)_
50
+ _See code: [src/commands/git/merge/driver/install.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14244475954-1/src/commands/git/merge/driver/install.ts)_
51
51
 
52
52
  ## `sf git merge driver run`
53
53
 
@@ -55,13 +55,18 @@ Runs the merge driver for the specified files.
55
55
 
56
56
  ```
57
57
  USAGE
58
- $ sf git merge driver run -a <value> -o <value> -t <value> -p <value> [--json] [--flags-dir <value>]
58
+ $ sf git merge driver run -O <value> -A <value> -B <value> -P <value> [--json] [--flags-dir <value>] [-L <value>] [-S
59
+ <value>] [-X <value>] [-Y <value>]
59
60
 
60
61
  FLAGS
61
- -a, --ancestor-file=<value> (required) path to the common ancestor version of the file
62
- -o, --our-file=<value> (required) path to our version of the file
63
- -p, --output-file=<value> (required) path to the file where the merged content will be written
64
- -t, --theirs-file=<value> (required) path to their version of the file
62
+ -A, --local-file=<value> (required) path to our version of the file
63
+ -B, --other-file=<value> (required) path to their version of the file
64
+ -L, --conflict-marker-size=<value> [default: 7] number of characters to show for conflict markers
65
+ -O, --ancestor-file=<value> (required) path to the common ancestor version of the file
66
+ -P, --output-file=<value> (required) path to the file where the merged content will be written
67
+ -S, --ancestor-conflict-tag=<value> [default: BASE] string used to tag ancestor version in conflicts
68
+ -X, --local-conflict-tag=<value> [default: LOCAL] string used to tag local version in conflicts
69
+ -Y, --other-conflict-tag=<value> [default: REMOTE] string used to tag other version in conflicts
65
70
 
66
71
  GLOBAL FLAGS
67
72
  --flags-dir=<value> Import flag values from a directory.
@@ -76,16 +81,17 @@ DESCRIPTION
76
81
  EXAMPLES
77
82
  Run the merge driver for conflicting files:
78
83
 
79
- $ sf git merge driver run --ancestor-file=<value> --our-file=<value> --theirs-file=<value> --output-file=<value>
84
+ $ sf git merge driver run --ancestor-file=<value> --local-file=<value> --other-file=<value> \
85
+ --output-file=<value>
80
86
 
81
87
  Where:
82
88
  - ancestor-file is the path to the common ancestor version of the file
83
- - our-file is the path to our version of the file
84
- - their-file is the path to their version of the file
89
+ - local-file is the path to our version of the file
90
+ - other-file is the path to their version of the file
85
91
  - output-file is the path to the file where the merged content will be written
86
92
  ```
87
93
 
88
- _See code: [src/commands/git/merge/driver/run.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14240781218-1/src/commands/git/merge/driver/run.ts)_
94
+ _See code: [src/commands/git/merge/driver/run.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14244475954-1/src/commands/git/merge/driver/run.ts)_
89
95
 
90
96
  ## `sf git merge driver uninstall`
91
97
 
@@ -112,7 +118,7 @@ EXAMPLES
112
118
  $ sf git merge driver uninstall
113
119
  ```
114
120
 
115
- _See code: [src/commands/git/merge/driver/uninstall.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14240781218-1/src/commands/git/merge/driver/uninstall.ts)_
121
+ _See code: [src/commands/git/merge/driver/uninstall.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14244475954-1/src/commands/git/merge/driver/uninstall.ts)_
116
122
  <!-- commandsstop -->
117
123
 
118
124
  ## How It Works
@@ -5,9 +5,13 @@ export default class Run extends SfCommand<void> {
5
5
  static readonly examples: string[];
6
6
  static readonly flags: {
7
7
  'ancestor-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
- 'our-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
9
- 'theirs-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'local-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'other-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
10
  'output-file': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'conflict-marker-size': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'ancestor-conflict-tag': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'local-conflict-tag': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'other-conflict-tag': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
15
  };
12
16
  run(): Promise<void>;
13
17
  }
@@ -1,6 +1,8 @@
1
1
  import { Messages } from '@salesforce/core';
2
2
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
3
+ import { DEFAULT_ANCESTOR_CONFLICT_TAG, DEFAULT_CONFLICT_MARKER_SIZE, DEFAULT_LOCAL_CONFLICT_TAG, DEFAULT_OTHER_CONFLICT_TAG, } from '../../../../constant/conflictConstant.js';
3
4
  import { MergeDriver } from '../../../../driver/MergeDriver.js';
5
+ import { ConflictMarker } from '../../../../merger/conflictMarker.js';
4
6
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
5
7
  const messages = Messages.loadMessages('sf-git-merge-driver', 'run');
6
8
  export default class Run extends SfCommand {
@@ -9,34 +11,62 @@ export default class Run extends SfCommand {
9
11
  static examples = messages.getMessages('examples');
10
12
  static flags = {
11
13
  'ancestor-file': Flags.string({
12
- char: 'a',
14
+ char: 'O',
13
15
  summary: messages.getMessage('flags.ancestor-file.summary'),
14
16
  required: true,
15
17
  exists: true,
16
18
  }),
17
- 'our-file': Flags.string({
18
- char: 'o',
19
- summary: messages.getMessage('flags.our-file.summary'),
19
+ 'local-file': Flags.string({
20
+ char: 'A',
21
+ summary: messages.getMessage('flags.local-file.summary'),
20
22
  required: true,
21
23
  exists: true,
22
24
  }),
23
- 'theirs-file': Flags.string({
24
- char: 't',
25
- summary: messages.getMessage('flags.theirs-file.summary'),
25
+ 'other-file': Flags.string({
26
+ char: 'B',
27
+ summary: messages.getMessage('flags.other-file.summary'),
26
28
  required: true,
27
29
  exists: true,
28
30
  }),
29
31
  'output-file': Flags.string({
30
- char: 'p',
32
+ char: 'P',
31
33
  summary: messages.getMessage('flags.output-file.summary'),
32
34
  required: true,
33
35
  exists: true,
34
36
  }),
37
+ 'conflict-marker-size': Flags.integer({
38
+ char: 'L',
39
+ summary: messages.getMessage('flags.conflict-marker-size.summary'),
40
+ min: 1,
41
+ default: DEFAULT_CONFLICT_MARKER_SIZE,
42
+ }),
43
+ 'ancestor-conflict-tag': Flags.string({
44
+ char: 'S',
45
+ summary: messages.getMessage('flags.ancestor-conflict-tag.summary'),
46
+ default: DEFAULT_ANCESTOR_CONFLICT_TAG,
47
+ }),
48
+ 'local-conflict-tag': Flags.string({
49
+ char: 'X',
50
+ summary: messages.getMessage('flags.local-conflict-tag.summary'),
51
+ default: DEFAULT_LOCAL_CONFLICT_TAG,
52
+ }),
53
+ 'other-conflict-tag': Flags.string({
54
+ char: 'Y',
55
+ summary: messages.getMessage('flags.other-conflict-tag.summary'),
56
+ default: DEFAULT_OTHER_CONFLICT_TAG,
57
+ }),
35
58
  };
36
59
  async run() {
37
60
  const { flags } = await this.parse(Run);
61
+ const conflicConfig = {
62
+ conflictMarkerSize: flags['conflict-marker-size'],
63
+ ancestorConflictTag: flags['ancestor-conflict-tag'],
64
+ localConflictTag: flags['local-conflict-tag'],
65
+ otherConflictTag: flags['other-conflict-tag'],
66
+ };
67
+ ConflictMarker.setConflictConfig(conflicConfig);
38
68
  const mergeDriver = new MergeDriver();
39
- const hasConflict = await mergeDriver.mergeFiles(flags['ancestor-file'], flags['our-file'], flags['theirs-file'], flags['output-file']);
69
+ const hasConflict = await mergeDriver.mergeFiles(flags['ancestor-file'], flags['local-file'], flags['other-file'], flags['output-file']);
40
70
  if (hasConflict) {
41
71
  this.error(messages.getMessage('result.withconflict') + ' ' + flags['output-file'], { exit: 1 });
42
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../src/commands/git/merge/driver/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;AAEpE,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,SAAe;IACvC,MAAM,CAAmB,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IACjE,MAAM,CAAmB,WAAW,GACzC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IAC7B,MAAM,CAAmB,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;IAEpE,MAAM,CAAmB,KAAK,GAAG;QACtC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;YAC3D,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACtD,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;YACzD,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC;QACF,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;YACzD,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;QACrC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,UAAU,CAC9C,KAAK,CAAC,eAAe,CAAC,EACtB,KAAK,CAAC,UAAU,CAAC,EACjB,KAAK,CAAC,aAAa,CAAC,EACpB,KAAK,CAAC,aAAa,CAAC,CACrB,CAAA;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CACR,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,EACvE,EAAE,IAAI,EAAE,CAAC,EAAE,CACZ,CAAA;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CACP,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,CACtE,CAAA;QACH,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../src/commands/git/merge/driver/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const DEFAULT_CONFLICT_MARKER_SIZE = 7;
2
+ export declare const ANCESTOR_CONFLICT_MARKER = "|";
3
+ export declare const LOCAL_CONFLICT_MARKER = "<";
4
+ export declare const OTHER_CONFLICT_MARKER = ">";
5
+ export declare const DEFAULT_ANCESTOR_CONFLICT_TAG = "BASE";
6
+ export declare const DEFAULT_LOCAL_CONFLICT_TAG = "LOCAL";
7
+ export declare const DEFAULT_OTHER_CONFLICT_TAG = "REMOTE";
8
+ export declare const SEPARATOR = "=";
@@ -0,0 +1,9 @@
1
+ export const DEFAULT_CONFLICT_MARKER_SIZE = 7;
2
+ export const ANCESTOR_CONFLICT_MARKER = '|';
3
+ export const LOCAL_CONFLICT_MARKER = '<';
4
+ export const OTHER_CONFLICT_MARKER = '>';
5
+ export const DEFAULT_ANCESTOR_CONFLICT_TAG = 'BASE';
6
+ export const DEFAULT_LOCAL_CONFLICT_TAG = 'LOCAL';
7
+ export const DEFAULT_OTHER_CONFLICT_TAG = 'REMOTE';
8
+ export const SEPARATOR = '=';
9
+ //# sourceMappingURL=conflictConstant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflictConstant.js","sourceRoot":"","sources":["../../src/constant/conflictConstant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAA;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AACxC,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAA;AACnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAA;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,QAAQ,CAAA;AAClD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const TEXT_TAG = "#text";
@@ -0,0 +1,2 @@
1
+ export const TEXT_TAG = '#text';
2
+ //# sourceMappingURL=parserConstant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parserConstant.js","sourceRoot":"","sources":["../../src/constant/parserConstant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAA"}
@@ -9,7 +9,7 @@ export class MergeDriver {
9
9
  readFile(theirFile, 'utf8'),
10
10
  ]);
11
11
  const xmlMerger = new XmlMerger();
12
- const mergedContent = xmlMerger.tripartXmlMerge(ancestorContent, ourContent, theirContent);
12
+ const mergedContent = xmlMerger.mergeThreeWay(ancestorContent, ourContent, theirContent);
13
13
  // Write the merged content to the output file
14
14
  await writeFile(outputFile, mergedContent.output);
15
15
  return mergedContent.hasConflict;
@@ -1 +1 @@
1
- {"version":3,"file":"MergeDriver.js","sourceRoot":"","sources":["../../src/driver/MergeDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,MAAM,OAAO,WAAW;IACtB,KAAK,CAAC,UAAU,CACd,YAAoB,EACpB,OAAe,EACf,SAAiB,EACjB,UAAkB;QAElB,0BAA0B;QAC1B,MAAM,CAAC,eAAe,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;YAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;YACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;SAC5B,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;QAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAC7C,eAAe,EACf,UAAU,EACV,YAAY,CACb,CAAA;QAED,8CAA8C;QAC9C,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACjD,OAAO,aAAa,CAAC,WAAW,CAAA;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"MergeDriver.js","sourceRoot":"","sources":["../../src/driver/MergeDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,MAAM,OAAO,WAAW;IACtB,KAAK,CAAC,UAAU,CACd,YAAoB,EACpB,OAAe,EACf,SAAiB,EACjB,UAAkB;QAElB,0BAA0B;QAC1B,MAAM,CAAC,eAAe,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;YAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;YACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;SAC5B,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;QAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAC3C,eAAe,EACf,UAAU,EACV,YAAY,CACb,CAAA;QAED,8CAA8C;QAC9C,MAAM,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QACjD,OAAO,aAAa,CAAC,WAAW,CAAA;IAClC,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import type { JsonArray, JsonObject } from '../types/jsonTypes.js';
2
2
  export declare class JsonMerger {
3
- merge(ancestor: JsonObject | JsonArray, ours: JsonObject | JsonArray, theirs: JsonObject | JsonArray): {
3
+ mergeThreeWay(ancestor: JsonObject | JsonArray, local: JsonObject | JsonArray, other: JsonObject | JsonArray): {
4
4
  output: JsonArray;
5
5
  hasConflict: boolean;
6
6
  };
@@ -7,28 +7,28 @@ import { ensureArray, getUniqueSortedProps, isObject, } from '../utils/mergeUtil
7
7
  import { ConflictMarker } from './conflictMarker.js';
8
8
  import { generateObj, mergeTextAttribute } from './textAttribute.js';
9
9
  export class JsonMerger {
10
- merge(ancestor, ours, theirs) {
10
+ mergeThreeWay(ancestor, local, other) {
11
11
  const namespaceHandler = new NamespaceHandler();
12
- const namespaces = namespaceHandler.processNamespaces(ancestor, ours, theirs);
13
- const scenario = getScenario(ancestor, ours, theirs);
12
+ const namespaces = namespaceHandler.processNamespaces(ancestor, local, other);
13
+ const scenario = getScenario(ancestor, local, other);
14
14
  const acc = [];
15
- const props = getUniqueSortedProps(ancestor, ours, theirs);
15
+ const props = getUniqueSortedProps(ancestor, local, other);
16
16
  for (const key of props) {
17
17
  switch (scenario) {
18
18
  case MergeScenario.ANCESTOR_ONLY:
19
19
  break;
20
- case MergeScenario.OURS_AND_THEIRS:
21
- acc.push(handleOursAndTheirs(key, ours, theirs));
20
+ case MergeScenario.LOCAL_AND_OTHER:
21
+ acc.push(handlelocalAndother(key, local, other));
22
22
  break;
23
- case MergeScenario.ANCESTOR_AND_THEIRS:
24
- acc.push(handleAncestorAndTheirs(key, ancestor, theirs));
23
+ case MergeScenario.ANCESTOR_AND_OTHER:
24
+ acc.push(handleAncestorAndother(key, ancestor, other));
25
25
  break;
26
- case MergeScenario.ANCESTOR_AND_OURS:
27
- acc.push(handleAncestorAndOurs(key, ancestor, ours));
26
+ case MergeScenario.ANCESTOR_AND_LOCAL:
27
+ acc.push(handleAncestorAndlocal(key, ancestor, local));
28
28
  break;
29
29
  default: {
30
30
  const obj = {
31
- [key]: mergeThreeWay(ancestor[key], ours[key], theirs[key]),
31
+ [key]: merge(ancestor[key], local[key], other[key]),
32
32
  };
33
33
  acc.push([obj]);
34
34
  break;
@@ -43,24 +43,24 @@ export class JsonMerger {
43
43
  };
44
44
  }
45
45
  }
46
- function mergeThreeWay(ancestor, ours, theirs) {
46
+ function merge(ancestor, local, other) {
47
47
  const acc = [];
48
- const props = getUniqueSortedProps(ancestor, ours, theirs);
48
+ const props = getUniqueSortedProps(ancestor, local, other);
49
49
  for (const key of props) {
50
50
  let values = [];
51
51
  const ancestorOfKey = ancestor[key];
52
- const oursOfKey = ours[key];
53
- const theirsOfKey = theirs[key];
54
- if (isObject(ancestorOfKey, oursOfKey, theirsOfKey)) {
52
+ const localOfKey = local[key];
53
+ const otherOfKey = other[key];
54
+ if (isObject(ancestorOfKey, localOfKey, otherOfKey)) {
55
55
  const [ancestorkey, ourkey, theirkey] = [
56
56
  ancestorOfKey,
57
- oursOfKey,
58
- theirsOfKey,
57
+ localOfKey,
58
+ otherOfKey,
59
59
  ].map(ensureArray);
60
60
  values = mergeArrays(ancestorkey, ourkey, theirkey, key);
61
61
  }
62
62
  else {
63
- values = mergeTextAttribute(ancestorOfKey, oursOfKey, theirsOfKey, key);
63
+ values = mergeTextAttribute(ancestorOfKey, localOfKey, otherOfKey, key);
64
64
  }
65
65
  acc.push(values);
66
66
  }
@@ -85,122 +85,122 @@ function toJsonArray(inputObj) {
85
85
  }
86
86
  return acc.flat();
87
87
  }
88
- const handleOursAndTheirs = (key, ours, theirs) => {
88
+ const handlelocalAndother = (key, local, other) => {
89
89
  const obj = {};
90
- obj[key] = toJsonArray(ours[key]);
90
+ obj[key] = toJsonArray(local[key]);
91
91
  const acc = [];
92
- if (!deepEqual(ours, theirs)) {
93
- const theirsProp = {
94
- [key]: toJsonArray(theirs[key]),
92
+ if (!deepEqual(local, other)) {
93
+ const otherProp = {
94
+ [key]: toJsonArray(other[key]),
95
95
  };
96
- ConflictMarker.addConflictMarkers(acc, obj, {}, theirsProp);
96
+ ConflictMarker.addConflictMarkers(acc, obj, {}, otherProp);
97
97
  }
98
98
  else {
99
99
  acc.push(obj);
100
100
  }
101
101
  return acc;
102
102
  };
103
- const handleAncestorAndTheirs = (key, ancestor, theirs) => {
103
+ const handleAncestorAndother = (key, ancestor, other) => {
104
104
  const acc = [];
105
- if (!deepEqual(ancestor, theirs)) {
105
+ if (!deepEqual(ancestor, other)) {
106
106
  const ancestorProp = {
107
107
  [key]: toJsonArray(ancestor[key]),
108
108
  };
109
- const theirsProp = {
110
- [key]: toJsonArray(theirs[key]),
109
+ const otherProp = {
110
+ [key]: toJsonArray(other[key]),
111
111
  };
112
- ConflictMarker.addConflictMarkers(acc, {}, ancestorProp, theirsProp);
112
+ ConflictMarker.addConflictMarkers(acc, {}, ancestorProp, otherProp);
113
113
  }
114
114
  return acc;
115
115
  };
116
- const handleAncestorAndOurs = (key, ancestor, ours) => {
116
+ const handleAncestorAndlocal = (key, ancestor, local) => {
117
117
  const acc = [];
118
- if (!deepEqual(ancestor, ours)) {
119
- const oursProp = {
120
- [key]: toJsonArray(ours[key]),
118
+ if (!deepEqual(ancestor, local)) {
119
+ const localProp = {
120
+ [key]: toJsonArray(local[key]),
121
121
  };
122
122
  const ancestorProp = {
123
123
  [key]: toJsonArray(ancestor[key]),
124
124
  };
125
- ConflictMarker.addConflictMarkers(acc, oursProp, ancestorProp, {});
125
+ ConflictMarker.addConflictMarkers(acc, localProp, ancestorProp, {});
126
126
  }
127
127
  return acc;
128
128
  };
129
- const mergeArrays = (ancestor, ours, theirs, attribute) => {
129
+ const mergeArrays = (ancestor, local, other, attribute) => {
130
130
  const keyField = MetadataService.getKeyFieldExtractor(attribute);
131
131
  if (!keyField) {
132
- // const scenario: MergeScenario = getScenario(ancestor, ours, theirs)
132
+ // const scenario: MergeScenario = getScenario(ancestor, local, other)
133
133
  const arr = [];
134
- // obj[attribute] = unionWith(ours, theirs, deepEqual)
135
- // obj[attribute] = mergeTextAttribute(ours, theirs, deepEqual, attribute)
134
+ // obj[attribute] = unionWith(local, other, deepEqual)
135
+ // obj[attribute] = mergeTextAttribute(local, other, deepEqual, attribute)
136
136
  // obj[attribute] = []
137
- ConflictMarker.addConflictMarkers(arr, toJsonArray({ [attribute]: ours }), toJsonArray({ [attribute]: ancestor }), toJsonArray({ [attribute]: theirs }));
137
+ ConflictMarker.addConflictMarkers(arr, toJsonArray({ [attribute]: local }), toJsonArray({ [attribute]: ancestor }), toJsonArray({ [attribute]: other }));
138
138
  return arr.flat();
139
- // return mergeTextAttribute(ancestor, ours, theirs, attribute).flat()
139
+ // return mergeTextAttribute(ancestor, local, other, attribute).flat()
140
140
  }
141
- const [keyedAnc, keyedOurs, keyedTheirs] = [ancestor, ours, theirs].map(arr => keyBy(arr, keyField));
142
- return mergeByKeyField(keyedAnc, keyedOurs, keyedTheirs, attribute);
141
+ const [keyedAnc, keyedlocal, keyedother] = [ancestor, local, other].map(arr => keyBy(arr, keyField));
142
+ return mergeByKeyField(keyedAnc, keyedlocal, keyedother, attribute);
143
143
  };
144
- const mergeByKeyField = (ancestor, ours, theirs, attribute) => {
144
+ const mergeByKeyField = (ancestor, local, other, attribute) => {
145
145
  const acc = [];
146
- const props = getUniqueSortedProps(ancestor, ours, theirs);
146
+ const props = getUniqueSortedProps(ancestor, local, other);
147
147
  for (const key of props) {
148
148
  const ancestorOfKey = ancestor[key];
149
- const oursOfKey = ours[key];
150
- const theirsOfKey = theirs[key];
151
- const scenario = getScenario(ancestorOfKey, oursOfKey, theirsOfKey);
149
+ const localOfKey = local[key];
150
+ const otherOfKey = other[key];
151
+ const scenario = getScenario(ancestorOfKey, localOfKey, otherOfKey);
152
152
  const obj = {};
153
153
  switch (scenario) {
154
- case MergeScenario.THEIRS_ONLY:
155
- obj[attribute] = mergeThreeWay({}, {}, theirsOfKey);
154
+ case MergeScenario.OTHER_ONLY:
155
+ obj[attribute] = merge({}, {}, otherOfKey);
156
156
  break;
157
- case MergeScenario.OURS_ONLY:
158
- obj[attribute] = mergeThreeWay({}, oursOfKey, {});
157
+ case MergeScenario.LOCAL_ONLY:
158
+ obj[attribute] = merge({}, localOfKey, {});
159
159
  break;
160
160
  case MergeScenario.ANCESTOR_ONLY:
161
161
  break;
162
- case MergeScenario.OURS_AND_THEIRS:
163
- if (deepEqual(oursOfKey, theirsOfKey)) {
164
- obj[attribute] = mergeThreeWay({}, {}, theirsOfKey);
162
+ case MergeScenario.LOCAL_AND_OTHER:
163
+ if (deepEqual(localOfKey, otherOfKey)) {
164
+ obj[attribute] = merge({}, {}, otherOfKey);
165
165
  }
166
166
  else {
167
- obj[attribute] = mergeThreeWay({}, oursOfKey, theirsOfKey);
167
+ obj[attribute] = merge({}, localOfKey, otherOfKey);
168
168
  }
169
169
  break;
170
- case MergeScenario.ANCESTOR_AND_THEIRS:
171
- if (!deepEqual(ancestorOfKey, theirsOfKey)) {
170
+ case MergeScenario.ANCESTOR_AND_OTHER:
171
+ if (!deepEqual(ancestorOfKey, otherOfKey)) {
172
172
  const ancestorProp = {
173
- [attribute]: mergeThreeWay({}, ancestorOfKey, {}),
173
+ [attribute]: merge({}, ancestorOfKey, {}),
174
174
  };
175
- const theirsProp = {
176
- [attribute]: mergeThreeWay({}, {}, theirsOfKey),
175
+ const otherProp = {
176
+ [attribute]: merge({}, {}, otherOfKey),
177
177
  };
178
- ConflictMarker.addConflictMarkers(acc, {}, ancestorProp, theirsProp);
178
+ ConflictMarker.addConflictMarkers(acc, {}, ancestorProp, otherProp);
179
179
  }
180
180
  break;
181
- case MergeScenario.ANCESTOR_AND_OURS:
182
- if (!deepEqual(ancestorOfKey, oursOfKey)) {
183
- const oursProp = {
184
- [attribute]: mergeThreeWay({}, oursOfKey, {}),
181
+ case MergeScenario.ANCESTOR_AND_LOCAL:
182
+ if (!deepEqual(ancestorOfKey, localOfKey)) {
183
+ const localProp = {
184
+ [attribute]: merge({}, localOfKey, {}),
185
185
  };
186
186
  const ancestorProp = {
187
- [attribute]: mergeThreeWay({}, ancestorOfKey, {}),
187
+ [attribute]: merge({}, ancestorOfKey, {}),
188
188
  };
189
- ConflictMarker.addConflictMarkers(acc, oursProp, ancestorProp, {});
189
+ ConflictMarker.addConflictMarkers(acc, localProp, ancestorProp, {});
190
190
  }
191
191
  break;
192
192
  case MergeScenario.ALL:
193
- if (deepEqual(oursOfKey, theirsOfKey)) {
194
- obj[attribute] = mergeThreeWay({}, {}, theirsOfKey);
193
+ if (deepEqual(localOfKey, otherOfKey)) {
194
+ obj[attribute] = merge({}, {}, otherOfKey);
195
195
  }
196
- else if (deepEqual(ancestorOfKey, oursOfKey)) {
197
- obj[attribute] = mergeThreeWay({}, {}, theirsOfKey);
196
+ else if (deepEqual(ancestorOfKey, localOfKey)) {
197
+ obj[attribute] = merge({}, {}, otherOfKey);
198
198
  }
199
- else if (deepEqual(ancestorOfKey, theirsOfKey)) {
200
- obj[attribute] = mergeThreeWay({}, oursOfKey, {});
199
+ else if (deepEqual(ancestorOfKey, otherOfKey)) {
200
+ obj[attribute] = merge({}, localOfKey, {});
201
201
  }
202
202
  else {
203
- obj[attribute] = mergeThreeWay(ancestorOfKey, oursOfKey, theirsOfKey);
203
+ obj[attribute] = merge(ancestorOfKey, localOfKey, otherOfKey);
204
204
  }
205
205
  break;
206
206
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JsonMerger.js","sourceRoot":"","sources":["../../src/merger/JsonMerger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonMerger.js","sourceRoot":"","sources":["../../src/merger/JsonMerger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,QAAQ,GACT,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEpE,MAAM,OAAO,UAAU;IACd,aAAa,CAClB,QAAgC,EAChC,KAA6B,EAC7B,KAA6B;QAE7B,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA;QAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,iBAAiB,CACnD,QAAQ,EACR,KAAK,EACL,KAAK,CACN,CAAA;QACD,MAAM,QAAQ,GAAkB,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QACnE,MAAM,GAAG,GAAgB,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAC1D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,aAAa,CAAC,aAAa;oBAC9B,MAAK;gBACP,KAAK,aAAa,CAAC,eAAe;oBAChC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;oBAChD,MAAK;gBACP,KAAK,aAAa,CAAC,kBAAkB;oBACnC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;oBACtD,MAAK;gBACP,KAAK,aAAa,CAAC,kBAAkB;oBACnC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;oBACtD,MAAK;gBACP,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,GAAG,GAAG;wBACV,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;qBACpD,CAAA;oBACD,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;oBACf,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QACzB,gBAAgB,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAC1D,OAAO;YACL,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,cAAc,CAAC,iBAAiB,EAAE;SAChD,CAAA;IACH,CAAC;CACF;AAED,SAAS,KAAK,CACZ,QAAgC,EAChC,KAA6B,EAC7B,KAA6B;IAE7B,MAAM,GAAG,GAAgB,EAAE,CAAA;IAC3B,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,IAAI,MAAM,GAAc,EAAE,CAAA;QAC1B,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QAE7B,IAAI,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG;gBACtC,aAAa;gBACb,UAAU;gBACV,UAAU;aACX,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAClB,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,CAAA;QACzE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,QAAgC;IACnD,MAAM,GAAG,GAAgB,EAAE,CAAA;IAC3B,KAAK,MAAM,SAAS,IAAI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,MAAM,GAAc,EAAE,CAAA;QAC5B,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;QAE1C,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;YAC/C,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;gBACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAA;QACrD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;AACnB,CAAC;AAED,MAAM,mBAAmB,GAAG,CAC1B,GAAW,EACX,KAA6B,EAC7B,KAA6B,EAClB,EAAE;IACb,MAAM,GAAG,GAAe,EAAE,CAAA;IAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAClC,MAAM,GAAG,GAAc,EAAE,CAAA;IACzB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG;YAChB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC/B,CAAA;QACD,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;IAC5D,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACf,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAC7B,GAAW,EACX,QAAgC,EAChC,KAA6B,EAClB,EAAE;IACb,MAAM,GAAG,GAAc,EAAE,CAAA;IACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG;YACnB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAClC,CAAA;QACD,MAAM,SAAS,GAAG;YAChB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC/B,CAAA;QACD,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAC7B,GAAW,EACX,QAAgC,EAChC,KAA6B,EAClB,EAAE;IACb,MAAM,GAAG,GAAc,EAAE,CAAA;IACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG;YAChB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC/B,CAAA;QACD,MAAM,YAAY,GAAG;YACnB,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAClC,CAAA;QACD,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAClB,QAAmB,EACnB,KAAgB,EAChB,KAAgB,EAChB,SAAiB,EACN,EAAE;IACb,MAAM,QAAQ,GAAG,eAAe,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,sEAAsE;QACtE,MAAM,GAAG,GAAc,EAAE,CAAA;QACzB,sDAAsD;QACtD,0EAA0E;QAC1E,sBAAsB;QACtB,cAAc,CAAC,kBAAkB,CAC/B,GAAG,EACH,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EACnC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EACtC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CACpC,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;QACjB,sEAAsE;IACxE,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAC5E,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CACrB,CAAA;IACD,OAAO,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CACtB,QAAmB,EACnB,KAAgB,EAChB,KAAgB,EAChB,SAAiB,EACN,EAAE;IACb,MAAM,GAAG,GAAc,EAAE,CAAA;IACzB,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,QAAQ,GAAkB,WAAW,CACzC,aAAa,EACb,UAAU,EACV,UAAU,CACX,CAAA;QACD,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,aAAa,CAAC,UAAU;gBAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;gBAC1C,MAAK;YACP,KAAK,aAAa,CAAC,UAAU;gBAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;gBAC1C,MAAK;YACP,KAAK,aAAa,CAAC,aAAa;gBAC9B,MAAK;YACP,KAAK,aAAa,CAAC,eAAe;gBAChC,IAAI,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;oBACtC,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;gBAC5C,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;gBACpD,CAAC;gBACD,MAAK;YACP,KAAK,aAAa,CAAC,kBAAkB;gBACnC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC1C,MAAM,YAAY,GAAG;wBACnB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC;qBAC1C,CAAA;oBACD,MAAM,SAAS,GAAG;wBAChB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC;qBACvC,CAAA;oBACD,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAA;gBACrE,CAAC;gBACD,MAAK;YACP,KAAK,aAAa,CAAC,kBAAkB;gBACnC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC1C,MAAM,SAAS,GAAG;wBAChB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC;qBACvC,CAAA;oBACD,MAAM,YAAY,GAAG;wBACnB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC;qBAC1C,CAAA;oBACD,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;gBACrE,CAAC;gBACD,MAAK;YACP,KAAK,aAAa,CAAC,GAAG;gBACpB,IAAI,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;oBACtC,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;gBAC5C,CAAC;qBAAM,IAAI,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;oBAChD,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;gBAC5C,CAAC;qBAAM,IAAI,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC;oBAChD,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;gBAC5C,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;gBAC/D,CAAC;gBACD,MAAK;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export declare class XmlMerger {
2
- tripartXmlMerge(ancestorContent: string, ourContent: string, theirContent: string): {
2
+ mergeThreeWay(ancestorContent: string, ourContent: string, theirContent: string): {
3
3
  output: string;
4
4
  hasConflict: boolean;
5
5
  };
@@ -30,14 +30,14 @@ const handleSpecialEntities = (xml) => xml
30
30
  .replaceAll('&lt;&lt;&lt;&lt;&lt;&lt;&lt;', '<<<<<<<')
31
31
  .replaceAll('&gt;&gt;&gt;&gt;&gt;&gt;&gt;', '>>>>>>>');
32
32
  export class XmlMerger {
33
- tripartXmlMerge(ancestorContent, ourContent, theirContent) {
33
+ mergeThreeWay(ancestorContent, ourContent, theirContent) {
34
34
  const parser = new XMLParser(parserOptions);
35
35
  const ancestorObj = parser.parse(ancestorContent);
36
36
  const ourObj = parser.parse(ourContent);
37
37
  const theirObj = parser.parse(theirContent);
38
38
  // Perform deep merge of XML objects
39
39
  const jsonMerger = new JsonMerger();
40
- const mergedResult = jsonMerger.merge(ancestorObj, ourObj, theirObj);
40
+ const mergedResult = jsonMerger.mergeThreeWay(ancestorObj, ourObj, theirObj);
41
41
  // Convert back to XML and format
42
42
  const builder = new XMLBuilder(builderOptions);
43
43
  const mergedXml = builder.build(mergedResult.output);
@@ -1 +1 @@
1
- {"version":3,"file":"XmlMerger.js","sourceRoot":"","sources":["../../src/merger/XmlMerger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,QAAQ,GAAG,0CAA0C,CAAA;AAC3D,MAAM,qBAAqB,GAAG,eAAe,CAAA;AAE7C,MAAM,WAAW,GAAG;IAClB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,qBAAqB;IACtC,gBAAgB,EAAE,KAAK;CACxB,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,GAAG,WAAW;IACd,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;IACvD,mBAAmB,EAAE,KAAK;IAC1B,aAAa,EAAE,KAAK;IACpB,uBAAuB;CACxB,CAAA;AAED,MAAM,cAAc,GAAG;IACrB,GAAG,WAAW;IACd,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,IAAI;CACpB,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE,CAC9C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AAE9E,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAU,EAAE,CACpD,GAAG;KACA,OAAO,CAAC,iDAAiD,EAAE,IAAI,CAAC;KAChE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;AAEpC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAU,EAAE,CACpD,GAAG;KACA,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC;KAClC,UAAU,CAAC,8BAA8B,EAAE,SAAS,CAAC;KACrD,UAAU,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAA;AAE1D,MAAM,OAAO,SAAS;IACpB,eAAe,CACb,eAAuB,EACvB,UAAkB,EAClB,YAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAA;QAE3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAE3C,oCAAoC;QACpC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;QACnC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEpE,iCAAiC;QACjC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAW,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC5D,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;gBACtB,CAAC,CAAC,qBAAqB,CACnB,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CACnE;gBACH,CAAC,CAAC,EAAE;YACN,WAAW,EAAE,YAAY,CAAC,WAAW;SACtC,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"XmlMerger.js","sourceRoot":"","sources":["../../src/merger/XmlMerger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,QAAQ,GAAG,0CAA0C,CAAA;AAC3D,MAAM,qBAAqB,GAAG,eAAe,CAAA;AAE7C,MAAM,WAAW,GAAG;IAClB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,qBAAqB;IACtC,gBAAgB,EAAE,KAAK;CACxB,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,GAAG,WAAW;IACd,iBAAiB,EAAE,IAAI;IACvB,kBAAkB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE;IACvD,mBAAmB,EAAE,KAAK;IAC1B,aAAa,EAAE,KAAK;IACpB,uBAAuB;CACxB,CAAA;AAED,MAAM,cAAc,GAAG;IACrB,GAAG,WAAW;IACd,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,IAAI;CACpB,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,GAAW,EAAU,EAAE,CAC9C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;AAE9E,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAU,EAAE,CACpD,GAAG;KACA,OAAO,CAAC,iDAAiD,EAAE,IAAI,CAAC;KAChE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;AAEpC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAU,EAAE,CACpD,GAAG;KACA,UAAU,CAAC,YAAY,EAAE,QAAQ,CAAC;KAClC,UAAU,CAAC,8BAA8B,EAAE,SAAS,CAAC;KACrD,UAAU,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAA;AAE1D,MAAM,OAAO,SAAS;IACpB,aAAa,CACX,eAAuB,EACvB,UAAkB,EAClB,YAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAA;QAE3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAE3C,oCAAoC;QACpC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;QACnC,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE5E,iCAAiC;QACjC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAW,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC5D,OAAO;YACL,MAAM,EAAE,SAAS,CAAC,MAAM;gBACtB,CAAC,CAAC,qBAAqB,CACnB,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CACnE;gBACH,CAAC,CAAC,EAAE;YACN,WAAW,EAAE,YAAY,CAAC,WAAW;SACtC,CAAA;IACH,CAAC;CACF"}
@@ -1,6 +1,12 @@
1
+ import { conflicConfig } from '../types/conflictTypes.js';
1
2
  import type { JsonArray, JsonObject } from '../types/jsonTypes.js';
2
3
  export declare class ConflictMarker {
3
4
  private static hasConflict;
5
+ private static baseMarker;
6
+ private static localMarker;
7
+ private static otherMarker;
8
+ private static separatorMarker;
4
9
  static hasConflictMarker(): boolean;
5
- static addConflictMarkers(acc: JsonArray, ours: JsonObject | JsonArray, ancestor: JsonObject | JsonArray, theirs: JsonObject | JsonArray): void;
10
+ static addConflictMarkers(acc: JsonArray, local: JsonObject | JsonArray, ancestor: JsonObject | JsonArray, other: JsonObject | JsonArray): void;
11
+ static setConflictConfig(conflictConfig: conflicConfig): void;
6
12
  }
@@ -1,19 +1,37 @@
1
+ import { EOL } from 'node:os';
1
2
  import { isEmpty } from 'lodash-es';
2
- import { BASE, LOCAL, NEWLINE, REMOTE, SEPARATOR, TEXT_TAG, } from '../constant/conflicConstant.js';
3
+ import { ANCESTOR_CONFLICT_MARKER, DEFAULT_ANCESTOR_CONFLICT_TAG, DEFAULT_CONFLICT_MARKER_SIZE, DEFAULT_LOCAL_CONFLICT_TAG, DEFAULT_OTHER_CONFLICT_TAG, LOCAL_CONFLICT_MARKER, OTHER_CONFLICT_MARKER, SEPARATOR, } from '../constant/conflictConstant.js';
4
+ import { TEXT_TAG } from '../constant/parserConstant.js';
5
+ const buildMarker = (marker, size, tag) => {
6
+ return `${marker.repeat(size)} ${tag}`;
7
+ };
8
+ const buildSeparator = (size) => {
9
+ return `${SEPARATOR.repeat(size)}`;
10
+ };
3
11
  export class ConflictMarker {
4
12
  static hasConflict = false;
13
+ static baseMarker = buildMarker(ANCESTOR_CONFLICT_MARKER, DEFAULT_CONFLICT_MARKER_SIZE, DEFAULT_ANCESTOR_CONFLICT_TAG);
14
+ static localMarker = buildMarker(LOCAL_CONFLICT_MARKER, DEFAULT_CONFLICT_MARKER_SIZE, DEFAULT_LOCAL_CONFLICT_TAG);
15
+ static otherMarker = buildMarker(OTHER_CONFLICT_MARKER, DEFAULT_CONFLICT_MARKER_SIZE, DEFAULT_OTHER_CONFLICT_TAG);
16
+ static separatorMarker = buildSeparator(DEFAULT_CONFLICT_MARKER_SIZE);
5
17
  static hasConflictMarker() {
6
18
  return ConflictMarker.hasConflict;
7
19
  }
8
- static addConflictMarkers(acc, ours, ancestor, theirs) {
20
+ static addConflictMarkers(acc, local, ancestor, other) {
9
21
  ConflictMarker.hasConflict = true;
10
- acc.push({ [TEXT_TAG]: `${NEWLINE}${LOCAL}` });
11
- acc.push(isEmpty(ours) ? { [TEXT_TAG]: NEWLINE } : ours);
12
- acc.push({ [TEXT_TAG]: BASE });
13
- acc.push(isEmpty(ancestor) ? { [TEXT_TAG]: NEWLINE } : ancestor);
14
- acc.push({ [TEXT_TAG]: SEPARATOR });
15
- acc.push(isEmpty(theirs) ? { [TEXT_TAG]: NEWLINE } : theirs);
16
- acc.push({ [TEXT_TAG]: REMOTE });
22
+ acc.push({ [TEXT_TAG]: `${EOL}${ConflictMarker.localMarker}` });
23
+ acc.push(isEmpty(local) ? { [TEXT_TAG]: EOL } : local);
24
+ acc.push({ [TEXT_TAG]: ConflictMarker.baseMarker });
25
+ acc.push(isEmpty(ancestor) ? { [TEXT_TAG]: EOL } : ancestor);
26
+ acc.push({ [TEXT_TAG]: ConflictMarker.separatorMarker });
27
+ acc.push(isEmpty(other) ? { [TEXT_TAG]: EOL } : other);
28
+ acc.push({ [TEXT_TAG]: ConflictMarker.otherMarker });
29
+ }
30
+ static setConflictConfig(conflictConfig) {
31
+ ConflictMarker.baseMarker = buildMarker(ANCESTOR_CONFLICT_MARKER, conflictConfig.conflictMarkerSize, conflictConfig.ancestorConflictTag);
32
+ ConflictMarker.localMarker = buildMarker(LOCAL_CONFLICT_MARKER, conflictConfig.conflictMarkerSize, conflictConfig.localConflictTag);
33
+ ConflictMarker.otherMarker = buildMarker(OTHER_CONFLICT_MARKER, conflictConfig.conflictMarkerSize, conflictConfig.otherConflictTag);
34
+ ConflictMarker.separatorMarker = buildSeparator(conflictConfig.conflictMarkerSize);
17
35
  }
18
36
  }
19
37
  //# sourceMappingURL=conflictMarker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conflictMarker.js","sourceRoot":"","sources":["../../src/merger/conflictMarker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,GACT,MAAM,gCAAgC,CAAA;AAGvC,MAAM,OAAO,cAAc;IACjB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAA;IAE3B,MAAM,CAAC,iBAAiB;QAC7B,OAAO,cAAc,CAAC,WAAW,CAAA;IACnC,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAC9B,GAAc,EACd,IAA4B,EAC5B,QAAgC,EAChC,MAA8B;QAE9B,cAAc,CAAC,WAAW,GAAG,IAAI,CAAA;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,GAAG,KAAK,EAAE,EAAE,CAAC,CAAA;QAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAChE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;QACnC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAClC,CAAC"}
1
+ {"version":3,"file":"conflictMarker.js","sourceRoot":"","sources":["../../src/merger/conflictMarker.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { JsonArray, JsonObject, JsonValue } from '../types/jsonTypes.js';
2
2
  export declare const generateObj: (value: JsonValue | null, attrib: string) => JsonObject;
3
- export declare const mergeTextAttribute: (ancestor: JsonValue | null, ours: JsonValue | null, theirs: JsonValue | null, attrib: string) => JsonArray;
3
+ export declare const mergeTextAttribute: (ancestor: JsonValue | null, local: JsonValue | null, other: JsonValue | null, attrib: string) => JsonArray;
@@ -1,53 +1,53 @@
1
1
  import { deepEqual } from 'fast-equals';
2
2
  import { isNil } from 'lodash-es';
3
- import { TEXT_TAG } from '../constant/conflicConstant.js';
3
+ import { TEXT_TAG } from '../constant/parserConstant.js';
4
4
  import { MergeScenario, getScenario } from '../types/mergeScenario.js';
5
5
  import { ConflictMarker } from './conflictMarker.js';
6
6
  export const generateObj = (value, attrib) => {
7
7
  return isNil(value) ? {} : { [attrib]: [{ [TEXT_TAG]: value }] };
8
8
  };
9
- export const mergeTextAttribute = (ancestor, ours, theirs, attrib) => {
9
+ export const mergeTextAttribute = (ancestor, local, other, attrib) => {
10
10
  const objAnc = generateObj(ancestor, attrib);
11
- const objOurs = generateObj(ours, attrib);
12
- const objTheirs = generateObj(theirs, attrib);
13
- const scenario = getScenario(objAnc, objOurs, objTheirs);
11
+ const objlocal = generateObj(local, attrib);
12
+ const objother = generateObj(other, attrib);
13
+ const scenario = getScenario(objAnc, objlocal, objother);
14
14
  const acc = [];
15
15
  // Early return for identical values
16
- if (deepEqual(ours, theirs) &&
17
- (scenario === MergeScenario.OURS_AND_THEIRS ||
16
+ if (deepEqual(local, other) &&
17
+ (scenario === MergeScenario.LOCAL_AND_OTHER ||
18
18
  scenario === MergeScenario.ALL)) {
19
- return [objOurs];
19
+ return [objlocal];
20
20
  }
21
21
  // Handle specific merge scenarios
22
22
  switch (scenario) {
23
- case MergeScenario.THEIRS_ONLY:
24
- acc.push(objTheirs);
23
+ case MergeScenario.OTHER_ONLY:
24
+ acc.push(objother);
25
25
  break;
26
- case MergeScenario.OURS_ONLY:
27
- acc.push(objOurs);
26
+ case MergeScenario.LOCAL_ONLY:
27
+ acc.push(objlocal);
28
28
  break;
29
- case MergeScenario.OURS_AND_THEIRS:
30
- ConflictMarker.addConflictMarkers(acc, objOurs, {}, objTheirs);
29
+ case MergeScenario.LOCAL_AND_OTHER:
30
+ ConflictMarker.addConflictMarkers(acc, objlocal, {}, objother);
31
31
  break;
32
- case MergeScenario.ANCESTOR_AND_THEIRS:
33
- if (ancestor !== theirs) {
34
- ConflictMarker.addConflictMarkers(acc, {}, objAnc, objTheirs);
32
+ case MergeScenario.ANCESTOR_AND_OTHER:
33
+ if (ancestor !== other) {
34
+ ConflictMarker.addConflictMarkers(acc, {}, objAnc, objother);
35
35
  }
36
36
  break;
37
- case MergeScenario.ANCESTOR_AND_OURS:
38
- if (ancestor !== ours) {
39
- ConflictMarker.addConflictMarkers(acc, objOurs, objAnc, {});
37
+ case MergeScenario.ANCESTOR_AND_LOCAL:
38
+ if (ancestor !== local) {
39
+ ConflictMarker.addConflictMarkers(acc, objlocal, objAnc, {});
40
40
  }
41
41
  break;
42
42
  case MergeScenario.ALL:
43
- if (ancestor === ours) {
44
- acc.push(objTheirs);
43
+ if (ancestor === local) {
44
+ acc.push(objother);
45
45
  }
46
- else if (ancestor === theirs) {
47
- acc.push(objOurs);
46
+ else if (ancestor === other) {
47
+ acc.push(objlocal);
48
48
  }
49
49
  else {
50
- ConflictMarker.addConflictMarkers(acc, objOurs, objAnc, objTheirs);
50
+ ConflictMarker.addConflictMarkers(acc, objlocal, objAnc, objother);
51
51
  }
52
52
  break;
53
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"textAttribute.js","sourceRoot":"","sources":["../../src/merger/textAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAuB,EACvB,MAAc,EACF,EAAE;IACd,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAA0B,EAC1B,IAAsB,EACtB,MAAwB,EACxB,MAAc,EACH,EAAE;IACb,MAAM,MAAM,GAAe,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACxD,MAAM,OAAO,GAAe,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrD,MAAM,SAAS,GAAe,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAkB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IACvE,MAAM,GAAG,GAAc,EAAE,CAAA;IAEzB,oCAAoC;IACpC,IACE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;QACvB,CAAC,QAAQ,KAAK,aAAa,CAAC,eAAe;YACzC,QAAQ,KAAK,aAAa,CAAC,GAAG,CAAC,EACjC,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,kCAAkC;IAClC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,WAAW;YAC5B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnB,MAAK;QAEP,KAAK,aAAa,CAAC,SAAS;YAC1B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjB,MAAK;QAEP,KAAK,aAAa,CAAC,eAAe;YAChC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;YAC9D,MAAK;QAEP,KAAK,aAAa,CAAC,mBAAmB;YACpC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAC/D,CAAC;YACD,MAAK;QAEP,KAAK,aAAa,CAAC,iBAAiB;YAClC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,MAAK;QAEP,KAAK,aAAa,CAAC,GAAG;YACpB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrB,CAAC;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YACpE,CAAC;YACD,MAAK;IACT,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"textAttribute.js","sourceRoot":"","sources":["../../src/merger/textAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAuB,EACvB,MAAc,EACF,EAAE;IACd,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAA;AAClE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAA0B,EAC1B,KAAuB,EACvB,KAAuB,EACvB,MAAc,EACH,EAAE;IACb,MAAM,MAAM,GAAe,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAe,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAe,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACvD,MAAM,QAAQ,GAAkB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACvE,MAAM,GAAG,GAAc,EAAE,CAAA;IAEzB,oCAAoC;IACpC,IACE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;QACvB,CAAC,QAAQ,KAAK,aAAa,CAAC,eAAe;YACzC,QAAQ,KAAK,aAAa,CAAC,GAAG,CAAC,EACjC,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnB,CAAC;IAED,kCAAkC;IAClC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,aAAa,CAAC,UAAU;YAC3B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClB,MAAK;QAEP,KAAK,aAAa,CAAC,UAAU;YAC3B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClB,MAAK;QAEP,KAAK,aAAa,CAAC,eAAe;YAChC,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;YAC9D,MAAK;QAEP,KAAK,aAAa,CAAC,kBAAkB;YACnC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC9D,CAAC;YACD,MAAK;QAEP,KAAK,aAAa,CAAC,kBAAkB;YACnC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;YAC9D,CAAC;YACD,MAAK;QAEP,KAAK,aAAa,CAAC,GAAG;YACpB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpB,CAAC;iBAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;YACpE,CAAC;YACD,MAAK;IACT,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { JsonArray, JsonObject } from '../types/jsonTypes.js';
2
2
  export declare class NamespaceHandler {
3
- processNamespaces(ancestor: JsonObject | JsonArray, ours: JsonObject | JsonArray, theirs: JsonObject | JsonArray): JsonObject;
3
+ processNamespaces(ancestor: JsonObject | JsonArray, local: JsonObject | JsonArray, other: JsonObject | JsonArray): JsonObject;
4
4
  addNamespacesToResult(acc: JsonArray, namespaces: JsonObject): void;
5
5
  }
@@ -1,10 +1,10 @@
1
1
  const NAMESPACE_PREFIX = '@_';
2
2
  const NAMESPACE_ROOT = ':@';
3
3
  export class NamespaceHandler {
4
- processNamespaces(ancestor, ours, theirs) {
4
+ processNamespaces(ancestor, local, other) {
5
5
  const namespaces = {};
6
6
  // Look for namespace attributes directly at the root level
7
- for (const obj of [ancestor, ours, theirs]) {
7
+ for (const obj of [ancestor, local, other]) {
8
8
  for (const key of Object.keys(obj)) {
9
9
  // It's an object, check for namespace attributes and remove them
10
10
  const childObj = obj[key];
@@ -1 +1 @@
1
- {"version":3,"file":"NamespaceHandler.js","sourceRoot":"","sources":["../../src/service/NamespaceHandler.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAC7B,MAAM,cAAc,GAAG,IAAI,CAAA;AAE3B,MAAM,OAAO,gBAAgB;IACpB,iBAAiB,CACtB,QAAgC,EAChC,IAA4B,EAC5B,MAA8B;QAE9B,MAAM,UAAU,GAAe,EAAE,CAAA;QAEjC,2DAA2D;QAC3D,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,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;IAEM,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"}
1
+ {"version":3,"file":"NamespaceHandler.js","sourceRoot":"","sources":["../../src/service/NamespaceHandler.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,IAAI,CAAA;AAC7B,MAAM,cAAc,GAAG,IAAI,CAAA;AAE3B,MAAM,OAAO,gBAAgB;IACpB,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;IAEM,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"}
@@ -6,7 +6,7 @@ export class InstallService {
6
6
  async installMergeDriver() {
7
7
  const git = simpleGit();
8
8
  await git.addConfig(`merge.${DRIVER_NAME}.name`, 'Salesforce source merge driver');
9
- await git.addConfig(`merge.${DRIVER_NAME}.driver`, `${RUN_PLUGIN_COMMAND} --ancestor-file %O --our-file %A --theirs-file %B --output-file %P`);
9
+ await git.addConfig(`merge.${DRIVER_NAME}.driver`, `${RUN_PLUGIN_COMMAND} -O %O -A %A -B %B -P %P -L %L -X %X -Y %Y`);
10
10
  await git.addConfig(`merge.${DRIVER_NAME}.recursive`, 'true');
11
11
  // Configure merge driver for each metadata type pattern
12
12
  const patterns = METADATA_TYPES_PATTERNS.map(pattern => `*.${pattern}.xml merge=${DRIVER_NAME}`).join('\n');
@@ -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;AAEzE,MAAM,OAAO,cAAc;IAClB,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,GAAG,kBAAkB,qEAAqE,CAC3F,CAAA;QACD,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,WAAW,YAAY,EAAE,MAAM,CAAC,CAAA;QAE7D,wDAAwD;QACxD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,cAAc,WAAW,EAAE,CACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,CAAA;QAE/B,MAAM,UAAU,CAAC,gBAAgB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5D,CAAC;CACF"}
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;AAEzE,MAAM,OAAO,cAAc;IAClB,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,GAAG,kBAAkB,4CAA4C,CAClE,CAAA;QACD,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,WAAW,YAAY,EAAE,MAAM,CAAC,CAAA;QAE7D,wDAAwD;QACxD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,cAAc,WAAW,EAAE,CACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,CAAA;QAE/B,MAAM,UAAU,CAAC,gBAAgB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5D,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ export interface conflicConfig {
2
+ conflictMarkerSize: number;
3
+ ancestorConflictTag: string;
4
+ localConflictTag: string;
5
+ otherConflictTag: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=conflictTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflictTypes.js","sourceRoot":"","sources":["../../src/types/conflictTypes.ts"],"names":[],"mappings":""}
@@ -1,17 +1,17 @@
1
1
  /**
2
2
  * Enum representing different merge scenarios based on content presence:
3
3
  * - First position: Ancestor content present (1) or absent (0)
4
- * - Second position: Ours content present (1) or absent (0)
5
- * - Third position: Theirs content present (1) or absent (0)
4
+ * - Second position: local content present (1) or absent (0)
5
+ * - Third position: other content present (1) or absent (0)
6
6
  */
7
7
  export declare enum MergeScenario {
8
8
  NONE = 0,// No content in any source
9
- THEIRS_ONLY = 1,// Only theirs has content (001)
10
- OURS_ONLY = 10,// Only ours has content (010)
11
- OURS_AND_THEIRS = 11,// Both ours and theirs have content, no ancestor (011)
9
+ OTHER_ONLY = 1,// Only other has content (001)
10
+ LOCAL_ONLY = 10,// Only local has content (010)
11
+ LOCAL_AND_OTHER = 11,// Both local and other have content, no ancestor (011)
12
12
  ANCESTOR_ONLY = 100,// Only ancestor has content (100)
13
- ANCESTOR_AND_THEIRS = 101,// Ancestor and theirs have content, no ours (101)
14
- ANCESTOR_AND_OURS = 110,// Ancestor and ours have content, no theirs (110)
13
+ ANCESTOR_AND_OTHER = 101,// Ancestor and other have content, no local (101)
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, ours: any, theirs: any) => MergeScenario;
17
+ export declare const getScenario: (ancestor: any, local: any, other: any) => MergeScenario;
@@ -2,35 +2,35 @@ import { isEmpty } from 'lodash-es';
2
2
  /**
3
3
  * Enum representing different merge scenarios based on content presence:
4
4
  * - First position: Ancestor content present (1) or absent (0)
5
- * - Second position: Ours content present (1) or absent (0)
6
- * - Third position: Theirs content present (1) or absent (0)
5
+ * - Second position: local content present (1) or absent (0)
6
+ * - Third position: other content present (1) or absent (0)
7
7
  */
8
8
  export var MergeScenario;
9
9
  (function (MergeScenario) {
10
10
  MergeScenario[MergeScenario["NONE"] = 0] = "NONE";
11
- MergeScenario[MergeScenario["THEIRS_ONLY"] = 1] = "THEIRS_ONLY";
12
- MergeScenario[MergeScenario["OURS_ONLY"] = 10] = "OURS_ONLY";
13
- MergeScenario[MergeScenario["OURS_AND_THEIRS"] = 11] = "OURS_AND_THEIRS";
11
+ MergeScenario[MergeScenario["OTHER_ONLY"] = 1] = "OTHER_ONLY";
12
+ MergeScenario[MergeScenario["LOCAL_ONLY"] = 10] = "LOCAL_ONLY";
13
+ MergeScenario[MergeScenario["LOCAL_AND_OTHER"] = 11] = "LOCAL_AND_OTHER";
14
14
  MergeScenario[MergeScenario["ANCESTOR_ONLY"] = 100] = "ANCESTOR_ONLY";
15
- MergeScenario[MergeScenario["ANCESTOR_AND_THEIRS"] = 101] = "ANCESTOR_AND_THEIRS";
16
- MergeScenario[MergeScenario["ANCESTOR_AND_OURS"] = 110] = "ANCESTOR_AND_OURS";
15
+ MergeScenario[MergeScenario["ANCESTOR_AND_OTHER"] = 101] = "ANCESTOR_AND_OTHER";
16
+ MergeScenario[MergeScenario["ANCESTOR_AND_LOCAL"] = 110] = "ANCESTOR_AND_LOCAL";
17
17
  MergeScenario[MergeScenario["ALL"] = 111] = "ALL";
18
18
  })(MergeScenario || (MergeScenario = {}));
19
19
  export const getScenario = (
20
20
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
21
21
  ancestor,
22
22
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
23
- ours,
23
+ local,
24
24
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
25
- theirs) => {
25
+ other) => {
26
26
  let scenario = MergeScenario.NONE;
27
27
  if (!isEmpty(ancestor)) {
28
28
  scenario += 100;
29
29
  }
30
- if (!isEmpty(ours)) {
30
+ if (!isEmpty(local)) {
31
31
  scenario += 10;
32
32
  }
33
- if (!isEmpty(theirs)) {
33
+ if (!isEmpty(other)) {
34
34
  scenario += 1;
35
35
  }
36
36
  return scenario;
@@ -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,+DAAe,CAAA;IACf,4DAAc,CAAA;IACd,wEAAoB,CAAA;IACpB,qEAAmB,CAAA;IACnB,iFAAyB,CAAA;IACzB,6EAAuB,CAAA;IACvB,iDAAS,CAAA;AACX,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;AACzB,4DAA4D;AAC5D,QAAa;AACb,4DAA4D;AAC5D,IAAS;AACT,4DAA4D;AAC5D,MAAW,EACI,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,IAAI,CAAC,EAAE,CAAC;QACnB,QAAQ,IAAI,EAAE,CAAA;IAChB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,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,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,4DAA4D;AAC5D,QAAa;AACb,4DAA4D;AAC5D,KAAU;AACV,4DAA4D;AAC5D,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,4 +1,4 @@
1
1
  import type { JsonArray, JsonObject, JsonValue } from '../types/jsonTypes.js';
2
- export declare const isObject: (ancestor: JsonValue | undefined | null, ours: JsonValue | undefined | null, theirs: JsonValue | undefined | null) => boolean;
2
+ export declare const isObject: (ancestor: JsonValue | undefined | null, local: JsonValue | undefined | null, other: JsonValue | undefined | null) => boolean;
3
3
  export declare const ensureArray: (value: JsonValue) => JsonArray;
4
4
  export declare const getUniqueSortedProps: (...objects: (JsonObject | JsonArray)[]) => string[];
@@ -1,5 +1,5 @@
1
1
  import { castArray, isNil } from 'lodash-es';
2
- export const isObject = (ancestor, ours, theirs) => typeof [ancestor, theirs, ours].find(ele => !isNil(ele)) === 'object';
2
+ export const isObject = (ancestor, local, other) => typeof [ancestor, other, local].find(ele => !isNil(ele)) === 'object';
3
3
  export const ensureArray = (value) => isNil(value) ? [] : castArray(value);
4
4
  export const getUniqueSortedProps = (...objects) => Array.from(new Set([...objects].map(Object.keys).flat())).sort();
5
5
  //# sourceMappingURL=mergeUtils.js.map
@@ -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;AAG5C,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,QAAsC,EACtC,IAAkC,EAClC,MAAoC,EAC3B,EAAE,CACX,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,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,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"mergeUtils.js","sourceRoot":"","sources":["../../src/utils/mergeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAG5C,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,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA"}
package/messages/run.md CHANGED
@@ -10,23 +10,23 @@ Runs the merge driver for the specified files, handling the merge conflict resol
10
10
 
11
11
  - Run the merge driver for conflicting files:
12
12
 
13
- <%= config.bin %> <%= command.id %> --ancestor-file=<value> --our-file=<value> --theirs-file=<value> --output-file=<value>
13
+ <%= config.bin %> <%= command.id %> --ancestor-file=<value> --local-file=<value> --other-file=<value> --output-file=<value>
14
14
 
15
15
  - Where:
16
16
  - ancestor-file is the path to the common ancestor version of the file
17
- - our-file is the path to our version of the file
18
- - their-file is the path to their version of the file
17
+ - local-file is the path to our version of the file
18
+ - other-file is the path to their version of the file
19
19
  - output-file is the path to the file where the merged content will be written
20
20
 
21
21
  # flags.ancestor-file.summary
22
22
 
23
23
  path to the common ancestor version of the file
24
24
 
25
- # flags.our-file.summary
25
+ # flags.local-file.summary
26
26
 
27
27
  path to our version of the file
28
28
 
29
- # flags.theirs-file.summary
29
+ # flags.other-file.summary
30
30
 
31
31
  path to their version of the file
32
32
 
@@ -34,6 +34,18 @@ path to their version of the file
34
34
 
35
35
  path to the file where the merged content will be written
36
36
 
37
+ # flags.conflict-marker-size.summary
38
+ number of characters to show for conflict markers
39
+
40
+ # flags.ancestor-conflict-tag.summary
41
+ string used to tag ancestor version in conflicts
42
+
43
+ # flags.local-conflict-tag.summary
44
+ string used to tag local version in conflicts
45
+
46
+ # flags.other-conflict-tag.summary
47
+ string used to tag other version in conflicts
48
+
37
49
  # result.withconflict
38
50
 
39
51
  There are conflicts for file
@@ -41,4 +53,3 @@ There are conflicts for file
41
53
  # result.successful
42
54
 
43
55
  Successfully merged file
44
-
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "sf-git-merge-driver",
3
- "version": "1.0.0-dev-3.14240781218-1",
3
+ "version": "1.0.0-dev-3.14244475954-1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "sf-git-merge-driver",
9
- "version": "1.0.0-dev-3.14240781218-1",
9
+ "version": "1.0.0-dev-3.14244475954-1",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "@oclif/core": "^4.2.10",
13
13
  "@salesforce/core": "^8.8.7",
14
14
  "@salesforce/sf-plugins-core": "^12.2.1",
15
15
  "fast-equals": "^5.2.2",
16
- "fast-xml-parser": "^5.1.0",
16
+ "fast-xml-parser": "^5.2.0",
17
17
  "lodash-es": "^4.17.21",
18
18
  "simple-git": "^3.27.0"
19
19
  },
@@ -6991,9 +6991,9 @@
6991
6991
  "license": "BSD-3-Clause"
6992
6992
  },
6993
6993
  "node_modules/fast-xml-parser": {
6994
- "version": "5.1.0",
6995
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.1.0.tgz",
6996
- "integrity": "sha512-6fCOoEdpD/hU5fUDviXh0HE9aOiW6En0+4jeyY05F9lORwq6kaO4CrW+ke/hBKnr1pCldU8AVFITwFJEnz8O/w==",
6994
+ "version": "5.2.0",
6995
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.0.tgz",
6996
+ "integrity": "sha512-Uw9+Mjt4SBRud1IcaYuW/O0lW8SKKdMl5g7g24HiIuyH5fQSD+AVLybSlJtqLYEbytVFjWQa5DMGcNgeksdRBg==",
6997
6997
  "funding": [
6998
6998
  {
6999
6999
  "type": "github",
@@ -75,8 +75,8 @@
75
75
  "args": {},
76
76
  "description": "Runs the merge driver for the specified files, handling the merge conflict resolution using Salesforce-specific merge strategies. This command is typically called automatically by Git when a merge conflict is detected.",
77
77
  "examples": [
78
- "Run the merge driver for conflicting files:\n<%= config.bin %> <%= command.id %> --ancestor-file=<value> --our-file=<value> --theirs-file=<value> --output-file=<value>",
79
- "Where:\n- ancestor-file is the path to the common ancestor version of the file\n- our-file is the path to our version of the file\n- their-file is the path to their version of the file\n- output-file is the path to the file where the merged content will be written"
78
+ "Run the merge driver for conflicting files:\n<%= config.bin %> <%= command.id %> --ancestor-file=<value> --local-file=<value> --other-file=<value> --output-file=<value>",
79
+ "Where:\n- ancestor-file is the path to the common ancestor version of the file\n- local-file is the path to our version of the file\n- other-file is the path to their version of the file\n- output-file is the path to the file where the merged content will be written"
80
80
  ],
81
81
  "flags": {
82
82
  "json": {
@@ -95,7 +95,7 @@
95
95
  "type": "option"
96
96
  },
97
97
  "ancestor-file": {
98
- "char": "a",
98
+ "char": "O",
99
99
  "name": "ancestor-file",
100
100
  "required": true,
101
101
  "summary": "path to the common ancestor version of the file",
@@ -103,18 +103,18 @@
103
103
  "multiple": false,
104
104
  "type": "option"
105
105
  },
106
- "our-file": {
107
- "char": "o",
108
- "name": "our-file",
106
+ "local-file": {
107
+ "char": "A",
108
+ "name": "local-file",
109
109
  "required": true,
110
110
  "summary": "path to our version of the file",
111
111
  "hasDynamicHelp": false,
112
112
  "multiple": false,
113
113
  "type": "option"
114
114
  },
115
- "theirs-file": {
116
- "char": "t",
117
- "name": "theirs-file",
115
+ "other-file": {
116
+ "char": "B",
117
+ "name": "other-file",
118
118
  "required": true,
119
119
  "summary": "path to their version of the file",
120
120
  "hasDynamicHelp": false,
@@ -122,13 +122,49 @@
122
122
  "type": "option"
123
123
  },
124
124
  "output-file": {
125
- "char": "p",
125
+ "char": "P",
126
126
  "name": "output-file",
127
127
  "required": true,
128
128
  "summary": "path to the file where the merged content will be written",
129
129
  "hasDynamicHelp": false,
130
130
  "multiple": false,
131
131
  "type": "option"
132
+ },
133
+ "conflict-marker-size": {
134
+ "char": "L",
135
+ "name": "conflict-marker-size",
136
+ "summary": "number of characters to show for conflict markers",
137
+ "default": 7,
138
+ "hasDynamicHelp": false,
139
+ "multiple": false,
140
+ "type": "option"
141
+ },
142
+ "ancestor-conflict-tag": {
143
+ "char": "S",
144
+ "name": "ancestor-conflict-tag",
145
+ "summary": "string used to tag ancestor version in conflicts",
146
+ "default": "BASE",
147
+ "hasDynamicHelp": false,
148
+ "multiple": false,
149
+ "type": "option"
150
+ },
151
+ "local-conflict-tag": {
152
+ "char": "X",
153
+ "name": "local-conflict-tag",
154
+ "summary": "string used to tag local version in conflicts",
155
+ "default": "LOCAL",
156
+ "hasDynamicHelp": false,
157
+ "multiple": false,
158
+ "type": "option"
159
+ },
160
+ "other-conflict-tag": {
161
+ "char": "Y",
162
+ "name": "other-conflict-tag",
163
+ "summary": "string used to tag other version in conflicts",
164
+ "default": "REMOTE",
165
+ "hasDynamicHelp": false,
166
+ "multiple": false,
167
+ "type": "option"
132
168
  }
133
169
  },
134
170
  "hasDynamicHelp": false,
@@ -248,5 +284,5 @@
248
284
  ]
249
285
  }
250
286
  },
251
- "version": "1.0.0-dev-3.14240781218-1"
287
+ "version": "1.0.0-dev-3.14244475954-1"
252
288
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sf-git-merge-driver",
3
3
  "description": "git remote add origin git@github.com:scolladon/sf-git-merge-driver.git",
4
- "version": "1.0.0-dev-3.14240781218-1",
4
+ "version": "1.0.0-dev-3.14244475954-1",
5
5
  "exports": "./lib/driver/MergeDriver.js",
6
6
  "type": "module",
7
7
  "author": "Sébastien Colladon (colladonsebastien@gmail.com)",
@@ -14,7 +14,7 @@
14
14
  "@salesforce/core": "^8.8.7",
15
15
  "@salesforce/sf-plugins-core": "^12.2.1",
16
16
  "fast-equals": "^5.2.2",
17
- "fast-xml-parser": "^5.1.0",
17
+ "fast-xml-parser": "^5.2.0",
18
18
  "lodash-es": "^4.17.21",
19
19
  "simple-git": "^3.27.0"
20
20
  },
@@ -1,6 +0,0 @@
1
- export declare const BASE = "||||||| BASE";
2
- export declare const LOCAL = "<<<<<<< LOCAL";
3
- export declare const NEWLINE = "\n";
4
- export declare const REMOTE = ">>>>>>> REMOTE";
5
- export declare const SEPARATOR = "=======";
6
- export declare const TEXT_TAG = "#text";
@@ -1,7 +0,0 @@
1
- export const BASE = '||||||| BASE';
2
- export const LOCAL = '<<<<<<< LOCAL';
3
- export const NEWLINE = '\n';
4
- export const REMOTE = '>>>>>>> REMOTE';
5
- export const SEPARATOR = '=======';
6
- export const TEXT_TAG = '#text';
7
- //# sourceMappingURL=conflicConstant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conflicConstant.js","sourceRoot":"","sources":["../../src/constant/conflicConstant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAA;AAClC,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAA;AACpC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAA;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG,gBAAgB,CAAA;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAA;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAA"}