sfdx-git-delta 6.41.2 → 6.43.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 (140) hide show
  1. package/README.md +35 -2
  2. package/lib/adapter/GitAdapter.d.ts +51 -2
  3. package/lib/adapter/GitAdapter.js +367 -41
  4. package/lib/adapter/GitAdapter.js.map +1 -1
  5. package/lib/adapter/gitBatchCatFile.d.ts +26 -4
  6. package/lib/adapter/gitBatchCatFile.js +128 -44
  7. package/lib/adapter/gitBatchCatFile.js.map +1 -1
  8. package/lib/adapter/gitBlobReader.d.ts +58 -0
  9. package/lib/adapter/gitBlobReader.js +27 -0
  10. package/lib/adapter/gitBlobReader.js.map +1 -0
  11. package/lib/adapter/ioExecutor.d.ts +18 -6
  12. package/lib/adapter/ioExecutor.js +97 -12
  13. package/lib/adapter/ioExecutor.js.map +1 -1
  14. package/lib/commands/sgd/source/delta.d.ts +2 -0
  15. package/lib/commands/sgd/source/delta.js +31 -1
  16. package/lib/commands/sgd/source/delta.js.map +1 -1
  17. package/lib/constant/cliConstants.d.ts +2 -0
  18. package/lib/constant/cliConstants.js +4 -0
  19. package/lib/constant/cliConstants.js.map +1 -1
  20. package/lib/constant/gitConstants.d.ts +1 -0
  21. package/lib/constant/gitConstants.js +4 -0
  22. package/lib/constant/gitConstants.js.map +1 -1
  23. package/lib/main.js +35 -7
  24. package/lib/main.js.map +1 -1
  25. package/lib/metadata/MetadataRepositoryImpl.d.ts +1 -0
  26. package/lib/metadata/MetadataRepositoryImpl.js +14 -2
  27. package/lib/metadata/MetadataRepositoryImpl.js.map +1 -1
  28. package/lib/post-processor/changesManifestProcessor.d.ts +15 -0
  29. package/lib/post-processor/changesManifestProcessor.js +50 -0
  30. package/lib/post-processor/changesManifestProcessor.js.map +1 -0
  31. package/lib/post-processor/flowTranslationProcessor.d.ts +31 -14
  32. package/lib/post-processor/flowTranslationProcessor.js +146 -51
  33. package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
  34. package/lib/post-processor/packageGenerator.d.ts +1 -2
  35. package/lib/post-processor/packageGenerator.js +23 -34
  36. package/lib/post-processor/packageGenerator.js.map +1 -1
  37. package/lib/post-processor/postProcessorManager.js +9 -6
  38. package/lib/post-processor/postProcessorManager.js.map +1 -1
  39. package/lib/service/botHandler.d.ts +2 -1
  40. package/lib/service/botHandler.js +4 -3
  41. package/lib/service/botHandler.js.map +1 -1
  42. package/lib/service/containedDecomposedHandler.d.ts +3 -2
  43. package/lib/service/containedDecomposedHandler.js +6 -6
  44. package/lib/service/containedDecomposedHandler.js.map +1 -1
  45. package/lib/service/customFieldHandler.d.ts +2 -1
  46. package/lib/service/customFieldHandler.js +2 -2
  47. package/lib/service/customFieldHandler.js.map +1 -1
  48. package/lib/service/customLabelHandler.d.ts +2 -1
  49. package/lib/service/customLabelHandler.js +3 -3
  50. package/lib/service/customLabelHandler.js.map +1 -1
  51. package/lib/service/customObjectHandler.d.ts +2 -1
  52. package/lib/service/customObjectHandler.js +2 -2
  53. package/lib/service/customObjectHandler.js.map +1 -1
  54. package/lib/service/decomposedHandler.d.ts +2 -1
  55. package/lib/service/decomposedHandler.js +2 -2
  56. package/lib/service/decomposedHandler.js.map +1 -1
  57. package/lib/service/diffLineInterpreter.d.ts +1 -1
  58. package/lib/service/diffLineInterpreter.js +16 -6
  59. package/lib/service/diffLineInterpreter.js.map +1 -1
  60. package/lib/service/flowHandler.d.ts +2 -1
  61. package/lib/service/flowHandler.js +2 -2
  62. package/lib/service/flowHandler.js.map +1 -1
  63. package/lib/service/inFileHandler.d.ts +8 -7
  64. package/lib/service/inFileHandler.js +37 -30
  65. package/lib/service/inFileHandler.js.map +1 -1
  66. package/lib/service/inFolderHandler.d.ts +2 -1
  67. package/lib/service/inFolderHandler.js +2 -2
  68. package/lib/service/inFolderHandler.js.map +1 -1
  69. package/lib/service/inResourceHandler.d.ts +3 -2
  70. package/lib/service/inResourceHandler.js +5 -5
  71. package/lib/service/inResourceHandler.js.map +1 -1
  72. package/lib/service/objectTranslationHandler.d.ts +3 -3
  73. package/lib/service/objectTranslationHandler.js +15 -8
  74. package/lib/service/objectTranslationHandler.js.map +1 -1
  75. package/lib/service/reportingFolderHandler.d.ts +8 -4
  76. package/lib/service/reportingFolderHandler.js +5 -6
  77. package/lib/service/reportingFolderHandler.js.map +1 -1
  78. package/lib/service/sharedFolderHandler.d.ts +8 -4
  79. package/lib/service/sharedFolderHandler.js +5 -6
  80. package/lib/service/sharedFolderHandler.js.map +1 -1
  81. package/lib/service/standardHandler.d.ts +14 -7
  82. package/lib/service/standardHandler.js +47 -27
  83. package/lib/service/standardHandler.js.map +1 -1
  84. package/lib/service/typeHandlerFactory.d.ts +2 -0
  85. package/lib/service/typeHandlerFactory.js +15 -0
  86. package/lib/service/typeHandlerFactory.js.map +1 -1
  87. package/lib/types/config.d.ts +1 -0
  88. package/lib/types/handlerResult.d.ts +17 -8
  89. package/lib/types/handlerResult.js +9 -11
  90. package/lib/types/handlerResult.js.map +1 -1
  91. package/lib/types/work.d.ts +2 -5
  92. package/lib/utils/LoggingDecorator.js +22 -11
  93. package/lib/utils/LoggingDecorator.js.map +1 -1
  94. package/lib/utils/changeSet.d.ts +53 -0
  95. package/lib/utils/changeSet.js +257 -0
  96. package/lib/utils/changeSet.js.map +1 -0
  97. package/lib/utils/configValidator.d.ts +1 -0
  98. package/lib/utils/configValidator.js +39 -1
  99. package/lib/utils/configValidator.js.map +1 -1
  100. package/lib/utils/gitLfsHelper.js +9 -1
  101. package/lib/utils/gitLfsHelper.js.map +1 -1
  102. package/lib/utils/metadataDiff/index.d.ts +28 -0
  103. package/lib/utils/metadataDiff/index.js +57 -0
  104. package/lib/utils/metadataDiff/index.js.map +1 -0
  105. package/lib/utils/metadataDiff/streamingDiff.d.ts +68 -0
  106. package/lib/utils/metadataDiff/streamingDiff.js +300 -0
  107. package/lib/utils/metadataDiff/streamingDiff.js.map +1 -0
  108. package/lib/utils/metadataDiff/xmlEventReader.d.ts +28 -0
  109. package/lib/utils/metadataDiff/xmlEventReader.js +221 -0
  110. package/lib/utils/metadataDiff/xmlEventReader.js.map +1 -0
  111. package/lib/utils/metadataDiff/xmlWriter.d.ts +17 -0
  112. package/lib/utils/metadataDiff/xmlWriter.js +213 -0
  113. package/lib/utils/metadataDiff/xmlWriter.js.map +1 -0
  114. package/lib/utils/packageHelper.d.ts +8 -1
  115. package/lib/utils/packageHelper.js +25 -28
  116. package/lib/utils/packageHelper.js.map +1 -1
  117. package/lib/utils/renameResolver.d.ts +19 -0
  118. package/lib/utils/renameResolver.js +52 -0
  119. package/lib/utils/renameResolver.js.map +1 -0
  120. package/lib/utils/repoGitDiff.d.ts +18 -5
  121. package/lib/utils/repoGitDiff.js +66 -33
  122. package/lib/utils/repoGitDiff.js.map +1 -1
  123. package/lib/utils/treeIndexScope.d.ts +1 -1
  124. package/lib/utils/treeIndexScope.js.map +1 -1
  125. package/lib/utils/txmlAdapter.d.ts +30 -0
  126. package/lib/utils/txmlAdapter.js +121 -0
  127. package/lib/utils/txmlAdapter.js.map +1 -0
  128. package/lib/utils/xmlHelper.d.ts +0 -5
  129. package/lib/utils/xmlHelper.js +0 -57
  130. package/lib/utils/xmlHelper.js.map +1 -1
  131. package/messages/delta.md +12 -0
  132. package/npm-shrinkwrap.json +628 -486
  133. package/oclif.manifest.json +9 -1
  134. package/package.json +53 -21
  135. package/lib/utils/manifestAggregator.d.ts +0 -3
  136. package/lib/utils/manifestAggregator.js +0 -22
  137. package/lib/utils/manifestAggregator.js.map +0 -1
  138. package/lib/utils/metadataDiff.d.ts +0 -23
  139. package/lib/utils/metadataDiff.js +0 -242
  140. package/lib/utils/metadataDiff.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ioExecutor.js","sourceRoot":"","sources":["../../src/adapter/ioExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ioExecutor.js","sourceRoot":"","sources":["../../src/adapter/ioExecutor.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,10 @@ export default class SourceDeltaGenerate extends SfCommand<SgdResult> {
16
16
  'include-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
17
  'include-destructive-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
18
  'additional-metadata-registry': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'changes-manifest': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
20
  'ignore-whitespace': import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
21
  'api-version': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
22
  };
