sfdx-git-delta 7.1.0 → 7.3.0

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 (134) hide show
  1. package/README.md +27 -5
  2. package/lib/adapter/GitAdapter.d.ts +26 -12
  3. package/lib/adapter/GitAdapter.js +162 -175
  4. package/lib/adapter/GitAdapter.js.map +1 -1
  5. package/lib/adapter/ioExecutor.d.ts +6 -7
  6. package/lib/adapter/ioExecutor.js +22 -22
  7. package/lib/adapter/ioExecutor.js.map +1 -1
  8. package/lib/adapter/pathMatching.d.ts +9 -0
  9. package/lib/adapter/pathMatching.js +83 -0
  10. package/lib/adapter/pathMatching.js.map +1 -0
  11. package/lib/adapter/treeIndex.d.ts +7 -4
  12. package/lib/adapter/treeIndex.js +34 -0
  13. package/lib/adapter/treeIndex.js.map +1 -1
  14. package/lib/adapter/treeReader.d.ts +8 -0
  15. package/lib/adapter/treeReader.js +22 -0
  16. package/lib/adapter/treeReader.js.map +1 -0
  17. package/lib/commands/sgd/source/delta.d.ts +1 -0
  18. package/lib/commands/sgd/source/delta.js +5 -0
  19. package/lib/commands/sgd/source/delta.js.map +1 -1
  20. package/lib/main.d.ts +2 -2
  21. package/lib/main.js +84 -37
  22. package/lib/main.js.map +1 -1
  23. package/lib/post-processor/baseProcessor.d.ts +11 -8
  24. package/lib/post-processor/baseProcessor.js +8 -8
  25. package/lib/post-processor/baseProcessor.js.map +1 -1
  26. package/lib/post-processor/changesManifestProcessor.d.ts +3 -2
  27. package/lib/post-processor/changesManifestProcessor.js +5 -4
  28. package/lib/post-processor/changesManifestProcessor.js.map +1 -1
  29. package/lib/post-processor/flowTranslationProcessor.d.ts +6 -8
  30. package/lib/post-processor/flowTranslationProcessor.js +18 -20
  31. package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
  32. package/lib/post-processor/includeProcessor.d.ts +6 -6
  33. package/lib/post-processor/includeProcessor.js +8 -7
  34. package/lib/post-processor/includeProcessor.js.map +1 -1
  35. package/lib/post-processor/packageGenerator.d.ts +3 -2
  36. package/lib/post-processor/packageGenerator.js +5 -4
  37. package/lib/post-processor/packageGenerator.js.map +1 -1
  38. package/lib/post-processor/postProcessorManager.d.ts +5 -8
  39. package/lib/post-processor/postProcessorManager.js +24 -32
  40. package/lib/post-processor/postProcessorManager.js.map +1 -1
  41. package/lib/service/botHandler.d.ts +1 -2
  42. package/lib/service/botHandler.js +17 -10
  43. package/lib/service/botHandler.js.map +1 -1
  44. package/lib/service/containedDecomposedHandler.d.ts +4 -5
  45. package/lib/service/containedDecomposedHandler.js +14 -13
  46. package/lib/service/containedDecomposedHandler.js.map +1 -1
  47. package/lib/service/customFieldHandler.d.ts +1 -2
  48. package/lib/service/customFieldHandler.js +7 -6
  49. package/lib/service/customFieldHandler.js.map +1 -1
  50. package/lib/service/customLabelHandler.d.ts +1 -2
  51. package/lib/service/customLabelHandler.js +3 -3
  52. package/lib/service/customLabelHandler.js.map +1 -1
  53. package/lib/service/customObjectHandler.d.ts +3 -4
  54. package/lib/service/customObjectHandler.js +11 -10
  55. package/lib/service/customObjectHandler.js.map +1 -1
  56. package/lib/service/decomposedHandler.d.ts +3 -4
  57. package/lib/service/decomposedHandler.js +5 -4
  58. package/lib/service/decomposedHandler.js.map +1 -1
  59. package/lib/service/diffLineInterpreter.d.ts +3 -5
  60. package/lib/service/diffLineInterpreter.js +17 -16
  61. package/lib/service/diffLineInterpreter.js.map +1 -1
  62. package/lib/service/flowHandler.d.ts +1 -2
  63. package/lib/service/flowHandler.js +9 -4
  64. package/lib/service/flowHandler.js.map +1 -1
  65. package/lib/service/inFileHandler.d.ts +8 -9
  66. package/lib/service/inFileHandler.js +25 -25
  67. package/lib/service/inFileHandler.js.map +1 -1
  68. package/lib/service/inFolderHandler.d.ts +4 -5
  69. package/lib/service/inFolderHandler.js +7 -6
  70. package/lib/service/inFolderHandler.js.map +1 -1
  71. package/lib/service/inResourceHandler.d.ts +4 -5
  72. package/lib/service/inResourceHandler.js +11 -9
  73. package/lib/service/inResourceHandler.js.map +1 -1
  74. package/lib/service/objectTranslationHandler.d.ts +1 -2
  75. package/lib/service/objectTranslationHandler.js +6 -5
  76. package/lib/service/objectTranslationHandler.js.map +1 -1
  77. package/lib/service/reportingFolderHandler.d.ts +6 -7
  78. package/lib/service/reportingFolderHandler.js +6 -6
  79. package/lib/service/reportingFolderHandler.js.map +1 -1
  80. package/lib/service/sharedFolderHandler.d.ts +4 -5
  81. package/lib/service/sharedFolderHandler.js +6 -6
  82. package/lib/service/sharedFolderHandler.js.map +1 -1
  83. package/lib/service/standardHandler.d.ts +8 -10
  84. package/lib/service/standardHandler.js +34 -36
  85. package/lib/service/standardHandler.js.map +1 -1
  86. package/lib/service/typeHandlerFactory.d.ts +7 -5
  87. package/lib/service/typeHandlerFactory.js +13 -12
  88. package/lib/service/typeHandlerFactory.js.map +1 -1
  89. package/lib/types/config.d.ts +6 -1
  90. package/lib/types/handlerResult.d.ts +7 -7
  91. package/lib/types/handlerResult.js +10 -1
  92. package/lib/types/handlerResult.js.map +1 -1
  93. package/lib/types/runContext.d.ts +21 -0
  94. package/lib/types/runContext.js +12 -0
  95. package/lib/types/runContext.js.map +1 -0
  96. package/lib/types/work.d.ts +1 -1
  97. package/lib/utils/arrayUtils.d.ts +1 -1
  98. package/lib/utils/arrayUtils.js.map +1 -1
  99. package/lib/utils/bundleRollup.d.ts +6 -0
  100. package/lib/utils/bundleRollup.js +62 -0
  101. package/lib/utils/bundleRollup.js.map +1 -0
  102. package/lib/utils/changeSet.d.ts +12 -15
  103. package/lib/utils/changeSet.js +23 -120
  104. package/lib/utils/changeSet.js.map +1 -1
  105. package/lib/utils/changesAssembly.d.ts +8 -0
  106. package/lib/utils/changesAssembly.js +21 -0
  107. package/lib/utils/changesAssembly.js.map +1 -0
  108. package/lib/utils/configValidator.d.ts +8 -6
  109. package/lib/utils/configValidator.js +56 -13
  110. package/lib/utils/configValidator.js.map +1 -1
  111. package/lib/utils/fsHelper.d.ts +5 -3
  112. package/lib/utils/fsHelper.js +12 -9
  113. package/lib/utils/fsHelper.js.map +1 -1
  114. package/lib/utils/messageSanitizer.d.ts +1 -0
  115. package/lib/utils/messageSanitizer.js +48 -0
  116. package/lib/utils/messageSanitizer.js.map +1 -0
  117. package/lib/utils/metadataBoundaryResolver.d.ts +7 -5
  118. package/lib/utils/metadataBoundaryResolver.js +18 -21
  119. package/lib/utils/metadataBoundaryResolver.js.map +1 -1
  120. package/lib/utils/pathspec.d.ts +15 -0
  121. package/lib/utils/pathspec.js +71 -0
  122. package/lib/utils/pathspec.js.map +1 -0
  123. package/lib/utils/renameResolver.d.ts +6 -7
  124. package/lib/utils/renameResolver.js +10 -9
  125. package/lib/utils/renameResolver.js.map +1 -1
  126. package/lib/utils/repoGitDiff.d.ts +3 -0
  127. package/lib/utils/repoGitDiff.js +30 -1
  128. package/lib/utils/repoGitDiff.js.map +1 -1
  129. package/messages/delta.md +38 -0
  130. package/oclif.manifest.json +10 -3
  131. package/package.json +23 -22
  132. package/lib/post-processor/bundleRollupProcessor.d.ts +0 -7
  133. package/lib/post-processor/bundleRollupProcessor.js +0 -81
  134. package/lib/post-processor/bundleRollupProcessor.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"postProcessorManager.js","sourceRoot":"","sources":["../../src/post-processor/postProcessorManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postProcessorManager.js","sourceRoot":"","sources":["../../src/post-processor/postProcessorManager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { HandlerResult } from '../types/handlerResult.js';
2
- import type ChangeSet from '../utils/changeSet.js';
3
2
  import ShareFolderHandler from './sharedFolderHandler.js';
4
3
  export default class BotHandler extends ShareFolderHandler {
5
4
  protected _getElementName(): string;
6
- collectAddition(sink?: ChangeSet): Promise<HandlerResult>;
5
+ collectAddition(): Promise<HandlerResult>;
7
6
  }
@@ -11,18 +11,25 @@ export default class BotHandler extends ShareFolderHandler {
11
11
  const elementName = new Set([this.element.parentFolder, fileName]);
12
12
  return [...elementName].join(DOT);
13
13
  }
14
- async collectAddition(sink) {
15
- const result = await super.collectAddition(sink);
14
+ async collectAddition() {
15
+ const result = await super.collectAddition();
16
16
  const botName = this.element.parentFolder.split(PATH_SEP).pop();
17
- result.changes.addElement({
18
- target: ManifestTarget.Package,
19
- type: BOT_TYPE,
20
- member: botName,
21
- changeKind: this._getChangeKind(),
22
- });
17
+ const copies = [...result.copies];
23
18
  const botPath = `${parse(this.element.basePath).dir}${PATH_SEP}${botName}.${BOT_EXTENSION}`;
24
- this._collectCopyWithMetaFile(result.copies, botPath);
25
- return result;
19
+ this._collectCopyWithMetaFile(copies, botPath);
20
+ return {
21
+ ...result,
22
+ elements: [
23
+ ...result.elements,
24
+ {
25
+ target: ManifestTarget.Package,
26
+ type: BOT_TYPE,
27
+ member: botName,
28
+ changeKind: this._getChangeKind(),
29
+ },
30
+ ],
31
+ copies,
32
+ };
26
33
  }
27
34
  }
28
35
  //# sourceMappingURL=botHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"botHandler.js","sourceRoot":"","sources":["../../src/service/botHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAA;AAEzD,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,kBAAkB;IACrC,eAAe;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAEe,KAAK,CAAC,eAAe,CACnC,IAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAY,CAAA;QACzE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YACxB,MAAM,EAAE,cAAc,CAAC,OAAO;YAC9B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;SAClC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,GACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC/B,GAAG,QAAQ,GAAG,OAAO,IAAI,aAAa,EAAE,CAAA;QACxC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"botHandler.js","sourceRoot":"","sources":["../../src/service/botHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAA;AAEzD,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,kBAAkB;IACrC,eAAe;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAY,CAAA;QACzE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,GACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC/B,GAAG,QAAQ,GAAG,OAAO,IAAI,aAAa,EAAE,CAAA;QACxC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9C,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB;oBACE,MAAM,EAAE,cAAc,CAAC,OAAO;oBAC9B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;iBAClC;aACF;YACD,MAAM;SACP,CAAA;IACH,CAAC;CACF"}
@@ -1,14 +1,13 @@
1
1
  import { ParsedPath } from 'node:path/posix';
2
2
  import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
3
- import type { Work } from '../types/work.js';
4
- import type ChangeSet from '../utils/changeSet.js';
3
+ import type { RunContext } from '../types/runContext.js';
5
4
  import type { MetadataElement } from '../utils/metadataElement.js';
6
5
  import StandardHandler from './standardHandler.js';
7
6
  export default class ContainedDecomposedHandler extends StandardHandler {
8
7
  protected holderFolder: ParsedPath | undefined;
9
- constructor(changeType: string, element: MetadataElement, work: Work);
10
- collectAddition(sink?: ChangeSet): Promise<HandlerResult>;
11
- collectDeletion(sink?: ChangeSet): Promise<HandlerResult>;
8
+ constructor(changeType: string, element: MetadataElement, ctx: RunContext);
9
+ collectAddition(): Promise<HandlerResult>;
10
+ collectDeletion(): Promise<HandlerResult>;
12
11
  protected _setholderFolder(): void;
13
12
  protected _isDecomposedFormat(): boolean;
14
13
  protected _collectDirCopy(copies: CopyOperation[], path: string): void;
@@ -11,25 +11,26 @@ const PS_DIR_OFFSET_IN_SUBDIR = 3;
11
11
  const PS_DIR_OFFSET_FLAT = 2;
12
12
  export default class ContainedDecomposedHandler extends StandardHandler {
13
13
  holderFolder;
14
- constructor(changeType, element, work) {
15
- super(changeType, element, work);
14
+ constructor(changeType, element, ctx) {
15
+ super(changeType, element, ctx);
16
16
  this._setholderFolder();
17
17
  }
18
- async collectAddition(sink) {
19
- const result = await super.collectAddition(sink);
20
- if (this._isDecomposedFormat()) {
21
- this._collectDirCopy(result.copies, this._getHolderPath());
22
- }
23
- return result;
18
+ async collectAddition() {
19
+ const result = await super.collectAddition();
20
+ if (!this._isDecomposedFormat())
21
+ return result;
22
+ const copies = [...result.copies];
23
+ this._collectDirCopy(copies, this._getHolderPath());
24
+ return { ...result, copies };
24
25
  }
25
- async collectDeletion(sink) {
26
+ async collectDeletion() {
26
27
  if (!this._isDecomposedFormat()) {
27
- return await super.collectDeletion(sink);
28
+ return await super.collectDeletion();
28
29
  }
29
30
  if (await this._hasRelatedContent()) {
30
- return await this.collectModification(sink);
31
+ return await this.collectModification();
31
32
  }
32
- return await super.collectDeletion(sink);
33
+ return await super.collectDeletion();
33
34
  }
34
35
  _setholderFolder() {
35
36
  if (!this._isDecomposedFormat()) {
@@ -61,7 +62,7 @@ export default class ContainedDecomposedHandler extends StandardHandler {
61
62
  return join(this.holderFolder.dir, this.holderFolder.base);
62
63
  }
63
64
  async _hasRelatedContent() {
64
- const files = await readDirs(this._getHolderPath(), this.config);
65
+ const files = await readDirs(this._getHolderPath(), this.ctx);
65
66
  return files.length > 0;
66
67
  }
67
68
  _getElementName() {
@@ -1 +1 @@
1
- {"version":3,"file":"containedDecomposedHandler.js","sourceRoot":"","sources":["../../src/service/containedDecomposedHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containedDecomposedHandler.js","sourceRoot":"","sources":["../../src/service/containedDecomposedHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAc,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,4EAA4E;AAC5E,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACjC,+DAA+D;AAC/D,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAE5B,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,eAAe;IAC3D,YAAY,CAAwB;IAE9C,YAAY,UAAkB,EAAE,OAAwB,EAAE,GAAe;QACvE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAAE,OAAO,MAAM,CAAA;QAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;QACnD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAChC,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QACtC,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACpC,OAAO,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACzC,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CACvB,IAAI,CAAC,OAAO,CAAC,QAAQ;iBAClB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;iBAC5B,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAC/C,CAAA;YACD,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,CAAA;QACvE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,uBAAuB,CAAA;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;QACrD,IAAI,CAAC,YAAY,GAAG,KAAK,CACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3D,CAAA;IACH,CAAC;IAES,mBAAmB;QAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC3C,OAAO,CACL,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,KAAK,MAAM,CAAC,IAAI,CACjD,CAAA;IACH,CAAC;IAES,eAAe,CAAC,MAAuB,EAAE,IAAY;QAC7D,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACxC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB,CAAC,UAAU;YAClC,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;SACzB,CAAC,CAAA;IACJ,CAAC;IAES,cAAc;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAa,CAAC,GAAG,EAAE,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,CAAA;IAC9D,CAAC;IAES,KAAK,CAAC,kBAAkB;QAChC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;IACzB,CAAC;IAEkB,eAAe;QAChC,OAAO,IAAI,CAAC,YAAa,CAAC,IAAI,CAAA;IAChC,CAAC;IAEkB,cAAc;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -1,6 +1,5 @@
1
1
  import type { HandlerResult } from '../types/handlerResult.js';
2
- import type ChangeSet from '../utils/changeSet.js';
3
2
  import DecomposedHandler from './decomposedHandler.js';
4
3
  export default class CustomFieldHandler extends DecomposedHandler {
5
- collectAddition(sink?: ChangeSet): Promise<HandlerResult>;
4
+ collectAddition(): Promise<HandlerResult>;
6
5
  }
@@ -4,18 +4,19 @@ import { contentIncludes } from '../utils/fsHelper.js';
4
4
  import DecomposedHandler from './decomposedHandler.js';
5
5
  import StandardHandler from './standardHandler.js';
6
6
  export default class CustomFieldHandler extends DecomposedHandler {
7
- async collectAddition(sink) {
8
- const result = await StandardHandler.prototype.collectAddition.call(this, sink);
7
+ async collectAddition() {
8
+ const result = await StandardHandler.prototype.collectAddition.call(this);
9
9
  if (!this._shouldCollectCopies())
10
10
  return result;
11
11
  // RATIONALE: Why include parent object when deploying Master Detail fields?
12
12
  // Master Detail fields require their parent object to exist; deployment fails otherwise.
13
13
  // See: https://github.com/scolladon/sfdx-git-delta/wiki/Metadata-Specificities#master-detail-fields
14
14
  const isMasterDetail = await contentIncludes(MASTER_DETAIL_TAG, this.element.basePath, this.config);
15
- if (isMasterDetail) {
16
- this._collectParentCopies(result.copies);
17
- }
18
- return result;
15
+ if (!isMasterDetail)
16
+ return result;
17
+ const copies = [...result.copies];
18
+ this._collectParentCopies(copies);
19
+ return { ...result, copies };
19
20
  }
20
21
  }
21
22
  //# sourceMappingURL=customFieldHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customFieldHandler.js","sourceRoot":"","sources":["../../src/service/customFieldHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,iBAAiB,MAAM,wBAAwB,CAAA;AACtD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,iBAAiB;IAC/C,KAAK,CAAC,eAAe,CACnC,IAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CACjE,IAAI,EACJ,IAAI,CACL,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAO,MAAM,CAAA;QAC/C,4EAA4E;QAC5E,yFAAyF;QACzF,oGAAoG;QACpG,MAAM,cAAc,GAAG,MAAM,eAAe,CAC1C,iBAAiB,EACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"customFieldHandler.js","sourceRoot":"","sources":["../../src/service/customFieldHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,iBAAiB,MAAM,wBAAwB,CAAA;AACtD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,iBAAiB;IAC/C,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAO,MAAM,CAAA;QAC/C,4EAA4E;QAC5E,yFAAyF;QACzF,oGAAoG;QACpG,MAAM,cAAc,GAAG,MAAM,eAAe,CAC1C,iBAAiB,EACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,IAAI,CAAC,cAAc;YAAE,OAAO,MAAM,CAAA;QAClC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;CACF"}
@@ -1,8 +1,7 @@
1
1
  import type { HandlerResult } from '../types/handlerResult.js';
2
- import type ChangeSet from '../utils/changeSet.js';
3
2
  import InFileHandler from './inFileHandler.js';
4
3
  export default class CustomLabelHandler extends InFileHandler {
5
- collectAddition(sink?: ChangeSet): Promise<HandlerResult>;
4
+ collectAddition(): Promise<HandlerResult>;
6
5
  protected _shouldTreatDeletionAsDeletion(): boolean;
7
6
  protected _getQualifiedName(): string;
8
7
  protected _delegateFileCopy(): boolean;
@@ -3,11 +3,11 @@ import { LABEL_DECOMPOSED_SUFFIX } from '../constant/metadataConstants.js';
3
3
  import InFileHandler from './inFileHandler.js';
4
4
  import StandardHandler from './standardHandler.js';
5
5
  export default class CustomLabelHandler extends InFileHandler {
6
- async collectAddition(sink) {
6
+ async collectAddition() {
7
7
  if (this._isDecomposed()) {
8
- return await StandardHandler.prototype.collectAddition.call(this, sink);
8
+ return await StandardHandler.prototype.collectAddition.call(this);
9
9
  }
10
- return await super.collectAddition(sink);
10
+ return await super.collectAddition();
11
11
  }
12
12
  _shouldTreatDeletionAsDeletion() {
13
13
  return this._isDecomposed();
@@ -1 +1 @@
1
- {"version":3,"file":"customLabelHandler.js","sourceRoot":"","sources":["../../src/service/customLabelHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAG1E,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,aAAa;IAC3C,KAAK,CAAC,eAAe,CACnC,IAAgB;QAEhB,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO,MAAM,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACzE,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAEkB,8BAA8B;QAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEkB,iBAAiB;QAClC,OAAO,EAAE,CAAA;IACX,CAAC;IAEkB,iBAAiB;QAClC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEkB,cAAc;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+JAA+J;IAC5I,kBAAkB;QACnC,OAAO,KAAK,CAAA;IACd,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,uBAAuB,CAAA;IAC3D,CAAC;CACF"}
1
+ {"version":3,"file":"customLabelHandler.js","sourceRoot":"","sources":["../../src/service/customLabelHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAE1E,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,aAAa;IAC3C,KAAK,CAAC,eAAe;QACnC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO,MAAM,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnE,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEkB,8BAA8B;QAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEkB,iBAAiB;QAClC,OAAO,EAAE,CAAA;IACX,CAAC;IAEkB,iBAAiB;QAClC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEkB,cAAc;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+JAA+J;IAC5I,kBAAkB;QACnC,OAAO,KAAK,CAAA;IACd,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,uBAAuB,CAAA;IAC3D,CAAC;CACF"}
@@ -1,7 +1,6 @@
1
- import type { HandlerResult } from '../types/handlerResult.js';
2
- import type ChangeSet from '../utils/changeSet.js';
1
+ import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
3
2
  import StandardHandler from './standardHandler.js';
4
3
  export default class CustomObjectHandler extends StandardHandler {
5
- collectAddition(sink?: ChangeSet): Promise<HandlerResult>;
6
- protected _collectMasterDetailCopies(result: HandlerResult): Promise<void>;
4
+ collectAddition(): Promise<HandlerResult>;
5
+ protected _collectMasterDetailCopies(copies: CopyOperation[]): Promise<void>;
7
6
  }
@@ -1,30 +1,31 @@
1
1
  'use strict';
2
2
  import { join, parse } from 'node:path/posix';
3
3
  import { FIELD_DIRECTORY_NAME, MASTER_DETAIL_TAG, OBJECT_TYPE, } from '../constant/metadataConstants.js';
4
- import { grepContent, pathExists } from '../utils/fsHelper.js';
4
+ import { grepContentUnder, pathExists } from '../utils/fsHelper.js';
5
5
  import StandardHandler from './standardHandler.js';
6
6
  export default class CustomObjectHandler extends StandardHandler {
7
- async collectAddition(sink) {
8
- const result = await super.collectAddition(sink);
9
- await this._collectMasterDetailCopies(result);
10
- return result;
7
+ async collectAddition() {
8
+ const result = await super.collectAddition();
9
+ const copies = [...result.copies];
10
+ await this._collectMasterDetailCopies(copies);
11
+ return { ...result, copies };
11
12
  }
12
13
  // RATIONALE: Why copy Master Detail fields when deploying CustomObject?
13
14
  // Master Detail fields must be included with their parent object for deployment to succeed.
14
15
  // See: https://github.com/scolladon/sfdx-git-delta/wiki/Metadata-Specificities#master-detail-fields
15
- async _collectMasterDetailCopies(result) {
16
+ async _collectMasterDetailCopies(copies) {
16
17
  if (!this._shouldCollectCopies())
17
18
  return;
18
19
  if (this.element.type.xmlName !== OBJECT_TYPE)
19
20
  return;
20
21
  const fieldsFolder = join(parse(this.element.basePath).dir, FIELD_DIRECTORY_NAME);
21
- const exists = await pathExists(fieldsFolder, this.config);
22
- // Stryker disable next-line ConditionalExpression -- equivalent: existence guard; flipping to false runs grepContent on a non-existent path which returns [] (gitGrep catch swallows and returns empty), so the for-loop iterates 0 times — observably the same as the early return
22
+ const exists = await pathExists(fieldsFolder, this.ctx);
23
+ // Stryker disable next-line ConditionalExpression -- equivalent: existence guard; flipping to false runs grepContentUnder on a non-existent path which returns [] (gitGrep catch swallows and returns empty), so the for-loop iterates 0 times — observably the same as the early return
23
24
  if (!exists)
24
25
  return;
25
- const masterDetailsFields = await grepContent(MASTER_DETAIL_TAG, fieldsFolder, this.config);
26
+ const masterDetailsFields = await grepContentUnder(MASTER_DETAIL_TAG, fieldsFolder, this.config);
26
27
  for (const masterDetailField of masterDetailsFields) {
27
- this._collectCopyWithMetaFile(result.copies, masterDetailField);
28
+ this._collectCopyWithMetaFile(copies, masterDetailField);
28
29
  }
29
30
  }
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"customObjectHandler.js","sourceRoot":"","sources":["../../src/service/customObjectHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,GACZ,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC9C,KAAK,CAAC,eAAe,CACnC,IAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,wEAAwE;IACxE,4FAA4F;IAC5F,oGAAoG;IAC1F,KAAK,CAAC,0BAA0B,CACxC,MAAqB;QAErB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACxC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW;YAAE,OAAM;QAErD,MAAM,YAAY,GAAG,IAAI,CACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAChC,oBAAoB,CACrB,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1D,oRAAoR;QACpR,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,MAAM,mBAAmB,GAAG,MAAM,WAAW,CAC3C,iBAAiB,EACjB,YAAY,EACZ,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,KAAK,MAAM,iBAAiB,IAAI,mBAAmB,EAAE,CAAC;YACpD,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"customObjectHandler.js","sourceRoot":"","sources":["../../src/service/customObjectHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,GACZ,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC9C,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAED,wEAAwE;IACxE,4FAA4F;IAC5F,oGAAoG;IAC1F,KAAK,CAAC,0BAA0B,CACxC,MAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACxC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW;YAAE,OAAM;QAErD,MAAM,YAAY,GAAG,IAAI,CACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAChC,oBAAoB,CACrB,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACvD,yRAAyR;QACzR,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAChD,iBAAiB,EACjB,YAAY,EACZ,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,KAAK,MAAM,iBAAiB,IAAI,mBAAmB,EAAE,CAAC;YACpD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;CACF"}
@@ -1,9 +1,8 @@
1
- import type { HandlerResult } from '../types/handlerResult.js';
2
- import type ChangeSet from '../utils/changeSet.js';
1
+ import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
3
2
  import StandardHandler from './standardHandler.js';
4
3
  export default class DecomposedHandler extends StandardHandler {
5
- collectAddition(sink?: ChangeSet): Promise<HandlerResult>;
6
- protected _collectParentCopies(copies: import('../types/handlerResult.js').CopyOperation[]): void;
4
+ collectAddition(): Promise<HandlerResult>;
5
+ protected _collectParentCopies(copies: CopyOperation[]): void;
7
6
  protected _getElementName(): string;
8
7
  protected getParentName(): string;
9
8
  }
@@ -3,10 +3,11 @@ import { dirname, join } from 'node:path/posix';
3
3
  import { METAFILE_SUFFIX } from '../constant/metadataConstants.js';
4
4
  import StandardHandler from './standardHandler.js';
5
5
  export default class DecomposedHandler extends StandardHandler {
6
- async collectAddition(sink) {
7
- const result = await super.collectAddition(sink);
8
- this._collectParentCopies(result.copies);
9
- return result;
6
+ async collectAddition() {
7
+ const result = await super.collectAddition();
8
+ const copies = [...result.copies];
9
+ this._collectParentCopies(copies);
10
+ return { ...result, copies };
10
11
  }
11
12
  _collectParentCopies(copies) {
12
13
  const parentType = this.element.getParentType();
@@ -1 +1 @@
1
- {"version":3,"file":"decomposedHandler.js","sourceRoot":"","sources":["../../src/service/decomposedHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAGlE,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,eAAe;IAC5C,KAAK,CAAC,eAAe,CACnC,IAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAChD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACxC,OAAO,MAAM,CAAA;IACf,CAAC;IAES,oBAAoB,CAC5B,MAA2D;QAE3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;QAC/C,IAAI,CAAC,UAAU,EAAE,MAAM;YAAE,OAAM;QAE/B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC3C,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAA;QAC1C,MAAM,UAAU,GAAG,IAAI,CACrB,aAAa,EACb,GAAG,cAAc,IAAI,gBAAgB,GAAG,eAAe,EAAE,CAC1D,CAAA;QACD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAEkB,eAAe;QAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;QAC3C,OAAO,GAAG,gBAAgB,IAAI,WAAW,EAAE,CAAA;IAC7C,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"decomposedHandler.js","sourceRoot":"","sources":["../../src/service/decomposedHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,eAAe;IAC5C,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAES,oBAAoB,CAAC,MAAuB;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;QAC/C,IAAI,CAAC,UAAU,EAAE,MAAM;YAAE,OAAM;QAE/B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC3C,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAA;QAC1C,MAAM,UAAU,GAAG,IAAI,CACrB,aAAa,EACb,GAAG,cAAc,IAAI,gBAAgB,GAAG,eAAe,EAAE,CAC1D,CAAA;QACD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAEkB,eAAe;QAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;QAC3C,OAAO,GAAG,gBAAgB,IAAI,WAAW,EAAE,CAAA;IAC7C,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA;IAChC,CAAC;CACF"}
@@ -1,10 +1,8 @@
1
- import { MetadataRepository } from '../metadata/MetadataRepository.js';
2
1
  import type { HandlerResult } from '../types/handlerResult.js';
3
- import type { Work } from '../types/work.js';
2
+ import type { RunContext } from '../types/runContext.js';
4
3
  export default class DiffLineInterpreter {
5
- protected readonly work: Work;
6
- protected readonly metadata: MetadataRepository;
7
- constructor(work: Work, metadata: MetadataRepository);
4
+ protected readonly ctx: RunContext;
5
+ constructor(ctx: RunContext);
8
6
  process(lines: Iterable<string> | AsyncIterable<string>, revisions?: {
9
7
  from: string;
10
8
  to: string;
@@ -5,33 +5,34 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ import { withRevisions } from '../types/runContext.js';
8
9
  import { pushAll } from '../utils/arrayUtils.js';
9
- import ChangeSet from '../utils/changeSet.js';
10
10
  import { BoundedQueue } from '../utils/concurrency/index.js';
11
11
  import { getConcurrencyThreshold } from '../utils/concurrencyUtils.js';
12
12
  import { log } from '../utils/LoggingDecorator.js';
13
13
  import TypeHandlerFactory from './typeHandlerFactory.js';
14
14
  export default class DiffLineInterpreter {
15
- work;
16
- metadata;
17
- constructor(work, metadata) {
18
- this.work = work;
19
- this.metadata = metadata;
15
+ ctx;
16
+ constructor(ctx) {
17
+ this.ctx = ctx;
20
18
  }
21
19
  async process(lines, revisions) {
22
- const effectiveWork = revisions
23
- ? { ...this.work, config: { ...this.work.config, ...revisions } }
24
- : this.work;
25
- const typeHandlerFactory = new TypeHandlerFactory(effectiveWork, this.metadata);
26
- // Single ChangeSet shared by every handler in this pass — eliminates the
27
- // per-handler ChangeSet allocation and the merge step that used to fold
28
- // ~N small ChangeSets together at the end.
29
- const sink = new ChangeSet();
20
+ const effectiveCtx = withRevisions(this.ctx, revisions);
21
+ const typeHandlerFactory = new TypeHandlerFactory(effectiveCtx);
22
+ const elements = [];
30
23
  const copies = [];
31
24
  const warnings = [];
32
25
  const MAX_PARALLELISM = getConcurrencyThreshold();
26
+ // The fold is total by construction: pushAll is a plain nested for…of over
27
+ // arrays, so the worker cannot reject on aggregation. That matters because
28
+ // BoundedQueue treats any worker rejection as fatal — it clears `pending`
29
+ // and rejects every drain() waiter — so an aggregation step that could
30
+ // throw would turn a per-file failure into a whole-run abort. Per-file
31
+ // failures are already contained inside StandardHandler.collect, which
32
+ // returns them as warnings rather than rejecting.
33
33
  const processor = new BoundedQueue(async (handler) => {
34
- const result = await handler.collect(sink);
34
+ const result = await handler.collect();
35
+ pushAll(elements, result.elements);
35
36
  pushAll(copies, result.copies);
36
37
  pushAll(warnings, result.warnings);
37
38
  }, MAX_PARALLELISM);
@@ -43,7 +44,7 @@ export default class DiffLineInterpreter {
43
44
  processor.push(handler);
44
45
  }
45
46
  await processor.drain();
46
- return { changes: sink, copies, warnings };
47
+ return { elements, copies, warnings };
47
48
  }
48
49
  }
49
50
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"diffLineInterpreter.js","sourceRoot":"","sources":["../../src/service/diffLineInterpreter.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAIZ,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,SAAS,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAElD,OAAO,kBAAkB,MAAM,yBAAyB,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAEjB,IAAI;IACJ,QAAQ;IAF7B,YACqB,IAAU,EACV,QAA4B;oBAD5B,IAAI;wBACJ,QAAQ;IAC1B,CAAC;IAGS,AAAN,KAAK,CAAC,OAAO,CAClB,KAA+C,EAC/C,SAAwC;QAExC,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,EAAE;YACjE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QAEb,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC/C,aAAa,EACb,IAAI,CAAC,QAAQ,CACd,CAAA;QACD,yEAAyE;QACzE,wEAAwE;QACxE,2CAA2C;QAC3C,MAAM,IAAI,GAAG,IAAI,SAAS,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAoB,EAAE,CAAA;QAClC,MAAM,QAAQ,GAAY,EAAE,CAAA;QAC5B,MAAM,eAAe,GAAG,uBAAuB,EAAE,CAAA;QAEjD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAkB,KAAK,EAAC,OAAO,EAAC,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC1C,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAC9B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpC,CAAC,EAAE,eAAe,CAAC,CAAA;QAEnB,sEAAsE;QACtE,+DAA+D;QAC/D,oCAAoC;QACpC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YAC7D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;QAEvB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC5C,CAAC;CACF;AAtCc;IADZ,GAAG;kDAsCH"}
1
+ {"version":3,"file":"diffLineInterpreter.js","sourceRoot":"","sources":["../../src/service/diffLineInterpreter.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAOZ,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAElD,OAAO,kBAAkB,MAAM,yBAAyB,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACP,GAAG;IAAlC,YAA+B,GAAe;mBAAf,GAAG;IAAe,CAAC;IAGrC,AAAN,KAAK,CAAC,OAAO,CAClB,KAA+C,EAC/C,SAAwC;QAExC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QAEvD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAC/D,MAAM,QAAQ,GAAsB,EAAE,CAAA;QACtC,MAAM,MAAM,GAAoB,EAAE,CAAA;QAClC,MAAM,QAAQ,GAAY,EAAE,CAAA;QAC5B,MAAM,eAAe,GAAG,uBAAuB,EAAE,CAAA;QAEjD,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,kDAAkD;QAClD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAkB,KAAK,EAAC,OAAO,EAAC,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;YACtC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAC9B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpC,CAAC,EAAE,eAAe,CAAC,CAAA;QAEnB,sEAAsE;QACtE,+DAA+D;QAC/D,oCAAoC;QACpC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YAC7D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;QAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IACvC,CAAC;CACF;AAtCc;IADZ,GAAG;kDAsCH"}
@@ -1,6 +1,5 @@
1
1
  import type { HandlerResult } from '../types/handlerResult.js';
2
- import type ChangeSet from '../utils/changeSet.js';
3
2
  import StandardHandler from './standardHandler.js';
4
3
  export default class FlowHandler extends StandardHandler {
5
- collectDeletion(sink?: ChangeSet): Promise<HandlerResult>;
4
+ collectDeletion(): Promise<HandlerResult>;
6
5
  }
@@ -2,11 +2,16 @@
2
2
  import { MessageService } from '../utils/MessageService.js';
3
3
  import StandardHandler from './standardHandler.js';
4
4
  export default class FlowHandler extends StandardHandler {
5
- async collectDeletion(sink) {
6
- const result = await super.collectDeletion(sink);
5
+ async collectDeletion() {
6
+ const result = await super.collectDeletion();
7
7
  const message = new MessageService();
8
- result.warnings.push(new Error(message.getMessage('warning.FlowDeleted', [this._getElementName()])));
9
- return result;
8
+ return {
9
+ ...result,
10
+ warnings: [
11
+ ...result.warnings,
12
+ new Error(message.getMessage('warning.FlowDeleted', [this._getElementName()])),
13
+ ],
14
+ };
10
15
  }
11
16
  }
12
17
  //# sourceMappingURL=flowHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flowHandler.js","sourceRoot":"","sources":["../../src/service/flowHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAIZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,eAAe;IACtC,KAAK,CAAC,eAAe,CACnC,IAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;QACpC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,IAAI,KAAK,CACP,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CACpE,CACF,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"flowHandler.js","sourceRoot":"","sources":["../../src/service/flowHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,eAAe;IACtC,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;QACpC,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB,IAAI,KAAK,CACP,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CACpE;aACF;SACF,CAAA;IACH,CAAC;CACF"}
@@ -1,18 +1,17 @@
1
- import type { AddKind, HandlerResult } from '../types/handlerResult.js';
1
+ import type { AddKind, HandlerResult, ManifestElement } from '../types/handlerResult.js';
2
2
  import { ManifestTarget } from '../types/handlerResult.js';
3
- import type { Work } from '../types/work.js';
4
- import type ChangeSet from '../utils/changeSet.js';
3
+ import type { RunContext } from '../types/runContext.js';
5
4
  import MetadataDiff from '../utils/metadataDiff/index.js';
6
5
  import type { MetadataElement } from '../utils/metadataElement.js';
7
6
  import StandardHandler from './standardHandler.js';
8
7
  export default class InFileHandler extends StandardHandler {
9
8
  protected readonly metadataDiff: MetadataDiff;
10
- constructor(changeType: string, element: MetadataElement, work: Work);
11
- collectAddition(sink?: ChangeSet): Promise<HandlerResult>;
12
- collectDeletion(sink?: ChangeSet): Promise<HandlerResult>;
13
- collectModification(sink?: ChangeSet): Promise<HandlerResult>;
14
- protected _collectCompareResult(sink?: ChangeSet): Promise<HandlerResult>;
15
- protected _collectManifestFromComparison(changes: ChangeSet, target: ManifestTarget, changeKind: AddKind, entries: {
9
+ constructor(changeType: string, element: MetadataElement, ctx: RunContext);
10
+ collectAddition(): Promise<HandlerResult>;
11
+ collectDeletion(): Promise<HandlerResult>;
12
+ collectModification(): Promise<HandlerResult>;
13
+ protected _collectCompareResult(): Promise<HandlerResult>;
14
+ protected _collectManifestFromComparison(elements: ManifestElement[], target: ManifestTarget, changeKind: AddKind, entries: {
16
15
  type: string;
17
16
  member: string;
18
17
  }[]): void;
@@ -2,7 +2,8 @@
2
2
  import { basename } from 'node:path/posix';
3
3
  import { DOT } from '../constant/fsConstants.js';
4
4
  import { isPackable } from '../metadata/metadataManager.js';
5
- import { ChangeKind, CopyOperationKind, emptyResult, ManifestTarget, } from '../types/handlerResult.js';
5
+ import { ChangeKind, CopyOperationKind, ManifestTarget, } from '../types/handlerResult.js';
6
+ import { pushAll } from '../utils/arrayUtils.js';
6
7
  import { wrapError } from '../utils/errorUtils.js';
7
8
  import { Logger, lazy } from '../utils/LoggingService.js';
8
9
  import { MessageService } from '../utils/MessageService.js';
@@ -11,30 +12,31 @@ import StandardHandler from './standardHandler.js';
11
12
  const getRootType = (line) => basename(line).split(DOT)[0];
12
13
  export default class InFileHandler extends StandardHandler {
13
14
  metadataDiff;
14
- constructor(changeType, element, work) {
15
- super(changeType, element, work);
15
+ constructor(changeType, element, ctx) {
16
+ super(changeType, element, ctx);
16
17
  const inFileMetadata = element.getInFileAttributes();
17
18
  this.metadataDiff = new MetadataDiff(this.config, inFileMetadata);
18
19
  }
19
- async collectAddition(sink) {
20
- return await this._collectCompareResult(sink);
20
+ async collectAddition() {
21
+ return await this._collectCompareResult();
21
22
  }
22
- async collectDeletion(sink) {
23
+ async collectDeletion() {
23
24
  if (this._shouldTreatDeletionAsDeletion()) {
24
- return await super.collectDeletion(sink);
25
+ return await super.collectDeletion();
25
26
  }
26
- return await this.collectAddition(sink);
27
+ return await this.collectAddition();
27
28
  }
28
- async collectModification(sink) {
29
- return await this.collectAddition(sink);
29
+ async collectModification() {
30
+ return await this.collectAddition();
30
31
  }
31
- async _collectCompareResult(sink) {
32
+ async _collectCompareResult() {
32
33
  try {
33
- const result = this._emptyResultFor(sink);
34
+ const elements = [];
35
+ const copies = [];
34
36
  const outcome = await this.metadataDiff.run(this.element.basePath);
35
- this._collectManifestFromComparison(result.changes, ManifestTarget.DestructiveChanges, ChangeKind.Delete, outcome.manifests.deleted);
36
- this._collectManifestFromComparison(result.changes, ManifestTarget.Package, ChangeKind.Add, outcome.manifests.added);
37
- this._collectManifestFromComparison(result.changes, ManifestTarget.Package, ChangeKind.Modify, outcome.manifests.modified);
37
+ this._collectManifestFromComparison(elements, ManifestTarget.DestructiveChanges, ChangeKind.Delete, outcome.manifests.deleted);
38
+ this._collectManifestFromComparison(elements, ManifestTarget.Package, ChangeKind.Add, outcome.manifests.added);
39
+ this._collectManifestFromComparison(elements, ManifestTarget.Package, ChangeKind.Modify, outcome.manifests.modified);
38
40
  // RATIONALE: InFile elements are not independently deployable; the
39
41
  // root component must be listed in package.xml whenever children
40
42
  // survive the diff. hasPackageContent captures that signal
@@ -44,21 +46,21 @@ export default class InFileHandler extends StandardHandler {
44
46
  // deployable remains.
45
47
  // See: https://github.com/scolladon/sfdx-git-delta/wiki/Metadata-Specificities#infile-elements
46
48
  if (this._collectsContainer() && outcome.hasPackageContent) {
47
- const containerResult = await StandardHandler.prototype.collectAddition.call(this, sink);
48
- result.changes.merge(containerResult.changes);
49
+ const containerResult = await StandardHandler.prototype.collectAddition.call(this);
50
+ pushAll(elements, containerResult.elements);
49
51
  }
50
52
  // run() returns a writer iff generateDelta is on and the diff has a
51
53
  // surviving add or modify — the same hasPackageContent signal above,
52
54
  // one flag driving both decisions. Subclasses like CustomLabelHandler
53
55
  // may still veto via _shouldCollectCopies.
54
56
  if (outcome.writer && this._shouldCollectCopies()) {
55
- result.copies.push({
57
+ copies.push({
56
58
  kind: CopyOperationKind.StreamedContent,
57
59
  path: this.element.basePath,
58
60
  writer: outcome.writer,
59
61
  });
60
62
  }
61
- return result;
63
+ return { elements, copies, warnings: [] };
62
64
  }
63
65
  catch (error) {
64
66
  const messageService = new MessageService();
@@ -67,17 +69,15 @@ export default class InFileHandler extends StandardHandler {
67
69
  this.config.from,
68
70
  this.config.to,
69
71
  ]);
70
- // Stryker disable next-line StringLiteral -- equivalent: log content is observability only; tests assert on the wrapped warning message via wrapError, not on the lazy log line
72
+ // Stryker disable next-line StringLiteral,CallExpression -- equivalent: log content AND the call itself are observability only; tests assert on the wrapped warning message via wrapError, not on the emission
71
73
  Logger.warn(lazy `${message}`);
72
- const failed = emptyResult();
73
- failed.warnings.push(wrapError(message, error));
74
- return failed;
74
+ return { elements: [], copies: [], warnings: [wrapError(message, error)] };
75
75
  }
76
76
  }
77
- _collectManifestFromComparison(changes, target, changeKind, entries) {
77
+ _collectManifestFromComparison(elements, target, changeKind, entries) {
78
78
  for (const { type, member } of entries) {
79
79
  if (isPackable(type)) {
80
- changes.addElement({
80
+ elements.push({
81
81
  target,
82
82
  type,
83
83
  member: `${this._getQualifiedName()}${member}`,