sfdx-git-delta 7.2.0 → 7.4.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 (85) hide show
  1. package/README.md +18 -5
  2. package/lib/adapter/GitAdapter.d.ts +22 -13
  3. package/lib/adapter/GitAdapter.js +170 -105
  4. package/lib/adapter/GitAdapter.js.map +1 -1
  5. package/lib/adapter/ioExecutor.d.ts +5 -6
  6. package/lib/adapter/ioExecutor.js +22 -22
  7. package/lib/adapter/ioExecutor.js.map +1 -1
  8. package/lib/adapter/treeIndex.d.ts +7 -4
  9. package/lib/adapter/treeIndex.js +34 -0
  10. package/lib/adapter/treeIndex.js.map +1 -1
  11. package/lib/adapter/treeReader.d.ts +8 -0
  12. package/lib/adapter/treeReader.js +22 -0
  13. package/lib/adapter/treeReader.js.map +1 -0
  14. package/lib/adapter/tsgitErrorMap.d.ts +5 -3
  15. package/lib/adapter/tsgitErrorMap.js +48 -16
  16. package/lib/adapter/tsgitErrorMap.js.map +1 -1
  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.js +27 -9
  21. package/lib/main.js.map +1 -1
  22. package/lib/post-processor/baseProcessor.d.ts +4 -4
  23. package/lib/post-processor/baseProcessor.js +6 -5
  24. package/lib/post-processor/baseProcessor.js.map +1 -1
  25. package/lib/post-processor/flowTranslationProcessor.d.ts +0 -3
  26. package/lib/post-processor/flowTranslationProcessor.js +1 -5
  27. package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
  28. package/lib/post-processor/includeProcessor.d.ts +2 -3
  29. package/lib/post-processor/includeProcessor.js +4 -4
  30. package/lib/post-processor/includeProcessor.js.map +1 -1
  31. package/lib/post-processor/postProcessorManager.d.ts +2 -3
  32. package/lib/post-processor/postProcessorManager.js +4 -4
  33. package/lib/post-processor/postProcessorManager.js.map +1 -1
  34. package/lib/service/containedDecomposedHandler.d.ts +2 -2
  35. package/lib/service/containedDecomposedHandler.js +3 -3
  36. package/lib/service/containedDecomposedHandler.js.map +1 -1
  37. package/lib/service/customObjectHandler.js +1 -1
  38. package/lib/service/customObjectHandler.js.map +1 -1
  39. package/lib/service/diffLineInterpreter.d.ts +3 -5
  40. package/lib/service/diffLineInterpreter.js +6 -9
  41. package/lib/service/diffLineInterpreter.js.map +1 -1
  42. package/lib/service/inFileHandler.d.ts +2 -2
  43. package/lib/service/inFileHandler.js +3 -3
  44. package/lib/service/inFileHandler.js.map +1 -1
  45. package/lib/service/inFolderHandler.js +1 -1
  46. package/lib/service/inFolderHandler.js.map +1 -1
  47. package/lib/service/inResourceHandler.js +3 -2
  48. package/lib/service/inResourceHandler.js.map +1 -1
  49. package/lib/service/reportingFolderHandler.d.ts +2 -2
  50. package/lib/service/reportingFolderHandler.js +2 -2
  51. package/lib/service/reportingFolderHandler.js.map +1 -1
  52. package/lib/service/sharedFolderHandler.d.ts +2 -2
  53. package/lib/service/sharedFolderHandler.js +2 -2
  54. package/lib/service/sharedFolderHandler.js.map +1 -1
  55. package/lib/service/standardHandler.d.ts +4 -2
  56. package/lib/service/standardHandler.js +8 -3
  57. package/lib/service/standardHandler.js.map +1 -1
  58. package/lib/service/typeHandlerFactory.d.ts +6 -4
  59. package/lib/service/typeHandlerFactory.js +12 -11
  60. package/lib/service/typeHandlerFactory.js.map +1 -1
  61. package/lib/types/config.d.ts +1 -0
  62. package/lib/types/runContext.d.ts +21 -0
  63. package/lib/types/runContext.js +12 -0
  64. package/lib/types/runContext.js.map +1 -0
  65. package/lib/utils/configValidator.d.ts +4 -0
  66. package/lib/utils/configValidator.js +49 -8
  67. package/lib/utils/configValidator.js.map +1 -1
  68. package/lib/utils/errorUtils.d.ts +3 -0
  69. package/lib/utils/errorUtils.js +6 -0
  70. package/lib/utils/errorUtils.js.map +1 -1
  71. package/lib/utils/fsHelper.d.ts +3 -2
  72. package/lib/utils/fsHelper.js +9 -10
  73. package/lib/utils/fsHelper.js.map +1 -1
  74. package/lib/utils/metadataBoundaryResolver.d.ts +7 -5
  75. package/lib/utils/metadataBoundaryResolver.js +18 -21
  76. package/lib/utils/metadataBoundaryResolver.js.map +1 -1
  77. package/lib/utils/renameResolver.d.ts +2 -3
  78. package/lib/utils/renameResolver.js +2 -2
  79. package/lib/utils/renameResolver.js.map +1 -1
  80. package/lib/utils/repoGitDiff.d.ts +1 -0
  81. package/lib/utils/repoGitDiff.js +17 -1
  82. package/lib/utils/repoGitDiff.js.map +1 -1
  83. package/messages/delta.md +12 -0
  84. package/oclif.manifest.json +9 -2
  85. package/package.json +42 -27