23
+ protected static _expandBareChangesManifest(argv: string[]): string[];
22
24
  run(): Promise<SgdResult>;
23
25
  }
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
+ import { join } from 'node:path/posix';
2
3
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
3
- import { OUTPUT_DEFAULT_VALUE, REPO_DEFAULT_VALUE, SOURCE_DEFAULT_VALUE, TO_DEFAULT_VALUE, } from '../../../constant/cliConstants.js';
4
+ import { CHANGES_MANIFEST_BARE_MARKER, CHANGES_MANIFEST_DEFAULT_FILENAME, OUTPUT_DEFAULT_VALUE, REPO_DEFAULT_VALUE, SOURCE_DEFAULT_VALUE, TO_DEFAULT_VALUE, } from '../../../constant/cliConstants.js';
4
5
  import sgd from '../../../main.js';
5
6
  import { log } from '../../../utils/LoggingDecorator.js';
6
7
  import { Logger } from '../../../utils/LoggingService.js';
@@ -83,6 +84,10 @@ export default class SourceDeltaGenerate extends SfCommand {
83
84
  summary: messages.getMessage('flags.additional-metadata-registry.summary'),
84
85
  exists: true,
85
86
  }),
87
+ 'changes-manifest': Flags.string({
88
+ char: 'c',
89
+ summary: messages.getMessage('flags.changes-manifest.summary'),
90
+ }),
86
91
  'ignore-whitespace': Flags.boolean({
87
92
  char: 'W',
88
93
  summary: messages.getMessage('flags.ignore-whitespace.summary'),
@@ -92,11 +97,36 @@ export default class SourceDeltaGenerate extends SfCommand {
92
97
  summary: messages.getMessage('flags.api-version.summary'),
93
98
  }),
94
99
  };
