sfdx-git-delta 7.0.1 → 7.2.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 (139) hide show
  1. package/README.md +12 -3
  2. package/lib/adapter/GitAdapter.d.ts +25 -64
  3. package/lib/adapter/GitAdapter.js +352 -483
  4. package/lib/adapter/GitAdapter.js.map +1 -1
  5. package/lib/adapter/gitBlobReader.d.ts +8 -10
  6. package/lib/adapter/gitBlobReader.js.map +1 -1
  7. package/lib/adapter/ioExecutor.d.ts +5 -4
  8. package/lib/adapter/ioExecutor.js +22 -14
  9. package/lib/adapter/ioExecutor.js.map +1 -1
  10. package/lib/adapter/pathMatching.d.ts +9 -0
  11. package/lib/adapter/pathMatching.js +83 -0
  12. package/lib/adapter/pathMatching.js.map +1 -0
  13. package/lib/adapter/tsgitErrorMap.d.ts +7 -0
  14. package/lib/adapter/tsgitErrorMap.js +32 -0
  15. package/lib/adapter/tsgitErrorMap.js.map +1 -0
  16. package/lib/commands/sgd/source/delta.js.map +1 -1
  17. package/lib/constant/gitConstants.d.ts +0 -2
  18. package/lib/constant/gitConstants.js +0 -8
  19. package/lib/constant/gitConstants.js.map +1 -1
  20. package/lib/constant/metadataConstants.d.ts +1 -0
  21. package/lib/constant/metadataConstants.js +1 -0
  22. package/lib/constant/metadataConstants.js.map +1 -1
  23. package/lib/main.d.ts +2 -2
  24. package/lib/main.js +64 -35
  25. package/lib/main.js.map +1 -1
  26. package/lib/post-processor/baseProcessor.d.ts +9 -6
  27. package/lib/post-processor/baseProcessor.js +5 -6
  28. package/lib/post-processor/baseProcessor.js.map +1 -1
  29. package/lib/post-processor/changesManifestProcessor.d.ts +3 -2
  30. package/lib/post-processor/changesManifestProcessor.js +5 -4
  31. package/lib/post-processor/changesManifestProcessor.js.map +1 -1
  32. package/lib/post-processor/flowTranslationProcessor.d.ts +8 -7
  33. package/lib/post-processor/flowTranslationProcessor.js +20 -19
  34. package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
  35. package/lib/post-processor/includeProcessor.d.ts +6 -5
  36. package/lib/post-processor/includeProcessor.js +7 -6
  37. package/lib/post-processor/includeProcessor.js.map +1 -1
  38. package/lib/post-processor/packageGenerator.d.ts +3 -2
  39. package/lib/post-processor/packageGenerator.js +5 -4
  40. package/lib/post-processor/packageGenerator.js.map +1 -1
  41. package/lib/post-processor/postProcessorManager.d.ts +5 -7
  42. package/lib/post-processor/postProcessorManager.js +23 -31
  43. package/lib/post-processor/postProcessorManager.js.map +1 -1
  44. package/lib/service/botHandler.d.ts +1 -2
  45. package/lib/service/botHandler.js +17 -10
  46. package/lib/service/botHandler.js.map +1 -1
  47. package/lib/service/containedDecomposedHandler.d.ts +4 -5
  48. package/lib/service/containedDecomposedHandler.js +13 -12
  49. package/lib/service/containedDecomposedHandler.js.map +1 -1
  50. package/lib/service/customFieldHandler.d.ts +1 -2
  51. package/lib/service/customFieldHandler.js +7 -6
  52. package/lib/service/customFieldHandler.js.map +1 -1
  53. package/lib/service/customLabelHandler.d.ts +1 -2
  54. package/lib/service/customLabelHandler.js +3 -3
  55. package/lib/service/customLabelHandler.js.map +1 -1
  56. package/lib/service/customObjectHandler.d.ts +3 -4
  57. package/lib/service/customObjectHandler.js +10 -9
  58. package/lib/service/customObjectHandler.js.map +1 -1
  59. package/lib/service/decomposedHandler.d.ts +3 -4
  60. package/lib/service/decomposedHandler.js +5 -4
  61. package/lib/service/decomposedHandler.js.map +1 -1
  62. package/lib/service/diffLineInterpreter.d.ts +3 -3
  63. package/lib/service/diffLineInterpreter.js +18 -14
  64. package/lib/service/diffLineInterpreter.js.map +1 -1
  65. package/lib/service/flowHandler.d.ts +1 -2
  66. package/lib/service/flowHandler.js +9 -4
  67. package/lib/service/flowHandler.js.map +1 -1
  68. package/lib/service/inFileHandler.d.ts +8 -9
  69. package/lib/service/inFileHandler.js +28 -27
  70. package/lib/service/inFileHandler.js.map +1 -1
  71. package/lib/service/inFolderHandler.d.ts +4 -5
  72. package/lib/service/inFolderHandler.js +6 -5
  73. package/lib/service/inFolderHandler.js.map +1 -1
  74. package/lib/service/inResourceHandler.d.ts +4 -5
  75. package/lib/service/inResourceHandler.js +8 -7
  76. package/lib/service/inResourceHandler.js.map +1 -1
  77. package/lib/service/objectTranslationHandler.d.ts +1 -2
  78. package/lib/service/objectTranslationHandler.js +6 -5
  79. package/lib/service/objectTranslationHandler.js.map +1 -1
  80. package/lib/service/reportingFolderHandler.d.ts +6 -7
  81. package/lib/service/reportingFolderHandler.js +6 -6
  82. package/lib/service/reportingFolderHandler.js.map +1 -1
  83. package/lib/service/sharedFolderHandler.d.ts +4 -5
  84. package/lib/service/sharedFolderHandler.js +6 -6
  85. package/lib/service/sharedFolderHandler.js.map +1 -1
  86. package/lib/service/standardHandler.d.ts +5 -9
  87. package/lib/service/standardHandler.js +28 -35
  88. package/lib/service/standardHandler.js.map +1 -1
  89. package/lib/service/typeHandlerFactory.d.ts +3 -3
  90. package/lib/service/typeHandlerFactory.js +6 -6
  91. package/lib/service/typeHandlerFactory.js.map +1 -1
  92. package/lib/types/config.d.ts +5 -1
  93. package/lib/types/handlerResult.d.ts +7 -7
  94. package/lib/types/handlerResult.js +10 -1
  95. package/lib/types/handlerResult.js.map +1 -1
  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 +7 -6
  109. package/lib/utils/configValidator.js +32 -11
  110. package/lib/utils/configValidator.js.map +1 -1
  111. package/lib/utils/fsHelper.d.ts +2 -1
  112. package/lib/utils/fsHelper.js +7 -3
  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/metadataDiff/index.d.ts +0 -2
  118. package/lib/utils/metadataDiff/index.js.map +1 -1
  119. package/lib/utils/metadataDiff/streamingDiff.d.ts +1 -3
  120. package/lib/utils/metadataDiff/streamingDiff.js +16 -54
  121. package/lib/utils/metadataDiff/streamingDiff.js.map +1 -1
  122. package/lib/utils/pathspec.d.ts +15 -0
  123. package/lib/utils/pathspec.js +71 -0
  124. package/lib/utils/pathspec.js.map +1 -0
  125. package/lib/utils/renameResolver.d.ts +6 -6
  126. package/lib/utils/renameResolver.js +10 -9
  127. package/lib/utils/renameResolver.js.map +1 -1
  128. package/lib/utils/repoGitDiff.d.ts +2 -0
  129. package/lib/utils/repoGitDiff.js +14 -1
  130. package/lib/utils/repoGitDiff.js.map +1 -1
  131. package/messages/delta.md +26 -0
  132. package/oclif.manifest.json +2 -2
  133. package/package.json +28 -20
  134. package/lib/adapter/gitBatchCatFile.d.ts +0 -42
  135. package/lib/adapter/gitBatchCatFile.js +0 -203
  136. package/lib/adapter/gitBatchCatFile.js.map +0 -1
  137. package/lib/post-processor/bundleRollupProcessor.d.ts +0 -7
  138. package/lib/post-processor/bundleRollupProcessor.js +0 -81
  139. package/lib/post-processor/bundleRollupProcessor.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  import { emptyResult, mergeResults } from '../types/handlerResult.js';
