sf-git-merge-driver 1.0.0-dev-3.13992313901-1 → 1.0.0-dev-3.14023249834-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 (36) hide show
  1. package/README.md +3 -3
  2. package/lib/constant/conflicConstant.d.ts +6 -0
  3. package/lib/constant/conflicConstant.js +7 -0
  4. package/lib/constant/conflicConstant.js.map +1 -0
  5. package/lib/constant/metadataConstant.d.ts +4 -53
  6. package/lib/constant/metadataConstant.js +4 -53
  7. package/lib/constant/metadataConstant.js.map +1 -1
  8. package/lib/merger/JsonMerger.d.ts +2 -36
  9. package/lib/merger/JsonMerger.js +151 -532
  10. package/lib/merger/JsonMerger.js.map +1 -1
  11. package/lib/merger/XmlMerger.js +1 -1
  12. package/lib/merger/XmlMerger.js.map +1 -1
  13. package/lib/merger/conflictMarker.d.ts +2 -0
  14. package/lib/merger/conflictMarker.js +12 -0
  15. package/lib/merger/conflictMarker.js.map +1 -0
  16. package/lib/merger/textAttribute.d.ts +2 -0
  17. package/lib/merger/textAttribute.js +55 -0
  18. package/lib/merger/textAttribute.js.map +1 -0
  19. package/lib/service/MetadataService.d.ts +4 -0
  20. package/lib/service/MetadataService.js +70 -0
  21. package/lib/service/MetadataService.js.map +1 -0
  22. package/lib/service/NamespaceHandler.d.ts +5 -0
  23. package/lib/service/NamespaceHandler.js +35 -0
  24. package/lib/service/NamespaceHandler.js.map +1 -0
  25. package/lib/types/jsonTypes.d.ts +6 -0
  26. package/lib/types/jsonTypes.js +2 -0
  27. package/lib/types/jsonTypes.js.map +1 -0
  28. package/lib/types/mergeScenario.d.ts +17 -0
  29. package/lib/types/mergeScenario.js +38 -0
  30. package/lib/types/mergeScenario.js.map +1 -0
  31. package/lib/utils/mergeUtils.d.ts +4 -0
  32. package/lib/utils/mergeUtils.js +5 -0
  33. package/lib/utils/mergeUtils.js.map +1 -0
  34. package/npm-shrinkwrap.json +237 -16
  35. package/oclif.manifest.json +1 -1
  36. package/package.json +4 -4
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.13992313901-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.14023249834-1/src/commands/git/merge/driver/install.ts)_
51
51
 
52
52
  ## `sf git merge driver run`
53
53
 
@@ -85,7 +85,7 @@ EXAMPLES
85
85
  - output-file is the path to the file where the merged content will be written
86
86
  ```
87
87
 
88
- _See code: [src/commands/git/merge/driver/run.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.13992313901-1/src/commands/git/merge/driver/run.ts)_
88
+ _See code: [src/commands/git/merge/driver/run.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14023249834-1/src/commands/git/merge/driver/run.ts)_
89
89
 
90
90
  ## `sf git merge driver uninstall`
91
91
 
@@ -112,7 +112,7 @@ EXAMPLES
112
112
  $ sf git merge driver uninstall
113
113
  ```
114
114
 