100
+ // oclif's string flags require a value. To let users pass `-c` without a
101
+ // value (and fall back to <output>/changes.manifest.json), rewrite bare
102
+ // occurrences in argv into a known marker that we resolve after parsing.
103
+ static _expandBareChangesManifest(argv) {
104
+ const aliases = new Set(['--changes-manifest', '-c']);
105
+ const result = [];
106
+ for (let i = 0; i < argv.length; i++) {
107
+ const arg = argv[i];
108
+ result.push(arg);
109
+ if (aliases.has(arg)) {
110
+ const next = argv[i + 1];
111
+ if (next === undefined || next.startsWith('-')) {
112
+ result.push(CHANGES_MANIFEST_BARE_MARKER);
113
+ }
114
+ }
115
+ }
116
+ return result;
117
+ }
118
+ /* v8 ignore start -- oclif command entry: behaviour covered via NUT tests (delta.nut.ts) */
95
119
  async run() {
120
+ this.argv = SourceDeltaGenerate._expandBareChangesManifest(this.argv);
96
121
  const { flags } = await this.parse(SourceDeltaGenerate);
122
+ const rawChangesManifest = flags['changes-manifest'];
123
+ const changesManifest = rawChangesManifest === CHANGES_MANIFEST_BARE_MARKER
124
+ ? join(flags['output-dir'], CHANGES_MANIFEST_DEFAULT_FILENAME)
125
+ : rawChangesManifest;
97
126
  const config = {
98
127
  apiVersion: parseInt(flags['api-version']) || undefined,
99
128
  additionalMetadataRegistryPath: flags['additional-metadata-registry'],
129
+ changesManifest,
100
130
  from: flags['from'],
101
131
  generateDelta: flags['generate-delta'],
102
132
  ignore: flags['ignore-file'],
@@ -1 +1 @@
1
- {"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../../src/commands/sgd/source/delta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delta.js","sourceRoot":"","sources":["../../../../src/commands/sgd/source/delta.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,5 @@ export declare const OUTPUT_DEFAULT_VALUE = "./output";
3
3
  export declare const SOURCE_DEFAULT_VALUE = "./";
4
4
  export declare const REPO_DEFAULT_VALUE = "./";
5
5
  export declare const TAB = "\t";
6
+ export declare const CHANGES_MANIFEST_DEFAULT_FILENAME = "changes.manifest.json";
7
+ export declare const CHANGES_MANIFEST_BARE_MARKER = "__SGD_CHANGES_MANIFEST_DEFAULT__";
@@ -4,4 +4,8 @@ export const OUTPUT_DEFAULT_VALUE = './output';
4
4
  export const SOURCE_DEFAULT_VALUE = './';
5
5
  export const REPO_DEFAULT_VALUE = './';
6
6
  export const TAB = '\t';
7
+ export const CHANGES_MANIFEST_DEFAULT_FILENAME = 'changes.manifest.json';
8
+ // Unique internal marker injected when --changes-manifest is passed without a
9
+ // value. Replaced with the resolved default path after flag parsing.
10
+ export const CHANGES_MANIFEST_BARE_MARKER = '__SGD_CHANGES_MANIFEST_DEFAULT__';
7
11
  //# sourceMappingURL=cliConstants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cliConstants.js","sourceRoot":"","sources":["../../src/constant/cliConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAA;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AACtC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"cliConstants.js","sourceRoot":"","sources":["../../src/constant/cliConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAA;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAA;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AACtC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,CAAA;AACvB,MAAM,CAAC,MAAM,iCAAiC,GAAG,uBAAuB,CAAA;AACxE,8EAA8E;AAC9E,qEAAqE;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAAG,kCAAkC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export declare const ADDITION = "A";
2
2
  export declare const DELETION = "D";
3
+ export declare const RENAMED = "R";
3
4
  export declare const GIT_DIFF_TYPE_REGEX: RegExp;
4
5
  export declare const GIT_FOLDER = ".git";
5
6
  export declare const HEAD = "HEAD";
@@ -1,6 +1,10 @@
1
1
  'use strict';
2
2
  export const ADDITION = 'A';
3
3
  export const DELETION = 'D';
4
+ // git -M rename status lines start with "R" followed by a 3-digit similarity
5
+ // score (e.g. "R095"). We match on the leading letter rather than the full
6
+ // prefix because the score is not fixed-width across git versions.
7
+ export const RENAMED = 'R';
4
8
  export const GIT_DIFF_TYPE_REGEX = /^.\s+/u;
5
9
  export const GIT_FOLDER = '.git';
6
10
  export const HEAD = 'HEAD';
@@ -1 +1 @@
1
- {"version":3,"file":"gitConstants.js","sourceRoot":"","sources":["../../src/constant/gitConstants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAA;AAChC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA;AAC1B,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,mBAAmB;IACnB,iCAAiC;CAClC,CAAA;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAC/B,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAA"}
1
+ {"version":3,"file":"gitConstants.js","sourceRoot":"","sources":["../../src/constant/gitConstants.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,6EAA6E;AAC7E,2EAA2E;AAC3E,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAA;AAC1B,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAC3C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAA;AAChC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA;AAC1B,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,mBAAmB;IACnB,iCAAiC;CAClC,CAAA;AACD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAC/B,MAAM,CAAC,MAAM,2BAA2B,GAAG,kBAAkB,CAAA"}
package/lib/main.js CHANGED
@@ -6,9 +6,10 @@ import { getPostProcessors } from './post-processor/postProcessorManager.js';
6
6
  import DiffLineInterpreter from './service/diffLineInterpreter.js';
7
7
  import { mergeResults } from './types/handlerResult.js';
8
8
  import { pushAll } from './utils/arrayUtils.js';
9
+ import ChangeSet from './utils/changeSet.js';
9
10
  import ConfigValidator from './utils/configValidator.js';
10
11
  import { Logger, lazy } from './utils/LoggingService.js';
11
- import { aggregateManifests } from './utils/manifestAggregator.js';
12
+ import RenameResolver from './utils/renameResolver.js';
12
13
  import RepoGitDiff from './utils/repoGitDiff.js';
13
14
  import { computeTreeIndexScope } from './utils/treeIndexScope.js';
14
15
  export default async (config) => {
@@ -16,7 +17,7 @@ export default async (config) => {
16
17
  Logger.debug(lazy `main: arguments ${config}`);
17
18
  const work = {
18
19
  config,
19
- diffs: { package: new Map(), destructiveChanges: new Map() },
20
+ changes: new ChangeSet(),
20
21
  warnings: [],
21
22
  };
22
23
  try {
@@ -24,12 +25,30 @@ export default async (config) => {
24
25
  await configValidator.validateConfig();
25
26
  const metadata = await getDefinition(config);
26
27
  const repoGitDiffHelper = new RepoGitDiff(config, metadata);
27
- const lines = await repoGitDiffHelper.getLines();
28
+ // The treeIndex scope read needs the full path set up front, so when
29
+ // generateDelta is on without an include override we materialize the
30
+ // streamed diff once. Otherwise we feed the async iterable straight
31
+ // into DiffLineInterpreter so handlers start firing while git is
32
+ // still emitting lines.
33
+ const needsScopeFromDiff = config.generateDelta && !config.include && !config.includeDestructive;
34
+ let lines;
35
+ if (needsScopeFromDiff) {
36
+ const materialized = [];
37
+ for await (const line of repoGitDiffHelper.getLines()) {
38
+ materialized.push(line);
39
+ }
40
+ lines = materialized;
41
+ }
42
+ else {
43
+ lines = repoGitDiffHelper.getLines();
44
+ }
28
45
  if (config.generateDelta) {
29
46
  const gitAdapter = GitAdapter.getInstance(config);
30
47
  let scopePaths = config.source;
31
- if (!config.include && !config.includeDestructive) {
32
- scopePaths = [...computeTreeIndexScope(lines, metadata)];
48
+ if (needsScopeFromDiff) {
49
+ scopePaths = [
50
+ ...computeTreeIndexScope(lines, metadata),
51
+ ];
33
52
  }
34
53
  if (scopePaths.length > 0) {
35
54
  await Promise.all([
@@ -40,11 +59,20 @@ export default async (config) => {
40
59
  }
41
60
  const lineProcessor = new DiffLineInterpreter(work, metadata);
42
61
  const postProcessors = getPostProcessors(work, metadata);
62
+ // First pass: build the ChangeSet from handler output so collectors
63
+ // (e.g. FlowTranslationProcessor) can introspect the package view via
64
+ // work.changes.forPackageManifest() before emitting their own changes.
43
65
  const handlerResult = await lineProcessor.process(lines);
44
- work.diffs = aggregateManifests(handlerResult);
66
+ work.changes = handlerResult.changes;
67
+ // Second pass: fold collector output into the same ChangeSet.
45
68
  const postResult = await postProcessors.collectAll();
46
69
  const combinedResult = mergeResults(handlerResult, postResult);
47
- work.diffs = aggregateManifests(combinedResult);
70
+ work.changes = combinedResult.changes;
71
+ // Apply git-detected renames: resolve the `{fromPath, toPath}` pairs that
72
+ // RepoGitDiff captured from `-M` output into (type, from, to) triples and
73
+ // re-group them into the ChangeSet's rename bucket. Pairs for ignored
74
+ // paths or bundle helper files (same member on both sides) are no-ops.
75
+ await new RenameResolver(work, metadata).apply(work.changes, repoGitDiffHelper.getRenamePairs());
48
76
  pushAll(work.warnings, combinedResult.warnings);
49
77
  await new IOExecutor(config).execute(combinedResult.copies);
50
78
  await postProcessors.executeRemaining();
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class MetadataRepositoryImpl implements MetadataRepository {
5
5
  protected readonly metadataPerExt: Map<string, Metadata>;
6
6
  protected readonly metadataPerDir: Map<string, Metadata>;
7
7
  protected readonly metadataPerXmlName: Map<string, Metadata>;
8
+ private readonly pathCache;
8
9
  constructor(metadatas: Metadata[]);
9
10
  protected addSuffix(metadata: Metadata): void;
10
11
  protected addSharedFolderSuffix(metadata: Metadata): void;
@@ -10,6 +10,14 @@ export class MetadataRepositoryImpl {
10
10
  metadataPerExt;
11
11
  metadataPerDir;
12
12
  metadataPerXmlName;
13
+ // Memoizes get(path) results across the registry's lifetime. The lookup
14
+ // chain (split + extension + directory walk + xmlName) is deterministic
15
+ // in `path` and the registry is read-only after construction, so a
16
+ // single cache here is safe and frees every consumer (has,
17
+ // getFullyQualifiedName, TypeHandlerFactory, computeTreeIndexScope, the
18
+ // RepoGitDiff filter chain) from repeating the work. Stores `undefined`
19
+ // negatives too — distinguished from "uncached" via .has().
20
+ pathCache = new Map();
13
21
  constructor(metadatas) {
14
22
  this.metadatas = metadatas;
15
23
  this.metadataPerExt = new Map();
@@ -57,10 +65,14 @@ export class MetadataRepositoryImpl {
57
65
  return !!this.get(path);
58
66
  }
59
67
  get(path) {
68
+ if (this.pathCache.has(path))
69
+ return this.pathCache.get(path);
60
70
  const parts = path.split(PATH_SEP);
61
- return (this.searchByExtension(parts) ??
71
+ const result = this.searchByExtension(parts) ??
62
72
  this.searchByDirectory(parts) ??
63
- this.searchByXmlName(path));
73
+ this.searchByXmlName(path);
74
+ this.pathCache.set(path, result);
75
+ return result;
64
76
  }
65
77
  searchByExtension(parts) {
66
78
  const extension = parse(parts[parts.length - 1].replace(METAFILE_SUFFIX, '')).ext.replace(DOT, '');
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataRepositoryImpl.js","sourceRoot":"","sources":["../../src/metadata/MetadataRepositoryImpl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetadataRepositoryImpl.js","sourceRoot":"","sources":["../../src/metadata/MetadataRepositoryImpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Manifest } from '../types/work.js';
2
+ import type { RenameBucket } from '../utils/changeSet.js';
3
+ import BaseProcessor from './baseProcessor.js';
4
+ type RenameEntry = {
5
+ from: string;
6
+ to: string;
7
+ };
8
+ type KindBucket = Record<string, string[]>;
9
+ type RenameTypeBucket = Record<string, RenameEntry[]>;
10
+ export default class ChangesManifestProcessor extends BaseProcessor {
11
+ process(): Promise<void>;
12
+ protected _buildKindBucket(manifest: Manifest): KindBucket;
13
+ protected _buildRenameBucket(renames: RenameBucket): RenameTypeBucket;
14
+ }
15
+ export {};
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+ import { __decorate } from "tslib";
3
+ import { outputFile } from 'fs-extra';
4
+ import { ChangeKind } from '../types/handlerResult.js';
5
+ import { log } from '../utils/LoggingDecorator.js';
6
+ import BaseProcessor from './baseProcessor.js';
7
+ export default class ChangesManifestProcessor extends BaseProcessor {
8
+ async process() {
9
+ // Path resolution policy (see delta.ts flag parsing):
10
+ // - bare `-c` is rewritten to <output>/changes.manifest.json at CLI time
11
+ // - explicit value is resolved against cwd (relative) or used as-is
12
+ // (absolute) — same convention as --ignore-file etc.
13
+ const targetPath = this.config.changesManifest;
14
+ if (!targetPath)
15
+ return;
16
+ // ChangeSet.byChangeKind() already coalesces the delete bucket against
17
+ // add/modify/rename, and removes rename participants from add/delete, so
18
+ // the JSON view never lists the same component twice.
19
+ const view = this.work.changes.byChangeKind();
20
+ const payload = {
21
+ [ChangeKind.Add]: this._buildKindBucket(view[ChangeKind.Add]),
22
+ [ChangeKind.Modify]: this._buildKindBucket(view[ChangeKind.Modify]),
23
+ [ChangeKind.Delete]: this._buildKindBucket(view[ChangeKind.Delete]),
24
+ [ChangeKind.Rename]: this._buildRenameBucket(view[ChangeKind.Rename]),
25
+ };
26
+ await outputFile(targetPath, JSON.stringify(payload, null, 2));
27
+ }
28
+ _buildKindBucket(manifest) {
29
+ const bucket = {};
30
+ // `!` is safe: keys come from manifest.keys() so get() cannot be undefined.
31
+ for (const type of [...manifest.keys()].sort()) {
32
+ bucket[type] = [...manifest.get(type)].sort();
33
+ }
34
+ return bucket;
35
+ }
36
+ _buildRenameBucket(renames) {
37
+ const bucket = {};
38
+ for (const type of [...renames.keys()].sort()) {
39
+ const pairs = [...renames.get(type).values()]
40
+ .map(({ from, to }) => ({ from, to }))
41
+ .sort((a, b) => a.to.localeCompare(b.to));
42
+ bucket[type] = pairs;
43
+ }
44
+ return bucket;
45
+ }
46
+ }
47
+ __decorate([
48
+ log
49
+ ], ChangesManifestProcessor.prototype, "process", null);
50
+ //# sourceMappingURL=changesManifestProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changesManifestProcessor.js","sourceRoot":"","sources":["../../src/post-processor/changesManifestProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAGtD,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAY9C,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,aAAa;IAE3C,AAAN,KAAK,CAAC,OAAO;QAC3B,sDAAsD;QACtD,2EAA2E;QAC3E,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAA;QAC9C,IAAI,CAAC,UAAU;YAAE,OAAM;QAEvB,uEAAuE;QACvE,yEAAyE;QACzE,sDAAsD;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;QAC7C,MAAM,OAAO,GAA0B;YACrC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC7D,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACtE,CAAA;QACD,MAAM,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAChE,CAAC;IAES,gBAAgB,CAAC,QAAkB;QAC3C,MAAM,MAAM,GAAe,EAAE,CAAA;QAC7B,4EAA4E;QAC5E,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAChD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAES,kBAAkB,CAAC,OAAqB;QAChD,MAAM,MAAM,GAAqB,EAAE,CAAA;QACnC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,MAAM,EAAE,CAAC;iBAC3C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;iBACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QACtB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAxCuB;IADrB,GAAG;uDAoBH"}
@@ -2,40 +2,57 @@ import { MetadataRepository } from '../metadata/MetadataRepository.js';
2
2
  import type { HandlerResult } from '../types/handlerResult.js';
3
3
  import type { Work } from '../types/work.js';
4
4
  import { IgnoreHelper } from '../utils/ignoreHelper.js';
5
+ import { type RootCapture } from '../utils/metadataDiff/xmlEventReader.js';
5
6
  import BaseProcessor from './baseProcessor.js';
6
7
  interface FlowDefinition {
7
8
  fullName?: string;
8
9
  [key: string]: unknown;
9
10
  }
10
- interface TranslationsContent {
11
- '?xml'?: {
12
- '@_version': string;
13
- '@_encoding': string;
14
- };
15
- Translations?: {
16
- '@_xmlns'?: string;
17
- flowDefinitions?: FlowDefinition | FlowDefinition[];
18
- [key: string]: unknown;
19
- };
20
- }
11
+ type TranslationMerge = {
12
+ rootCapture: RootCapture;
13
+ orderedChildren: Array<[string, unknown[]]>;
14
+ flowsIndex: number;
15
+ seenFullNames: Set<string | undefined>;
16
+ };
21
17
  export default class FlowTranslationProcessor extends BaseProcessor {
22
18
  protected readonly translations: Map<string, FlowDefinition[]>;
23
19
  protected ignoreHelper: IgnoreHelper | undefined;
24
20
  protected isOutputEqualsToRepo: boolean | undefined;
21
+ protected packagedFlows: Set<string>;
25
22
  constructor(work: Work, metadata: MetadataRepository);
26
23
  get isCollector(): boolean;
27
24
  process(): Promise<void>;
28
25
  transformAndCollect(): Promise<HandlerResult>;
29
26
  _buildFlowDefinitionsMap(): Promise<void>;
30
- protected _canParse(translationPath: string): Promise<boolean>;
27
+ protected _initIgnoreHelper(): Promise<void>;
28
+ protected _canParse(translationPath: string): boolean;
31
29
  protected _collectFlowTranslations(): Promise<HandlerResult>;
32
- protected _scrapTranslationFile(jsonTranslation: TranslationsContent, actualFlowDefinition: FlowDefinition[]): void;
30
+ /**
31
+ * Stream-parses the existing output translation file (if any), bucketing
32
+ * each direct-child element into an ordered-children list keyed by
33
+ * subType. The streaming builder drops each element from the in-progress
34
+ * tree on close so peak memory is bounded by the current element rather
35
+ * than the full translation document. Non-flowDefinitions children are
36
+ * retained as-is; flowDefinitions are merged downstream with the
37
+ * per-path actual flows we collected from the to-revision translation.
38
+ */
39
+ protected _mergeTranslationWithOutput(translationPath: string): Promise<TranslationMerge>;
40
+ /**
41
+ * Appends actual flows from the to-revision translation into the merge's
42
+ * flowDefinitions bucket, skipping any whose fullName is already present
43
+ * in the output-side flows (output-wins-on-conflict — matches the
44
+ * legacy `_scrapTranslationFile` semantics).
45
+ *
46
+ * In-place append into `merge.orderedChildren` is intentional: the merge
47
+ * object is single-use, freshly built per translationPath by the caller,
48
+ * and the writer closure captures the same reference.
49
+ */
50
+ protected _mergeActualFlows(merge: TranslationMerge, actualFlowDefinitions: FlowDefinition[]): void;
33
51
  protected _parseTranslationFile(translationPath: string): Promise<void>;
34
52
  protected _addFlowPerTranslation({ translationPath, flowDefinition, }: {
35
53
  translationPath: string;
36
54
  flowDefinition: FlowDefinition;
37
55
  }): void;
38
- protected _getTranslationAsJSON(translationPath: string): Promise<TranslationsContent>;
39
56
  protected _shouldProcess(): boolean;
40
57
  }
41
58
  export {};