3
+ import { pushAll } from '../utils/arrayUtils.js';
3
4
  import { getErrorMessage, wrapError } from '../utils/errorUtils.js';
4
5
  import { Logger, lazy } from '../utils/LoggingService.js';
5
- import BundleRollupProcessor from './bundleRollupProcessor.js';
6
6
  import ChangesManifestProcessor from './changesManifestProcessor.js';
7
7
  import FlowTranslationProcessor from './flowTranslationProcessor.js';
8
8
  import IncludeProcessor from './includeProcessor.js';
@@ -10,74 +10,66 @@ import PackageGenerator from './packageGenerator.js';
10
10
  const registeredProcessors = [
11
11
  FlowTranslationProcessor,
12
12
  IncludeProcessor,
13
- // BundleRollupProcessor must run before PackageGenerator: it reshapes
14
- // work.changes (collapsing DigitalExperience members under their
15
- // DigitalExperienceBundle), and PackageGenerator reads that ChangeSet.
16
- BundleRollupProcessor,
17
13
  ];
18
14
  // PackageGenerator must run last among legacy processors — it writes the final
19
- // xml manifests. ChangesManifestProcessor operates on work.changes (populated
20
- // by aggregateManifests before executeRemaining runs) so it is independent of
15
+ // xml manifests. ChangesManifestProcessor reads the same `changes` argument
16
+ // executeRemaining hands to every processor, so it is independent of
21
17
  // PackageGenerator's output.