115
- _See code: [src/commands/git/merge/driver/uninstall.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.13992313901-1/src/commands/git/merge/driver/uninstall.ts)_
115
+ _See code: [src/commands/git/merge/driver/uninstall.ts](https://github.com/scolladon/sf-git-merge-driver/blob/v1.0.0-dev-3.14023249834-1/src/commands/git/merge/driver/uninstall.ts)_
116
116
  <!-- commandsstop -->
117
117
 
118
118
  ## How It Works
@@ -0,0 +1,6 @@
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";
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -1,54 +1,5 @@
1
- export declare const KEY_FIELD_METADATA: {
2
- marketingAppExtActivities: string;
3
- alerts: string;
4
- fieldUpdates: string;
5
- flowActions: string;
6
- outboundMessages: string;
7
- rules: string;
8
- knowledgePublishes: string;
9
- tasks: string;
10
- send: string;
11
- sharingCriteriaRules: string;
12
- sharingGuestRules: string;
13
- sharingOwnerRules: string;
14
- sharingTerritoryRules: string;
15
- assignmentRule: string;
16
- autoResponseRule: string;
17
- escalationRule: string;
18
- matchingRules: string;
19
- valueTranslation: string;
20
- categoryGroupVisibilities: string;
21
- applicationVisibilities: string;
22
- classAccesses: string;
23
- customMetadataTypeAccesses: string;
24
- customPermissions: string;
25
- customSettingAccesses: string;
26
- externalDataSourceAccesses: string;
27
- fieldPermissions: string;
28
- flowAccesses: string;
29
- loginFlows: string;
30
- layoutAssignments: string;
31
- loginHours: string;
32
- loginIpRanges: string;
33
- objectPermissions: string;
34
- pageAccesses: string;
35
- profileActionOverrides: string;
36
- recordTypeVisibilities: string;
37
- tabVisibilities: string;
38
- userPermissions: string;
39
- bots: string;
40
- customApplications: string;
41
- customLabels: string;
42
- customPageWebLinks: string;
43
- customTabs: string;
44
- flowDefinitions: string;
45
- pipelineInspMetricConfigs: string;
46
- prompts: string;
47
- quickActions: string;
48
- reportTypes: string;
49
- scontrols: string;
50
- standardValue: string;
51
- customValue: string;
52
- labels: string;
53
- };
1
+ /**
2
+ * Note: KEY_FIELD_METADATA has been moved to MetadataService
3
+ * @see MetadataService for key field extraction logic
4
+ */
54
5
  export declare const METADATA_TYPES_PATTERNS: string[];
@@ -1,56 +1,7 @@
1
- export const KEY_FIELD_METADATA = {
2
- marketingAppExtActivities: 'fullName',
3
- alerts: 'fullName',
4
- fieldUpdates: 'fullName',
5
- flowActions: 'fullName',
6
- outboundMessages: 'fullName',
7
- rules: 'fullName',
8
- knowledgePublishes: 'fullName',
9
- tasks: 'fullName',
10
- send: 'fullName',
11
- sharingCriteriaRules: 'fullName',
12
- sharingGuestRules: 'fullName',
13
- sharingOwnerRules: 'fullName',
14
- sharingTerritoryRules: 'fullName',
15
- assignmentRule: 'fullName',
16
- autoResponseRule: 'fullName',
17
- escalationRule: 'fullName',
18
- matchingRules: 'fullName',
19
- valueTranslation: 'masterLabel',
20
- categoryGroupVisibilities: 'dataCategoryGroup',
21
- applicationVisibilities: 'application',
22
- classAccesses: 'apexClass',
23
- customMetadataTypeAccesses: 'name',
24
- customPermissions: 'name',
25
- customSettingAccesses: 'name',
26
- externalDataSourceAccesses: 'externalDataSource',
27
- fieldPermissions: 'field',
28
- flowAccesses: 'flow',
29
- loginFlows: 'friendlyname',
30
- layoutAssignments: '<object>',
31
- loginHours: '<array>',
32
- loginIpRanges: '<array>',
33
- objectPermissions: 'object',
34
- pageAccesses: 'apexPage',
35
- profileActionOverrides: 'actionName',
36
- recordTypeVisibilities: 'recordType',
37
- tabVisibilities: 'tab',
38
- userPermissions: 'name',
39
- bots: 'fullName',
40
- customApplications: 'name',
41
- customLabels: 'name',
42
- customPageWebLinks: 'name',
43
- customTabs: 'name',
44
- flowDefinitions: 'fullName',
45
- pipelineInspMetricConfigs: 'name',
46
- prompts: 'name',
47
- quickActions: 'name',
48
- reportTypes: 'name',
49
- scontrols: 'name',
50
- standardValue: 'fullName',
51
- customValue: 'fullName',
52
- labels: 'fullName',
53
- };
1
+ /**
2
+ * Note: KEY_FIELD_METADATA has been moved to MetadataService
3
+ * @see MetadataService for key field extraction logic
4
+ */
54
5
  export const METADATA_TYPES_PATTERNS = [
55
6
  'assignmentRules',
56
7
  'autoResponseRules',
@@ -1 +1 @@
1
- {"version":3,"file":"metadataConstant.js","sourceRoot":"","sources":["../../src/constant/metadataConstant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yBAAyB,EAAE,UAAU;IACrC,MAAM,EAAE,UAAU;IAClB,YAAY,EAAE,UAAU;IACxB,WAAW,EAAE,UAAU;IACvB,gBAAgB,EAAE,UAAU;IAC5B,KAAK,EAAE,UAAU;IACjB,kBAAkB,EAAE,UAAU;IAC9B,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,UAAU;IAChB,oBAAoB,EAAE,UAAU;IAChC,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,qBAAqB,EAAE,UAAU;IACjC,cAAc,EAAE,UAAU;IAC1B,gBAAgB,EAAE,UAAU;IAC5B,cAAc,EAAE,UAAU;IAC1B,aAAa,EAAE,UAAU;IACzB,gBAAgB,EAAE,aAAa;IAC/B,yBAAyB,EAAE,mBAAmB;IAC9C,uBAAuB,EAAE,aAAa;IACtC,aAAa,EAAE,WAAW;IAC1B,0BAA0B,EAAE,MAAM;IAClC,iBAAiB,EAAE,MAAM;IACzB,qBAAqB,EAAE,MAAM;IAC7B,0BAA0B,EAAE,oBAAoB;IAChD,gBAAgB,EAAE,OAAO;IACzB,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,cAAc;IAC1B,iBAAiB,EAAE,UAAU;IAC7B,UAAU,EAAE,SAAS;IACrB,aAAa,EAAE,SAAS;IACxB,iBAAiB,EAAE,QAAQ;IAC3B,YAAY,EAAE,UAAU;IACxB,sBAAsB,EAAE,YAAY;IACpC,sBAAsB,EAAE,YAAY;IACpC,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,MAAM;IACvB,IAAI,EAAE,UAAU;IAChB,kBAAkB,EAAE,MAAM;IAC1B,YAAY,EAAE,MAAM;IACpB,kBAAkB,EAAE,MAAM;IAC1B,UAAU,EAAE,MAAM;IAClB,eAAe,EAAE,UAAU;IAC3B,yBAAyB,EAAE,MAAM;IACjC,OAAO,EAAE,MAAM;IACf,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,UAAU;IACzB,WAAW,EAAE,UAAU;IACvB,MAAM,EAAE,UAAU;CACnB,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,2BAA2B;IAC3B,uBAAuB;IACvB,cAAc;IACd,SAAS;IACT,cAAc;IACd,kBAAkB;IAClB,6BAA6B;IAC7B,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"metadataConstant.js","sourceRoot":"","sources":["../../src/constant/metadataConstant.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,gBAAgB;IAChB,2BAA2B;IAC3B,uBAAuB;IACvB,cAAc;IACd,SAAS;IACT,cAAc;IACd,kBAAkB;IAClB,6BAA6B;IAC7B,UAAU;CACX,CAAA"}
@@ -1,38 +1,4 @@
1
- export type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
2
- interface JsonObject {
3
- [key: string]: JsonValue;
4
- }
5
- interface JsonArray extends Array<JsonValue> {
6
- }
1
+ import type { JsonArray, JsonObject } from '../types/jsonTypes.js';
7
2
  export declare class JsonMerger {
8
- /**
9
- * Main entry point for merging JSON values
10
- */
11
- mergeObjects(ancestor: JsonObject | JsonArray, ours: JsonObject | JsonArray, theirs: JsonObject | JsonArray, parent?: JsonObject | JsonArray): JsonArray;
12
- private mergeTextAttribute;
13
- /**
14
- * Gets the typeof of the attribute
15
- */
16
- private getAttributePrimarytype;
17
- /**
18
- * Ensures a value is an array
19
- */
20
- private ensureArray;
21
- /**
22
- * Gets the key field for a property from KEY_FIELD_METADATA
23
- */
24
- private getKeyField;
25
- /**
26
- * Merges arrays using the specified key field if available
27
- */
28
- private mergeArrays;
29
- /**
30
- * Merges arrays by position
31
- */
32
- private mergeByPosition;
33
- /**
34
- * Merges arrays using a key field
35
- */
36
- private mergeByKeyField;
3
+ merge(ancestor: JsonObject | JsonArray, ours: JsonObject | JsonArray, theirs: JsonObject | JsonArray): JsonArray;
37
4
  }
38
- export {};