@@ -5,8 +5,8 @@ import { emptyResult } from '../types/handlerResult.js';
5
5
  import InFolderHandler from './inFolderHandler.js';
6
6
  export default class ReportingFolderHandler extends InFolderHandler {
7
7
  resolvedType;
8
- constructor(changeType, element, config) {
9
- super(changeType, element, config);
8
+ constructor(changeType, element, ctx) {
9
+ super(changeType, element, ctx);
10
10
  this.resolvedType = element.getSharedFolderMetadata().get(element.extension);
11
11
  }
12
12
  /* jscpd:ignore-start */
@@ -1 +1 @@
1
- {"version":3,"file":"reportingFolderHandler.js","sourceRoot":"","sources":["../../src/service/reportingFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,eAAe;IAC9C,YAAY,CAAoB;IAEnD,YAAY,UAAkB,EAAE,OAAwB,EAAE,MAAc;QACtE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IAED,wBAAwB;IACR,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IACD,sBAAsB;IAEH,wBAAwB,CAAC,MAAuB;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,cAAc,GAAG,GAAG,UAAU,GAAG,eAAe,EAAE,CAAA;QACxD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IACzE,CAAC;IAEe,oBAAoB;QAClC,+RAA+R;QAC/R,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uDAAuD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC/E,CAAA;QACH,CAAC;QACD,qEAAqE;QACrE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE;SAC/B,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"reportingFolderHandler.js","sourceRoot":"","sources":["../../src/service/reportingFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAGvD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,eAAe;IAC9C,YAAY,CAAoB;IAEnD,YAAY,UAAkB,EAAE,OAAwB,EAAE,GAAe;QACvE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IAED,wBAAwB;IACR,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IACD,sBAAsB;IAEH,wBAAwB,CAAC,MAAuB;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,cAAc,GAAG,GAAG,UAAU,GAAG,eAAe,EAAE,CAAA;QACxD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IACzE,CAAC;IAEe,oBAAoB;QAClC,+RAA+R;QAC/R,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uDAAuD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC/E,CAAA;QACH,CAAC;QACD,qEAAqE;QACrE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE;SAC/B,CAAA;IACH,CAAC;CACF"}
@@ -1,10 +1,10 @@
1
- import type { Config } from '../types/config.js';
2
1
  import type { HandlerResult } from '../types/handlerResult.js';
2
+ import type { RunContext } from '../types/runContext.js';
3
3
  import type { MetadataElement } from '../utils/metadataElement.js';
4
4
  import StandardHandler from './standardHandler.js';
5
5
  export default class SharedFolderHandler extends StandardHandler {
6
6
  protected readonly resolvedType: string | undefined;
7
- constructor(changeType: string, element: MetadataElement, config: Config);
7
+ constructor(changeType: string, element: MetadataElement, ctx: RunContext);
8
8
  getElementDescriptor(): {
9
9
  type: string;
10
10
  member: string;
@@ -5,8 +5,8 @@ import { emptyResult } from '../types/handlerResult.js';
5
5
  import StandardHandler from './standardHandler.js';
6
6
  export default class SharedFolderHandler extends StandardHandler {
7
7
  resolvedType;
8
- constructor(changeType, element, config) {
9
- super(changeType, element, config);
8
+ constructor(changeType, element, ctx) {
9
+ super(changeType, element, ctx);
10
10
  this.resolvedType = element.getSharedFolderMetadata().get(element.extension);
11
11
  }
12
12
  getElementDescriptor() {
@@ -1 +1 @@
1
- {"version":3,"file":"sharedFolderHandler.js","sourceRoot":"","sources":["../../src/service/sharedFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAGvD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC3C,YAAY,CAAoB;IAEnD,YAAY,UAAkB,EAAE,OAAwB,EAAE,MAAc;QACtE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IAEe,oBAAoB;QAClC,4RAA4R;QAC5R,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,oDAAoD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC5E,CAAA;QACH,CAAC;QACD,qEAAqE;QACrE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE;SAC/B,CAAA;IACH,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEkB,cAAc;QAC/B,mXAAmX;QACnX,OAAO,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAA;IACtD,CAAC;IAEkB,oBAAoB,CAAC,IAAY;QAClD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,OAAO,IAAI,CACT,UAAU,CAAC,GAAG,EACd,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,GAAG,eAAe,EAAE,CACxD,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sharedFolderHandler.js","sourceRoot":"","sources":["../../src/service/sharedFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAIvD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC3C,YAAY,CAAoB;IAEnD,YAAY,UAAkB,EAAE,OAAwB,EAAE,GAAe;QACvE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IAEe,oBAAoB;QAClC,4RAA4R;QAC5R,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,oDAAoD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC5E,CAAA;QACH,CAAC;QACD,qEAAqE;QACrE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE;SAC/B,CAAA;IACH,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEkB,cAAc;QAC/B,mXAAmX;QACnX,OAAO,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAA;IACtD,CAAC;IAEkB,oBAAoB,CAAC,IAAY;QAClD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,OAAO,IAAI,CACT,UAAU,CAAC,GAAG,EACd,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,GAAG,eAAe,EAAE,CACxD,CAAA;IACH,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import type { Config } from '../types/config.js';
2
2
  import type { AddKind, CopyOperation, HandlerResult } from '../types/handlerResult.js';
3
3
  import { ManifestTarget } from '../types/handlerResult.js';
4
+ import type { RunContext } from '../types/runContext.js';
4
5
  import type { MetadataElement } from '../utils/metadataElement.js';
5
6
  /**
6
7
  * Strategy pattern base for metadata type handlers.
@@ -14,8 +15,9 @@ import type { MetadataElement } from '../utils/metadataElement.js';
14
15
  export default class StandardHandler {
15
16
  protected readonly changeType: string;
16
17
  protected readonly element: MetadataElement;
17
- protected readonly config: Config;
18
- constructor(changeType: string, element: MetadataElement, config: Config);
18
+ protected readonly ctx: RunContext;
19
+ constructor(changeType: string, element: MetadataElement, ctx: RunContext);
20
+ protected get config(): Config;
19
21
  collect(): Promise<HandlerResult>;
20
22
  collectAddition(): Promise<HandlerResult>;
21
23
  collectDeletion(): Promise<HandlerResult>;
@@ -29,11 +29,14 @@ const CHANGE_KIND_BY_GIT_TYPE = {
29
29
  export default class StandardHandler {
30
30
  changeType;
31
31
  element;
32
- config;
33
- constructor(changeType, element, config) {
32
+ ctx;
33
+ constructor(changeType, element, ctx) {
34
34
  this.changeType = changeType;
35
35
  this.element = element;
36
- this.config = config;
36
+ this.ctx = ctx;
37
+ }
38
+ get config() {
39
+ return this.ctx.config;
37
40
  }
38
41
  async collect() {
39
42
  if (!this._isProcessable()) {
@@ -53,11 +56,13 @@ export default class StandardHandler {
53
56
  }
54
57
  catch (error) {
55
58
  const message = `${this.element.basePath}: ${getErrorMessage(error)}`;
59
+ // Stryker disable CallExpression -- equivalent: removing either log call entirely is unobservable, because this file's tests mock LoggingService and assert on the wrapped warning in result.warnings via wrapError; asserting the emission itself would couple them to logging plumbing, which this project deliberately avoids
56
60
  // Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only; tests assert on the wrapped warning message in result.warnings via wrapError, not on the lazy log line
57
61
  Logger.warn(lazy `${message}`);
58
62
  Logger.debug(
59
63
  // Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: same as above, debug log is observability only
60
64
  lazy `${this.constructor.name}.collect: ${this.changeType} ${this.element.type.xmlName} '${this.element.basePath}' failed: ${() => getErrorMessage(error)}`);
65
+ // Stryker restore CallExpression
61
66
  return { elements: [], copies: [], warnings: [wrapError(message, error)] };
62
67
  }
63
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"standardHandler.js","sourceRoot":"","sources":["../../src/service/standardHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standardHandler.js","sourceRoot":"","sources":["../../src/service/standardHandler.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
- import { MetadataRepository } from '../metadata/MetadataRepository.js';
1
+ import type { MetadataRepository } from '../metadata/MetadataRepository.js';
2
2
  import type { Config } from '../types/config.js';
3
+ import type { RunContext } from '../types/runContext.js';
3
4
  import { MetadataBoundaryResolver } from '../utils/metadataBoundaryResolver.js';
4
5
  import Standard from './standardHandler.js';
5
6
  export default class TypeHandlerFactory {
6
- protected readonly config: Config;
7
- protected readonly metadata: MetadataRepository;
7
+ protected readonly ctx: RunContext;
8
8
  protected readonly resolver: MetadataBoundaryResolver;
9
9
  private readonly inFileParentXmlNames;
10
10
  private readonly handlerCache;
11
- constructor(config: Config, metadata: MetadataRepository);
11
+ constructor(ctx: RunContext);
12
+ protected get config(): Config;
13
+ protected get metadata(): MetadataRepository;
12
14
  getTypeHandler(line: string): Promise<Standard>;
13
15
  private buildInFileParentIndex;
14
16
  private resolveHandler;
@@ -5,7 +5,6 @@ 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 GitAdapter from '../adapter/GitAdapter.js';
9
8
  import { DELETION, GIT_DIFF_TYPE_REGEX } from '../constant/gitConstants.js';
10
9
  import { log } from '../utils/LoggingDecorator.js';
11
10
  import { MetadataBoundaryResolver } from '../utils/metadataBoundaryResolver.js';
@@ -58,8 +57,7 @@ const adapterHandlerMap = {
58
57
  mixedContent: InResource,
59
58
  };
60
59
  export default class TypeHandlerFactory {
61
- config;
62
- metadata;
60
+ ctx;
63
61
  resolver;
64
62
  inFileParentXmlNames;
65
63
  // Memoizes resolveHandler(metadata) → handler-class. The dispatch
@@ -70,15 +68,19 @@ export default class TypeHandlerFactory {
70
68
  // stays trivially small.
71
69
  handlerCache = new Map();
72
70
  // Stryker disable BlockStatement -- equivalent: constructor body wires the resolver and pre-builds the inFileParent index; tests instantiate via factory paths that exercise the indexed lookups indirectly, but the mutant `{}` constructor would fail at first getTypeHandler call (resolver undefined), and that failure surfaces only outside the unit test surface for the factory's pure-routing tests
73
- constructor(config, metadata) {
74
- this.config = config;
75
- this.metadata = metadata;
76
- const gitAdapter = GitAdapter.getInstance(config);
77
- this.resolver = new MetadataBoundaryResolver(metadata, gitAdapter);
71
+ constructor(ctx) {
72
+ this.ctx = ctx;
73
+ this.resolver = new MetadataBoundaryResolver(ctx);
78
74
  this.inFileParentXmlNames = new Set();
79
75
  this.buildInFileParentIndex();
80
76
  }
81
77
  // Stryker restore BlockStatement
78
+ get config() {
79
+ return this.ctx.config;
80
+ }
81
+ get metadata() {
82
+ return this.ctx.metadata;
83
+ }
82
84
  async getTypeHandler(line) {
83
85
  // Stryker disable next-line MethodExpression -- equivalent: line.charAt(0) extracts the first character (A/M/D/R); mutating to `line` returns the full line which is then matched against DELETION constant — only the first-char comparison logic matters and the rest of the path proceeds with the now-truthy changeType assignment
84
86
  const changeType = line.charAt(0);
@@ -91,12 +93,10 @@ export default class TypeHandlerFactory {
91
93
  throw new Error(`Unknown metadata type for path: ${path}`);
92
94
  }
93
95
  // Stryker restore ConditionalExpression,BlockStatement,StringLiteral
94
- // Stryker disable ConditionalExpression,EqualityOperator -- equivalent: the conditional picks `from` for deletions and `to` for additions/modifications; the test surface uses identical from/to values via getWork() defaults so the swap is unobservable
95
96
  const revision = changeType === DELETION ? this.config.from : this.config.to;
96
- // Stryker restore ConditionalExpression,EqualityOperator
97
97
  const element = await this.resolver.createElement(path, type, revision);
98
98
  const Handler = this.resolveHandler(type);
99
- return new Handler(changeType, element, this.config);
99
+ return new Handler(changeType, element, this.ctx);
100
100
  }
101
101
  // Stryker disable next-line BlockStatement -- equivalent: emptying the body produces an empty inFileParent index; downstream resolveHandler falls back to Standard for inFile parents, which still routes correctly for the pure-routing test surface
102
102
  buildInFileParentIndex() {
@@ -118,6 +118,7 @@ export default class TypeHandlerFactory {
118
118
  if (cached !== undefined)
119
119
  return cached;
120
120
  const resolved = this._computeHandler(type);
121
+ // Stryker disable next-line CallExpression -- equivalent: cache population; dropping the set() only means resolveHandler recomputes through the deterministic _computeHandler(type) on every call, which is the same situation the cache-check flip above is already documented as equivalent for
121
122
  this.handlerCache.set(type, resolved);
122
123
  return resolved;
123
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typeHandlerFactory.js","sourceRoot":"","sources":["../../src/service/typeHandlerFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeHandlerFactory.js","sourceRoot":"","sources":["../../src/service/typeHandlerFactory.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Pathspec } from '../utils/pathspec.js';
2
2
  export type Config = {
3
3
  to: string;
4
4
  from: string;
5
+ mergeBase: boolean;
5
6
  output: string;
6
7
  source: Pathspec[];
7
8
  ignore?: string | undefined;
@@ -0,0 +1,21 @@
1
+ import type { TreeReader } from '../adapter/treeReader.js';
2
+ import type { MetadataRepository } from '../metadata/MetadataRepository.js';
3
+ import type { Config } from './config.js';
4
+ export type RunContext = Readonly<{
5
+ config: Config;
6
+ metadata: MetadataRepository;
7
+ trees: TreeReader;
8
+ }>;
9
+ /**
10
+ * The single derive point for a pass that runs under overridden revisions
11
+ * (IncludeProcessor's ADDITION / DELETION re-entry). `trees` is deliberately
12
+ * carried through UNCHANGED: the reader stays keyed by whatever revision each
13
+ * read names, so a pass whose effective `config.to` is a revision no index was
14
+ * built for still reads empty. That degrade is load-bearing on the include
15
+ * DELETION path — rebinding `trees` here silently reclassifies deletions as
16
+ * additions.
17
+ */
18
+ export declare const withRevisions: (ctx: RunContext, revisions?: {
19
+ from: string;
20
+ to: string;
21
+ }) => RunContext;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+ /**
3
+ * The single derive point for a pass that runs under overridden revisions
4
+ * (IncludeProcessor's ADDITION / DELETION re-entry). `trees` is deliberately
5
+ * carried through UNCHANGED: the reader stays keyed by whatever revision each
6
+ * read names, so a pass whose effective `config.to` is a revision no index was
7
+ * built for still reads empty. That degrade is load-bearing on the include
8
+ * DELETION path — rebinding `trees` here silently reclassifies deletions as
9
+ * additions.
10
+ */
11
+ export const withRevisions = (ctx, revisions) => revisions ? { ...ctx, config: { ...ctx.config, ...revisions } } : ctx;
12
+ //# sourceMappingURL=runContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runContext.js","sourceRoot":"","sources":["../../src/types/runContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAYZ;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAe,EACf,SAAwC,EAC5B,EAAE,CACd,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA"}
@@ -2,6 +2,7 @@ import GitAdapter from '../adapter/GitAdapter.js';
2
2
  import type { Config } from '../types/config.js';
3
3
  import { MessageService } from './MessageService.js';
4
4
  import type { SourceDirRejection } from './pathspec.js';
5
+ type ShaKey = 'from' | 'to';
5
6
  export default class ConfigValidator {
6
7
  protected readonly config: Config;
7
8
  private readonly sourceRejections;
@@ -9,8 +10,10 @@ export default class ConfigValidator {
9
10
  protected readonly message: MessageService;
10
11
  constructor(config: Config, sourceRejections?: readonly SourceDirRejection[]);
11
12
  protected _validateGitSha(): Promise<string[]>;
13
+ protected _shaFailureMessage(error: unknown, shaParameter: ShaKey, shaValue: string): string;
12
14
  protected _validateSource(): string[];
13
15
  validateConfig(): Promise<readonly Error[]>;
16
+ protected _resolveMergeBase(requestedFrom: string, requestedTo: string): Promise<void>;
14
17
  protected _validateChangesManifest(): Promise<string[]>;
15
18
  protected _handleDefault(): Promise<readonly Error[]>;
16
19
  protected _getApiVersion(): Promise<void>;
@@ -18,3 +21,4 @@ export default class ConfigValidator {
18
21
  protected _resolveLatestSupportedVersion(): Promise<number | undefined>;
19
22
  protected _sanitizeConfig(): void;
20
23
  }
24
+ export {};
@@ -12,7 +12,7 @@ import GitAdapter from '../adapter/GitAdapter.js';
12
12
  import { GIT_FOLDER } from '../constant/gitConstants.js';
13
13
  import { getLatestSupportedVersion } from '../metadata/metadataManager.js';
14
14
  import { pushAll } from './arrayUtils.js';
15
- import { ConfigError, getErrorMessage } from './errorUtils.js';
15
+ import { ConfigError, getErrorMessage, RepositoryRefusalError, } from './errorUtils.js';
16
16
  import { pathExists, sanitizePath } from './fsUtils.js';
17
17
  import { log } from './LoggingDecorator.js';
18
18
  import { Logger, lazy } from './LoggingService.js';
@@ -48,18 +48,28 @@ export default class ConfigValidator {
48
48
  Logger.debug(
49
49
  // Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: catch log content is observability only
50
50
  lazy `_validateGitSha: '${shaParameter}' = '${shaValue}' is not a valid git SHA: ${() => getErrorMessage(error)}`);
51
- errors.push(this.message.getMessage('error.ParameterIsNotGitSHA', [
52
- shaParameter,
53
- shaValue,
54
- ]));
51
+ errors.push(this._shaFailureMessage(error, shaParameter, shaValue));
55
52
  }
56
53
  }));
57
54
  return errors;
58
55
  }
56
+ // A refusal is about the repository, not about either ref: reporting it
57
+ // verbatim replaces two bogus "check the fetch depth" lines with the one
58
+ // thing the user can act on.
59
+ _shaFailureMessage(error, shaParameter, shaValue) {
60
+ if (error instanceof RepositoryRefusalError)
61
+ return error.message;
62
+ return this.message.getMessage('error.ParameterIsNotGitSHA', [
63
+ shaParameter,
64
+ sanitizeForMessage(shaValue),
65
+ ]);
66
+ }
59
67
  _validateSource() {
60
68
  return this.sourceRejections.map(rejection => this.message.getMessage(SOURCE_DIR_REJECTION_MESSAGE_KEYS[rejection.reason], [sanitizeForMessage(rejection.value)]));
61
69
  }
62
70
  async validateConfig() {
71
+ const requestedFrom = this.config.from;
72
+ const requestedTo = this.config.to;
63
73
  this._sanitizeConfig();
64
74
  // Short-circuits before any git object is read: _validateGitSha below
65
75
  // calls parseRev, which opens the repository. A bad --source-dir is
@@ -77,16 +87,47 @@ export default class ConfigValidator {
77
87
  ]);
78
88
  const errors = [];
79
89
  if (!repoExists) {
80
- errors.push(this.message.getMessage('error.PathIsNotGit', [this.config.repo]));
90
+ // Rendered from the adapter's own absolute repository key — not
91
+ // this.config.repo, which is only sanitizePath-normalized, never
92
+ // resolved to absolute — so this collapses with the identical
93
+ // RepositoryRefusalError message a same-repository parseRev failure
94
+ // produces below, instead of reporting the missing repository twice
95
+ // in two different forms.
96
+ errors.push(this.message.getMessage('error.PathIsNotGit', [
97
+ sanitizeForMessage(this.gitAdapter.repositoryKey),
98
+ ]));
81
99
  }
82
100
  pushAll(errors, gitErrors);
83
101
  pushAll(errors, changesManifestErrors);
84
102
  if (errors.length > 0) {
85
- throw new ConfigError(errors.join(', '));
103
+ // Two SHA keys against one repository produce the same refusal twice,
104
+ // and a missing .git makes the config check and the engine say the
105
+ // same sentence. Identical strings carry no extra information.
106
+ throw new ConfigError([...new Set(errors)].join(', '));
86
107
  }
87
- await this.gitAdapter.configureRepository();
108
+ // Runs after the SHA validation above so a typo in either ref surfaces
109
+ // as the precise ParameterIsNotGitSHA message instead of the vaguer
110
+ // MergeBaseNotFound.
111
+ await this._resolveMergeBase(requestedFrom, requestedTo);
88
112
  return defaultWarnings;
89
113
  }
114
+ // --merge-base resolves --from to the merge base of --from and --to (git
115
+ // three-dot semantics) in place. requestedFrom/requestedTo are the
116
+ // user-typed refs, captured before _validateGitSha overwrites
117
+ // this.config.from/to with resolved SHAs — the error the user sees must
118
+ // name what they typed, not a 40-character hash.
119
+ async _resolveMergeBase(requestedFrom, requestedTo) {
120
+ if (!this.config.mergeBase)
121
+ return;
122
+ const base = await this.gitAdapter.getMergeBase(this.config.from, this.config.to);
123
+ if (!base) {
124
+ throw new ConfigError(this.message.getMessage('error.MergeBaseNotFound', [
125
+ sanitizeForMessage(requestedFrom),
126
+ sanitizeForMessage(requestedTo),
127
+ ]));
128
+ }
129
+ this.config.from = base;
130
+ }
90
131
  // oclif cannot natively validate --changes-manifest (it uses a string flag
91
132
  // to allow the bare form). Replicate meaningful checks: if the path already
92
133
  // exists it must be a regular file; otherwise ENOENT is fine because
@@ -1 +1 @@
1
- {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,8 @@ export declare class ConfigError extends SgdError {
7
7
  export declare class MetadataRegistryError extends SgdError {
8
8
  constructor(message: string);
9
9
  }
10
+ export declare class RepositoryRefusalError extends SgdError {
11
+ constructor(message: string);
12
+ }
10
13
  export declare const getErrorMessage: (error: unknown) => string;
11
14
  export declare const wrapError: (message: string, cause: unknown) => SgdError;
@@ -17,6 +17,12 @@ export class MetadataRegistryError extends SgdError {
17
17
  this.name = 'MetadataRegistryError';
18
18
  }
19
19
  }
20
+ export class RepositoryRefusalError extends SgdError {
21
+ constructor(message) {
22
+ super(message);
23
+ this.name = 'RepositoryRefusalError';
24
+ }
25
+ }
20
26
  export const getErrorMessage = (error) => {
21
27
  if (error instanceof Error) {
22
28
  return error.message;
@@ -1 +1 @@
1
- {"version":3,"file":"errorUtils.js","sourceRoot":"","sources":["../../src/utils/errorUtils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,KAAc,EAAY,EAAE;IACrE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA"}
1
+ {"version":3,"file":"errorUtils.js","sourceRoot":"","sources":["../../src/utils/errorUtils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,KAAc,EAAY,EAAE;IACrE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA"}
@@ -1,9 +1,10 @@
1
1
  import type { Config } from '../types/config.js';
2
2
  import type { FileGitRef } from '../types/git.js';
3
+ import type { RunContext } from '../types/runContext.js';
3
4
  export declare const resetWrittenFiles: () => void;
4
5
  export declare const readPathFromGit: (forRef: FileGitRef, config: Config) => Promise<string>;
5
- export declare const pathExists: (path: string, config: Config) => Promise<boolean>;
6
- export declare const readDirs: (paths: string | string[], config: Config) => Promise<string[]>;
6
+ export declare const pathExists: (path: string, ctx: RunContext) => Promise<boolean>;
7
+ export declare const readDirs: (paths: string | string[], ctx: RunContext) => Promise<string[]>;
7
8
  export declare const grepContentUnder: (pattern: string, path: string | string[], config: Config) => Promise<string[]>;
8
9
  export declare const grepContentMatching: (pattern: string, pathspecs: string | string[], config: Config) => Promise<string[]>;
9
10
  export declare const contentIncludes: (pattern: string, path: string, config: Config) => Promise<boolean>;
@@ -22,21 +22,20 @@ export const readPathFromGit = async (forRef, config) => {
22
22
  }
23
23
  return utf8Data;
24
24
  };
25
- export const pathExists = async (path, config) => {
26
- const gitAdapter = GitAdapter.getInstance(config);
27
- return await gitAdapter.pathExists(path);
28
- };
29
- export const readDirs = async (paths, config) => {
30
- const gitAdapter = GitAdapter.getInstance(config);
31
- return await gitAdapter.getFilesPath(paths);
32
- };
25
+ // Both read the run-owned tree reader for `config.to` supplied by the
26
+ // caller (ultimately main.ts) rather than rebuilt here, so there is no
27
+ // scope for this lookup to disagree with whatever scope the index was
28
+ // actually built under. A revision nobody built an index for (or an index
29
+ // build that failed) degrades to false/[] rather than indexing lazily.
30
+ export const pathExists = async (path, ctx) => ctx.trees.pathExists(ctx.config.to, path);
31
+ export const readDirs = async (paths, ctx) => ctx.trees.filesUnder(ctx.config.to, paths);
33
32
  export const grepContentUnder = async (pattern, path, config) => {
34
33
  const gitAdapter = GitAdapter.getInstance(config);
35
- return await gitAdapter.grepUnderPaths(pattern, path);
34
+ return await gitAdapter.grepUnderPaths(pattern, path, config.to);
36
35
  };
37
36
  export const grepContentMatching = async (pattern, pathspecs, config) => {
38
37
  const gitAdapter = GitAdapter.getInstance(config);
39
- return await gitAdapter.grepMatchingPathspecs(pattern, pathspecs);
38
+ return await gitAdapter.grepMatchingPathspecs(pattern, pathspecs, config.to);
40
39
  };
41
40
  export const contentIncludes = async (pattern, path, config) => {
42
41
  const results = await grepContentUnder(pattern, path, config);
@@ -1 +1 @@
1
- {"version":3,"file":"fsHelper.js","sourceRoot":"","sources":["../../src/utils/fsHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fsHelper.js","sourceRoot":"","sources":["../../src/utils/fsHelper.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
- import GitAdapter from '../adapter/GitAdapter.js';
2
- import { MetadataRepository } from '../metadata/MetadataRepository.js';
1
+ import type { TreeReader } from '../adapter/treeReader.js';
2
+ import type { MetadataRepository } from '../metadata/MetadataRepository.js';
3
3
  import type { Metadata } from '../types/metadata.js';
4
+ import type { RunContext } from '../types/runContext.js';
4
5
  import { MetadataElement } from './metadataElement.js';
5
6
  export declare class MetadataBoundaryResolver {
6
- protected readonly metadataRepo: MetadataRepository;
7
- protected readonly gitAdapter: GitAdapter;
7
+ protected readonly ctx: RunContext;
8
8
  protected readonly dirCache: Map<string, string[]>;
9
- constructor(metadataRepo: MetadataRepository, gitAdapter: GitAdapter);
9
+ constructor(ctx: RunContext);
10
+ protected get metadata(): MetadataRepository;
11
+ protected get trees(): TreeReader;
10
12
  createElement(path: string, metadataDef: Metadata, revision: string): Promise<MetadataElement>;
11
13
  protected scanAndCreateElement(path: string, metadataDef: Metadata, revision: string): Promise<MetadataElement>;
12
14
  protected isNameInPath(parts: string[], componentName: string): boolean;