22
18
  registeredProcessors.push(PackageGenerator);
23
19
  registeredProcessors.push(ChangesManifestProcessor);
24
20
  export default class PostProcessorManager {
25
- work;
26
21
  processors = [];
27
22
  collectors = [];
28
- constructor(work) {
29
- this.work = work;
30
- }
31
23
  use(postProcessor) {
32
24
  const target = postProcessor.isCollector ? this.collectors : this.processors;
33
25
  target.push(postProcessor);
34
26
  return this;
35
27
  }
36
- async execute() {
37
- for (const postProcessor of [...this.processors, ...this.collectors]) {
38
- await this._safeProcess(postProcessor);
39
- }
40
- }
41
- async executeRemaining() {
28
+ async executeRemaining(changes) {
29
+ const warnings = [];
42
30
  for (const postProcessor of this.processors) {
43
- await this._safeProcess(postProcessor);
31
+ pushAll(warnings, await this._safeProcess(postProcessor, changes));
44
32
  }
33
+ return warnings;
45
34
  }
46
- async collectAll() {
35
+ async collectAll(changes) {
47
36
  const results = [];
48
37
  for (const collector of this.collectors) {
49
38
  try {
50
- results.push(await collector.transformAndCollect());
39
+ results.push(await collector.transformAndCollect(changes));
51
40
  }
52
41
  catch (error) {
53
42
  const message = `${collector.constructor.name}: ${getErrorMessage(error)}`;
54
43
  // Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only; tests assert on the wrapped warning and the failed result push, not on the lazy log line
55
44
  Logger.warn(lazy `${message}`);
56
- const failed = emptyResult();
57
- failed.warnings.push(wrapError(message, error));
58
- results.push(failed);
45
+ results.push({
46
+ elements: [],
47
+ copies: [],
48
+ warnings: [wrapError(message, error)],
49
+ });
59
50
  }
60
51
  }
61
52
  // Stryker disable next-line ConditionalExpression,EqualityOperator -- equivalent: empty-results short-circuit; flipping to true always calls mergeResults() with no args which returns an empty result, observably the same as emptyResult()
62
53
  return results.length > 0 ? mergeResults(...results) : emptyResult();
63
54
  }
64
- async _safeProcess(postProcessor) {
55
+ async _safeProcess(postProcessor, changes) {
65
56
  try {
66
- await postProcessor.process();
57
+ const outcome = await postProcessor.process(changes);
58
+ return outcome.warnings;
67
59
  }
68
60
  catch (error) {
69
61
  const message = `${postProcessor.constructor.name}: ${getErrorMessage(error)}`;
70
- // Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only; tests assert on the wrapped warning pushed onto work.warnings, not on the lazy log line
62
+ // Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only; tests assert on the wrapped warning returned to the caller, not on the lazy log line
71
63
  Logger.warn(lazy `${message}`);
72
- this.work.warnings.push(wrapError(message, error));
64
+ return [wrapError(message, error)];
73
65
  }
74
66
  }
75
67
  }
76
- export const getPostProcessors = (work, metadata) => {
77
- const postProcessor = new PostProcessorManager(work);
78
- // Stryker disable next-line BlockStatement -- equivalent: emptying the body skips registering processors; the resulting PostProcessorManager has empty processor/collector lists and execute()/collectAll() return early — tests assert the registered processor count, but not via this empty-state path
68
+ export const getPostProcessors = (config, metadata) => {
69
+ const postProcessor = new PostProcessorManager();
70
+ // Stryker disable next-line BlockStatement -- equivalent: emptying the body skips registering processors; the resulting PostProcessorManager has empty processor/collector lists and executeRemaining()/collectAll() return early — tests assert the registered processor count, but not via this empty-state path
79
71
  for (const processor of registeredProcessors) {
80
- const instance = new processor(work, metadata);
72
+ const instance = new processor(config, metadata);
81
73
  postProcessor.use(instance);
82
74
  }
83
75
  return postProcessor;
@@ -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
+ import type { Config } from '../types/config.js';
2
3
  import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
3
- import type { Work } from '../types/work.js';
4
- import type ChangeSet from '../utils/changeSet.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, config: Config);
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, config) {
15
+ super(changeType, element, config);
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()) {
@@ -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":"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"}
@@ -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
22
  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
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,MAAM,CAAC,CAAA;QAC1D,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,10 @@
1
1
  import { MetadataRepository } from '../metadata/MetadataRepository.js';
2
+ import type { Config } from '../types/config.js';
2
3
  import type { HandlerResult } from '../types/handlerResult.js';
3
- import type { Work } from '../types/work.js';
4
4
  export default class DiffLineInterpreter {
5
- protected readonly work: Work;
5
+ protected readonly config: Config;
6
6
  protected readonly metadata: MetadataRepository;
7
- constructor(work: Work, metadata: MetadataRepository);
7
+ constructor(config: Config, metadata: MetadataRepository);
8
8
  process(lines: Iterable<string> | AsyncIterable<string>, revisions?: {
9
9
  from: string;
10
10
  to: string;
@@ -6,32 +6,36 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  import { pushAll } from '../utils/arrayUtils.js';
9
- import ChangeSet from '../utils/changeSet.js';
10
9
  import { BoundedQueue } from '../utils/concurrency/index.js';
11
10
  import { getConcurrencyThreshold } from '../utils/concurrencyUtils.js';
12
11
  import { log } from '../utils/LoggingDecorator.js';
13
12
  import TypeHandlerFactory from './typeHandlerFactory.js';
14
13
  export default class DiffLineInterpreter {
15
- work;
14
+ config;
16
15
  metadata;
17
- constructor(work, metadata) {
18
- this.work = work;
16
+ constructor(config, metadata) {
17
+ this.config = config;
19
18
  this.metadata = metadata;
20
19
  }
21
20
  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();
21
+ const effectiveConfig = revisions
22
+ ? { ...this.config, ...revisions }
23
+ : this.config;
24
+ const typeHandlerFactory = new TypeHandlerFactory(effectiveConfig, this.metadata);
25
+ const elements = [];
30
26
  const copies = [];
31
27
  const warnings = [];
32
28
  const MAX_PARALLELISM = getConcurrencyThreshold();
29
+ // The fold is total by construction: pushAll is a plain nested for…of over
30
+ // arrays, so the worker cannot reject on aggregation. That matters because
31
+ // BoundedQueue treats any worker rejection as fatal — it clears `pending`
32
+ // and rejects every drain() waiter — so an aggregation step that could
33
+ // throw would turn a per-file failure into a whole-run abort. Per-file
34
+ // failures are already contained inside StandardHandler.collect, which
35
+ // returns them as warnings rather than rejecting.
33
36
  const processor = new BoundedQueue(async (handler) => {
34
- const result = await handler.collect(sink);
37
+ const result = await handler.collect();
38
+ pushAll(elements, result.elements);
35
39
  pushAll(copies, result.copies);
36
40
  pushAll(warnings, result.warnings);
37
41
  }, MAX_PARALLELISM);
@@ -43,7 +47,7 @@ export default class DiffLineInterpreter {
43
47
  processor.push(handler);
44
48
  }
45
49
  await processor.drain();
46
- return { changes: sink, copies, warnings };
50
+ return { elements, copies, warnings };
47
51
  }
48
52
  }
49
53
  __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;;;;;;;AAQZ,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;IAEjB,MAAM;IACN,QAAQ;IAF7B,YACqB,MAAc,EACd,QAA4B;sBAD5B,MAAM;wBACN,QAAQ;IAC1B,CAAC;IAGS,AAAN,KAAK,CAAC,OAAO,CAClB,KAA+C,EAC/C,SAAwC;QAExC,MAAM,eAAe,GAAG,SAAS;YAC/B,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAEf,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC/C,eAAe,EACf,IAAI,CAAC,QAAQ,CACd,CAAA;QACD,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;AA3Cc;IADZ,GAAG;kDA2CH"}
@@ -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 { Config } from '../types/config.js';
2
+ import type { AddKind, HandlerResult, ManifestElement } from '../types/handlerResult.js';
2
3
  import { ManifestTarget } from '../types/handlerResult.js';
3
- import type { Work } from '../types/work.js';
4
- import type ChangeSet from '../utils/changeSet.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, config: Config);
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;