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
@@ -58,7 +58,7 @@ const adapterHandlerMap = {
58
58
  mixedContent: InResource,
59
59
  };
60
60
  export default class TypeHandlerFactory {
61
- work;
61
+ config;
62
62
  metadata;
63
63
  resolver;
64
64
  inFileParentXmlNames;
@@ -70,10 +70,10 @@ export default class TypeHandlerFactory {
70
70
  // stays trivially small.
71
71
  handlerCache = new Map();
72
72
  // 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(work, metadata) {
74
- this.work = work;
73
+ constructor(config, metadata) {
74
+ this.config = config;
75
75
  this.metadata = metadata;
76
- const gitAdapter = GitAdapter.getInstance(work.config);
76
+ const gitAdapter = GitAdapter.getInstance(config);
77
77
  this.resolver = new MetadataBoundaryResolver(metadata, gitAdapter);
78
78
  this.inFileParentXmlNames = new Set();
79
79
  this.buildInFileParentIndex();
@@ -92,11 +92,11 @@ export default class TypeHandlerFactory {
92
92
  }
93
93
  // Stryker restore ConditionalExpression,BlockStatement,StringLiteral
94
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
- const revision = changeType === DELETION ? this.work.config.from : this.work.config.to;
95
+ const revision = changeType === DELETION ? this.config.from : this.config.to;
96
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.work);
99
+ return new Handler(changeType, element, this.config);
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() {
@@ -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":"AAAA,YAAY,CAAA;;;;;;;AACZ,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAI3E,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAE/E,OAAO,GAAG,MAAM,iBAAiB,CAAA;AACjC,OAAO,mBAAmB,MAAM,iCAAiC,CAAA;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAA;AACxD,OAAO,WAAW,MAAM,yBAAyB,CAAA;AACjD,OAAO,wBAAwB,MAAM,+BAA+B,CAAA;AACpE,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAC1C,OAAO,QAAQ,MAAM,sBAAsB,CAAA;AAC3C,OAAO,MAAM,MAAM,oBAAoB,CAAA;AACvC,OAAO,QAAQ,MAAM,sBAAsB,CAAA;AAC3C,OAAO,UAAU,MAAM,wBAAwB,CAAA;AAC/C,OAAO,GAAG,MAAM,iBAAiB,CAAA;AACjC,OAAO,iBAAiB,MAAM,+BAA+B,CAAA;AAC7D,OAAO,sBAAsB,MAAM,6BAA6B,CAAA;AAChE,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,QAAQ,MAAM,sBAAsB,CAAA;AAE3C,MAAM,eAAe,GAAG,eAAe,CAAA;AAEvC,sEAAsE;AACtE,MAAM,UAAU,GAAoC;IAClD,oBAAoB,EAAE,GAAG;IACzB,WAAW,EAAE,kBAAkB;IAC/B,sBAAsB,EAAE,iBAAiB;IACzC,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,YAAY;IAC1B,uBAAuB,EAAE,iBAAiB;IAC1C,SAAS,EAAE,sBAAsB;IACjC,IAAI,EAAE,WAAW;IACjB,aAAa,EAAE,GAAG;IAClB,yBAAyB,EAAE,MAAM;IACjC,wBAAwB,EAAE,GAAG;IAC7B,aAAa,EAAE,mBAAmB;IAClC,MAAM,EAAE,sBAAsB;IAC9B,2BAA2B,EAAE,MAAM;IACnC,UAAU,EAAE,UAAU;IACtB,eAAe,EAAE,YAAY;IAC7B,cAAc,EAAE,UAAU;IAC1B,UAAU,EAAE,GAAG;IACf,gBAAgB,EAAE,YAAY;IAC9B,iBAAiB,EAAE,YAAY;IAC/B,WAAW,EAAE,YAAY;CAC1B,CAAA;AAED,uDAAuD;AACvD,MAAM,iBAAiB,GAAoC;IACzD,MAAM,EAAE,UAAU;IAClB,iBAAiB,EAAE,QAAQ;IAC3B,YAAY,EAAE,UAAU;CACzB,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAahB,MAAM;IACN,QAAQ;IAbV,QAAQ,CAA0B;IACpC,oBAAoB,CAAa;IAClD,kEAAkE;IAClE,mEAAmE;IACnE,6DAA6D;IAC7D,qEAAqE;IACrE,kEAAkE;IAClE,yBAAyB;IACR,YAAY,GAAmC,IAAI,GAAG,EAAE,CAAA;IAEzE,6YAA6Y;IAC7Y,YACqB,MAAc,EACd,QAA4B;sBAD5B,MAAM;wBACN,QAAQ;QAE3B,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAClE,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAA;QACrC,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC/B,CAAC;IACD,iCAAiC;IAGpB,AAAN,KAAK,CAAC,cAAc,CAAC,IAAY;QACtC,uUAAuU;QACvU,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACjC,4MAA4M;QAC5M,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpC,0MAA0M;QAC1M,sEAAsE;QACtE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAA;QAC5D,CAAC;QACD,qEAAqE;QACrE,2PAA2P;QAC3P,MAAM,QAAQ,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAA;QAC5E,yDAAyD;QACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACzC,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,sPAAsP;IAC9O,sBAAsB;QAC5B,oFAAoF;QACpF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,6XAA6X;YAC7X,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;gBAC1D,0PAA0P;gBAC1P,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,IAAc;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1C,wNAAwN;QACxN,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAA;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACrC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,eAAe,CAAC,IAAc;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAA;QAE7B,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,OAAO,CAAC,CAAA;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACtD,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,CAAC;QAED,iOAAiO;QACjO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC7D,qSAAqS;YACrS,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAChD,OAAO,UAAU,CAAA;YACnB,CAAC;YACD,mXAAmX;YACnX,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,aAAa,KAAK,eAAe,EAAE,CAAC;gBAC9D,OAAO,wBAAwB,CAAA;YACjC,CAAC;QACH,CAAC;QAED,uRAAuR;QACvR,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAA;QACf,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AA/Ec;IADZ,GAAG;wDAmBH"}
@@ -1,8 +1,9 @@
1
+ import type { Pathspec } from '../utils/pathspec.js';
1
2
  export type Config = {
2
3
  to: string;
3
4
  from: string;
4
5
  output: string;
5
- source: string[];
6
+ source: Pathspec[];
6
7
  ignore?: string | undefined;
7
8
  ignoreDestructive?: string | undefined;
8
9
  apiVersion?: number | undefined;
@@ -14,3 +15,6 @@ export type Config = {
14
15
  additionalMetadataRegistryPath?: string | undefined;
15
16
  changesManifest?: string | undefined;
16
17
  };
18
+ export type ConfigInput = Omit<Config, 'source'> & {
19
+ source: string[];
20
+ };
@@ -1,5 +1,4 @@
1
1
  import type { Writable } from 'node:stream';
2
- import type ChangeSet from '../utils/changeSet.js';
3
2
  export declare enum ManifestTarget {
4
3
  Package = "package",
5
4
  DestructiveChanges = "destructiveChanges"
@@ -38,9 +37,10 @@ export type StreamedContentOperation = {
38
37
  writer: (out: Writable) => Promise<void>;
39
38
  };
40
39
  export type CopyOperation = GitCopyOperation | GitDirCopyOperation | StreamedContentOperation;
41
- export type HandlerResult = {
42
- changes: ChangeSet;
43
- copies: CopyOperation[];
44
- warnings: Error[];
45
- };
46
- export { emptyResult, mergeResults } from '../utils/changeSet.js';
40
+ export type HandlerResult = Readonly<{
41
+ elements: readonly ManifestElement[];
42
+ copies: readonly CopyOperation[];
43
+ warnings: readonly Error[];
44
+ }>;
45
+ export declare const emptyResult: () => HandlerResult;
46
+ export declare const mergeResults: (...results: readonly HandlerResult[]) => HandlerResult;
@@ -17,5 +17,14 @@ export var CopyOperationKind;
17
17
  CopyOperationKind["GitDirCopy"] = "gitDirCopy";
18
18
  CopyOperationKind["StreamedContent"] = "streamedContent";
19
19
  })(CopyOperationKind || (CopyOperationKind = {}));
20
- export { emptyResult, mergeResults } from '../utils/changeSet.js';
20
+ export const emptyResult = () => ({
21
+ elements: [],
22
+ copies: [],
23
+ warnings: [],
24
+ });
25
+ export const mergeResults = (...results) => ({
26
+ elements: results.flatMap(r => r.elements),
27
+ copies: results.flatMap(r => r.copies),
28
+ warnings: results.flatMap(r => r.warnings),
29
+ });
21
30
  //# sourceMappingURL=handlerResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlerResult.js","sourceRoot":"","sources":["../../src/types/handlerResult.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AASZ,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,2DAAyC,CAAA;AAC3C,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAOD,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,8CAAyB,CAAA;IACzB,wDAAmC,CAAA;AACrC,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAgDD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"handlerResult.js","sourceRoot":"","sources":["../../src/types/handlerResult.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,2DAAyC,CAAA;AAC3C,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;AACnB,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAOD,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,8CAAyB,CAAA;IACzB,wDAAmC,CAAA;AACrC,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AA4CD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAkB,EAAE,CAAC,CAAC;IAC/C,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE;CACb,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAG,OAAiC,EACrB,EAAE,CAAC,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1C,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;CAC3C,CAAC,CAAA"}
@@ -4,5 +4,5 @@ export type Manifest = Map<string, Set<string>>;
4
4
  export type Work = {
5
5
  config: Config;
6
6
  changes: ChangeSet;
7
- warnings: Error[];
7
+ warnings: readonly Error[];
8
8
  };
@@ -2,4 +2,4 @@
2
2
  * Appends all elements from source arrays to target array.
3
3
  * Stack-safe alternative to target.push(...source) which can overflow on large arrays.
4
4
  */
5
- export declare const pushAll: <T>(target: T[], ...sources: T[][]) => void;
5
+ export declare const pushAll: <T>(target: T[], ...sources: readonly (readonly T[])[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"arrayUtils.js","sourceRoot":"","sources":["../../src/utils/arrayUtils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,MAAW,EAAE,GAAG,OAAc,EAAQ,EAAE;IACjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"arrayUtils.js","sourceRoot":"","sources":["../../src/utils/arrayUtils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAAW,EACX,GAAG,OAAkC,EAC/B,EAAE;IACR,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { ManifestElement } from '../types/handlerResult.js';
2
+ export type BundleRollupOutcome = Readonly<{
3
+ keptElements: readonly ManifestElement[];
4
+ warnings: readonly Error[];
5
+ }>;
6
+ export declare const applyBundleRollup: (elements: readonly ManifestElement[]) => BundleRollupOutcome;
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+ import { DOT } from '../constant/fsConstants.js';
3
+ import { DIGITAL_EXPERIENCE_BUNDLE_TYPE, DIGITAL_EXPERIENCE_TYPE, } from '../constant/metadataConstants.js';
4
+ import { ManifestTarget } from '../types/handlerResult.js';
5
+ import { MessageService } from './MessageService.js';
6
+ // Generic shape (one concrete pair today): a parent metadata type whose
7
+ // member subsumes every child of the same site/bundle in the deploy contract.
8
+ // For DigitalExperienceBundle → DigitalExperience, a DEB member deploys (or
9
+ // deletes) every DE child, so DE entries covered by a same-manifest DEB are
10
+ // redundant. This filter collapses them per manifest and — because a
11
+ // whole-bundle deletion is org-gated — warns when a DEB lands in
12
+ // destructiveChanges. When a second parent/child pair appears, generalize to
13
+ // a config list of (parentType, childType, parentMemberOf) triples; until
14
+ // then the implementation stays focused on the only pair we have empirical
15
+ // deploy semantics for.
16
+ export const applyBundleRollup = (elements) => {
17
+ const bundleMembersByTarget = collectBundleMembers(elements);
18
+ const keptElements = elements.filter(element => !(element.type === DIGITAL_EXPERIENCE_TYPE &&
19
+ isCoveredByBundle(element, bundleMembersByTarget)));
20
+ const warnings = warnBundleDeletions(bundleMembersByTarget.get(ManifestTarget.DestructiveChanges));
21
+ return { keptElements, warnings };
22
+ };
23
+ const collectBundleMembers = (elements) => {
24
+ const bundleMembersByTarget = new Map();
25
+ for (const { target, type, member } of elements) {
26
+ if (type !== DIGITAL_EXPERIENCE_BUNDLE_TYPE)
27
+ continue;
28
+ let members = bundleMembersByTarget.get(target);
29
+ if (!members) {
30
+ members = new Set();
31
+ bundleMembersByTarget.set(target, members);
32
+ }
33
+ members.add(member);
34
+ }
35
+ return bundleMembersByTarget;
36
+ };
37
+ const isCoveredByBundle = (element, bundleMembersByTarget) => {
38
+ const bundleMembers = bundleMembersByTarget.get(element.target);
39
+ if (!bundleMembers)
40
+ return false;
41
+ // A canonical `DigitalExperience` member is `<base>/<space>.<ct>/<cn>` and
42
+ // `<space>` (a Salesforce API name) cannot contain `.`, so the first `.`
43
+ // delimits the parent bundle's member exactly. One Set lookup vs. an
44
+ // `O(B)` linear `startsWith` scan over `bundleMembers`.
45
+ const dotIdx = element.member.indexOf(DOT);
46
+ if (dotIdx < 0)
47
+ return false;
48
+ return bundleMembers.has(element.member.slice(0, dotIdx));
49
+ };
50
+ const warnBundleDeletions = (bundleMembers) => {
51
+ if (!bundleMembers)
52
+ return [];
53
+ const message = new MessageService();
54
+ const warnings = [];
55
+ for (const bundleMember of bundleMembers) {
56
+ warnings.push(new Error(message.getMessage('warning.DigitalExperienceBundleDeletion', [
57
+ bundleMember,
58
+ ])));
59
+ }
60
+ return warnings;
61
+ };
62
+ //# sourceMappingURL=bundleRollup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundleRollup.js","sourceRoot":"","sources":["../../src/utils/bundleRollup.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
- import { type AddKind, ChangeKind, type ManifestElement, ManifestTarget } from '../types/handlerResult.js';
1
+ import { ChangeKind, type ManifestElement } from '../types/handlerResult.js';
2
2
  import type { Manifest } from '../types/work.js';
3
3
  export type RenamePair = Readonly<{
4
4
  from: string;
5
5
  to: string;
6
6
  }>;
7
+ export type RenameTriple = Readonly<{
8
+ type: string;
9
+ from: string;
10
+ to: string;
11
+ }>;
7
12
  export type RenameBucket = Map<string, Map<string, RenamePair>>;
8
- export declare const SHRINKABLE_TYPES: ReadonlySet<string>;
9
13
  /**
10
14
  * Domain object that collects every component change observed in a diff and
11
15
  * derives the views consumed downstream:
@@ -20,23 +24,20 @@ export declare const SHRINKABLE_TYPES: ReadonlySet<string>;
20
24
  * sub-elements. The xml manifests MUST route on `target` (the deployment
21
25
  * contract); `changeKind` only drives the review-oriented JSON bucket.
22
26
  *
23
- * Insertion goes through `add` for single-component changes and
24
- * `recordRename` for rename pairs. Views are pure projections.
27
+ * Insertion goes through `ChangeSet.from`, for both handler output and
28
+ * rename triples. Views are pure projections.
25
29
  */
26
30
  export default class ChangeSet {
27
31
  private readonly byTarget;
28
32
  private readonly byKind;
29
- private readonly byCoord;
30
33
  private readonly renames;
31
- static from(elements: readonly ManifestElement[]): ChangeSet;
32
- addElement(element: ManifestElement): void;
33
- removeMember(target: ManifestTarget, type: string, member: string): void;
34
+ static from(elements: readonly ManifestElement[], renames?: readonly RenameTriple[]): ChangeSet;
35
+ private _addElement;
34
36
  toElements(): ManifestElement[];
35
- add(kind: AddKind, type: string, member: string): void;
36
- recordRename(type: string, from: string, to: string): void;
37
- merge(other: ChangeSet): void;
37
+ private _recordRename;
38
38
  forPackageManifest(): Manifest;
39
39
  forDestructiveManifest(): Manifest;
40
+ isEmpty(): boolean;
40
41
  byChangeKind(): Readonly<{
41
42
  [ChangeKind.Add]: Manifest;
42
43
  [ChangeKind.Modify]: Manifest;
@@ -44,7 +45,6 @@ export default class ChangeSet {
44
45
  [ChangeKind.Rename]: RenameBucket;
45
46
  }>;
46
47
  private _addToManifest;
47
- private _removeFromManifest;
48
48
  private _cloneManifest;
49
49
  private _renameTargetsByType;
50
50
  private _renameSourcesByType;
@@ -52,6 +52,3 @@ export default class ChangeSet {
52
52
  private _unionByType;
53
53
  private _subtractByType;
54
54
  }
55
- import type { HandlerResult } from '../types/handlerResult.js';
56
- export declare const emptyResult: () => HandlerResult;
57
- export declare const mergeResults: (...results: HandlerResult[]) => HandlerResult;
@@ -1,19 +1,7 @@
1
1
  'use strict';
2
- import { DIGITAL_EXPERIENCE_TYPE } from '../constant/metadataConstants.js';
3
2
  import { ChangeKind, ManifestTarget, } from '../types/handlerResult.js';
4
3
  const KEY_SEPARATOR = '\0';
5
4
  const renameKey = (from, to) => `${from}${KEY_SEPARATOR}${to}`;
6
- const coordKey = (target, type, member) => `${target}${KEY_SEPARATOR}${type}${KEY_SEPARATOR}${member}`;
7
- // Types eligible for O(1) coordinate-keyed removal via `removeMember`. Each
8
- // shrinkable element costs one extra `byCoord` entry on `addElement`, so the
9
- // list is intentionally narrow — limited to the types a post-processor
10
- // actually reshapes after handler emission. Add a type here when introducing
11
- // a post-processor that needs to mutate the manifest for that type;
12
- // `removeMember` on a type outside this list is a no-op (uniform with the
13
- // "entry not in manifest" no-op semantics).
14
- export const SHRINKABLE_TYPES = new Set([
15
- DIGITAL_EXPERIENCE_TYPE,
16
- ]);
17
5
  /**
18
6
  * Domain object that collects every component change observed in a diff and
19
7
  * derives the views consumed downstream:
@@ -28,8 +16,8 @@ export const SHRINKABLE_TYPES = new Set([
28
16
  * sub-elements. The xml manifests MUST route on `target` (the deployment
29
17
  * contract); `changeKind` only drives the review-oriented JSON bucket.
30
18
  *
31
- * Insertion goes through `add` for single-component changes and
32
- * `recordRename` for rename pairs. Views are pure projections.
19
+ * Insertion goes through `ChangeSet.from`, for both handler output and
20
+ * rename triples. Views are pure projections.
33
21
  */
34
22
  export default class ChangeSet {
35
23
  byTarget = {
@@ -41,55 +29,33 @@ export default class ChangeSet {
41
29
  [ChangeKind.Modify]: new Map(),
42
30
  [ChangeKind.Delete]: new Map(),
43
31
  };
44
- // Reverse index `(target, type, member) → changeKind` populated only for
45
- // SHRINKABLE_TYPES. Lets `removeMember` look up the kind in O(1) without
46
- // requiring the caller to carry it through — ChangeSet owns kind tracking
47
- // via `addElement`, so re-declaring it on removal is redundant work.
48
- byCoord = new Map();
49
32
  renames = new Map();
50
- static from(elements) {
33
+ static from(elements, renames = []) {
51
34
  const set = new ChangeSet();
52
35
  for (const element of elements) {
53
- set.addElement(element);
36
+ set._addElement(element);
37
+ }
38
+ for (const { type, from, to } of renames) {
39
+ set._recordRename(type, from, to);
54
40
  }
55
41
  return set;
56
42
  }
57
43
  // Precise insertion — respects the full (target, changeKind) discriminator.
58
- // Callers that know both axes use this; the handler pipeline feeds
59
- // ManifestElements through `from()`.
60
- addElement(element) {
44
+ // Private: the handler pipeline feeds ManifestElements through `from()`,
45
+ // which is the only remaining caller.
46
+ _addElement(element) {
61
47
  this._addToManifest(this.byTarget[element.target], element.type, element.member);
62
48
  this._addToManifest(this.byKind[element.changeKind], element.type, element.member);
63
- // Stryker disable next-line ConditionalExpression -- equivalent: flipping the guard to `true` populates `byCoord` for non-shrinkable types too, but `removeMember` throws on those before reading `byCoord`, so the wider index has no observable consequence beyond heap usage (which is precisely the cost this gate exists to avoid).
64
- if (SHRINKABLE_TYPES.has(element.type)) {
65
- this.byCoord.set(coordKey(element.target, element.type, element.member), element.changeKind);
66
- }
67
- }
68
- // Coordinate-keyed inverse of `addElement` — removes a component from the
69
- // target and kind indices without the caller having to know `changeKind`,
70
- // which ChangeSet already tracks. Post-processors use it to reshape the
71
- // manifest (e.g. collapsing entries covered by a coarser member). No-op when
72
- // the entry isn't tracked in `byCoord` — either it was never added, or its
73
- // type isn't in `SHRINKABLE_TYPES`. Renames are untouched in either case.
74
- removeMember(target, type, member) {
75
- const key = coordKey(target, type, member);
76
- const kind = this.byCoord.get(key);
77
- if (kind === undefined)
78
- return;
79
- this._removeFromManifest(this.byTarget[target], type, member);
80
- this._removeFromManifest(this.byKind[kind], type, member);
81
- this.byCoord.delete(key);
82
49
  }
83
50
  // Reconstructs the (target, type, member, changeKind) tuples by joining
84
51
  // byTarget × byKind on (type, member). Production diff lines never insert the
85
52
  // same (type, member) under two different changeKind values, so the join is
86
53
  // unambiguous in practice. Most callers use the indexed views
87
54
  // (forPackageManifest / forDestructiveManifest / byChangeKind); this method
88
- // serves the ones that need the full per-element tuples — primarily tests
89
- // listing inserted elements, and post-processors enumerating candidates
90
- // before reshaping the manifest via `removeMember`. It is reconstructed on
91
- // demand rather than maintained as a hot-path structure, so call it once
92
- // per pass, not per element.
55
+ // serves the ones that need the full per-element tuples — currently tests
56
+ // listing inserted elements. It is reconstructed on demand rather than
57
+ // maintained as a hot-path structure, so call it once per pass, not per
58
+ // element.
93
59
  toElements() {
94
60
  const targets = [
95
61
  ManifestTarget.Package,
@@ -121,17 +87,7 @@ export default class ChangeSet {
121
87
  }
122
88
  return out;
123
89
  }
124
- // Convenience for callers (mostly tests) that operate under the standard
125
- // convention: Add/Modify target Package, Delete targets DestructiveChanges.
126
- // Production handlers that diverge from this convention (e.g. InFileHandler
127
- // treating a deleted container as an addition) MUST use addElement instead.
128
- add(kind, type, member) {
129
- const target = kind === ChangeKind.Delete
130
- ? ManifestTarget.DestructiveChanges
131
- : ManifestTarget.Package;
132
- this.addElement({ target, type, member, changeKind: kind });
133
- }
134
- recordRename(type, from, to) {
90
+ _recordRename(type, from, to) {
135
91
  if (from === to)
136
92
  return;
137
93
  if (!this.renames.has(type)) {
@@ -139,41 +95,6 @@ export default class ChangeSet {
139
95
  }
140
96
  this.renames.get(type).set(renameKey(from, to), { from, to });
141
97
  }
142
- // Folds another ChangeSet's entries into this one. Used to combine
143
- // per-handler / per-collector outputs into a single project-wide view.
144
- // Mutates `this`; `other` is left untouched so the source can stay
145
- // referentially shared if a caller needs the snapshot it represents.
146
- merge(other) {
147
- for (const target of [
148
- ManifestTarget.Package,
149
- ManifestTarget.DestructiveChanges,
150
- ]) {
151
- for (const [type, members] of other.byTarget[target]) {
152
- for (const member of members) {
153
- this._addToManifest(this.byTarget[target], type, member);
154
- }
155
- }
156
- }
157
- for (const kind of [
158
- ChangeKind.Add,
159
- ChangeKind.Modify,
160
- ChangeKind.Delete,
161
- ]) {
162
- for (const [type, members] of other.byKind[kind]) {
163
- for (const member of members) {
164
- this._addToManifest(this.byKind[kind], type, member);
165
- }
166
- }
167
- }
168
- for (const [key, kind] of other.byCoord) {
169
- this.byCoord.set(key, kind);
170
- }
171
- for (const [type, pairs] of other.renames) {
172
- for (const { from, to } of pairs.values()) {
173
- this.recordRename(type, from, to);
174
- }
175
- }
176
- }
177
98
  forPackageManifest() {
178
99
  return this._unionByType([
179
100
  this.byTarget[ManifestTarget.Package],
@@ -187,6 +108,13 @@ export default class ChangeSet {
187
108
  ]);
188
109
  return this._subtractByType(baseDeletes, this.forPackageManifest());
189
110
  }
111
+ // Whether either manifest view would carry at least one member — the
112
+ // "did this run actually produce anything" signal callers need without
113
+ // reaching into both views themselves.
114
+ isEmpty() {
115
+ return (this.forPackageManifest().size === 0 &&
116
+ this.forDestructiveManifest().size === 0);
117
+ }
190
118
  byChangeKind() {
191
119
  // Rename participants move to the Rename bucket so every entry lives in
192
120
  // exactly one user-visible bucket.
@@ -213,16 +141,6 @@ export default class ChangeSet {
213
141
  }
214
142
  manifest.get(type).add(member);
215
143
  }
216
- _removeFromManifest(manifest, type, member) {
217
- // `removeMember` checks `byCoord` first, and `addElement` keeps `byCoord`,
218
- // `byTarget`, and `byKind` in lockstep — so when this runs the type Set is
219
- // guaranteed present. No defensive `?.` needed.
220
- const members = manifest.get(type);
221
- members.delete(member);
222
- if (members.size === 0) {
223
- manifest.delete(type);
224
- }
225
- }
226
144
  _cloneManifest(manifest) {
227
145
  const clone = new Map();
228
146
  for (const [type, members] of manifest) {
@@ -230,7 +148,7 @@ export default class ChangeSet {
230
148
  }
231
149
  return clone;
232
150
  }
233
- // `recordRename` always inserts at least one pair per type key, so the
151
+ // `_recordRename` always inserts at least one pair per type key, so the
234
152
  // inner Set is non-empty by construction. No size check needed.
235
153
  _renameTargetsByType() {
236
154
  const result = new Map();
@@ -292,19 +210,4 @@ export default class ChangeSet {
292
210
  return result;
293
211
  }
294
212
  }
295
- export const emptyResult = () => ({
296
- changes: new ChangeSet(),
297
- copies: [],
298
- warnings: [],
299
- });
300
- export const mergeResults = (...results) => {
301
- const merged = new ChangeSet();
302
- for (const r of results)
303
- merged.merge(r.changes);
304
- return {
305
- changes: merged,
306
- copies: results.flatMap(r => r.copies),
307
- warnings: results.flatMap(r => r.warnings),
308
- };
309
- };
310
213
  //# sourceMappingURL=changeSet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"changeSet.js","sourceRoot":"","sources":["../../src/utils/changeSet.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,EAEL,UAAU,EAEV,cAAc,GACf,MAAM,2BAA2B,CAAA;AAWlC,MAAM,aAAa,GAAG,IAAI,CAAA;AAC1B,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,aAAa,GAAG,EAAE,EAAE,CAAA;AAC9E,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAE,IAAY,EAAE,MAAc,EAAE,EAAE,CACxE,GAAG,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,aAAa,GAAG,MAAM,EAAE,CAAA;AAE7D,4EAA4E;AAC5E,6EAA6E;AAC7E,uEAAuE;AACvE,6EAA6E;AAC7E,oEAAoE;AACpE,0EAA0E;AAC1E,4CAA4C;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC;IAC3D,uBAAuB;CACxB,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IACX,QAAQ,GAAqC;QAC5D,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,EAAE;QACnC,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,IAAI,GAAG,EAAE;KAC/C,CAAA;IACgB,MAAM,GAA8B;QACnD,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE;QAC3B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE;QAC9B,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE;KAC/B,CAAA;IACD,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,qEAAqE;IACpD,OAAO,GAAyB,IAAI,GAAG,EAAE,CAAA;IACzC,OAAO,GAAiB,IAAI,GAAG,EAAE,CAAA;IAElD,MAAM,CAAC,IAAI,CAAC,QAAoC;QAC9C,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAA;QAC3B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,4EAA4E;IAC5E,mEAAmE;IACnE,qCAAqC;IACrC,UAAU,CAAC,OAAwB;QACjC,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAC7B,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,CACf,CAAA;QACD,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAC/B,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,MAAM,CACf,CAAA;QACD,yUAAyU;QACzU,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CACd,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EACtD,OAAO,CAAC,UAAU,CACnB,CAAA;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,YAAY,CAAC,MAAsB,EAAE,IAAY,EAAE,MAAc;QAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAM;QAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,wEAAwE;IACxE,8EAA8E;IAC9E,4EAA4E;IAC5E,8DAA8D;IAC9D,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,yEAAyE;IACzE,6BAA6B;IAC7B,UAAU;QACR,MAAM,OAAO,GAAG;YACd,cAAc,CAAC,OAAO;YACtB,cAAc,CAAC,kBAAkB;SACzB,CAAA;QACV,MAAM,KAAK,GAAG;YACZ,UAAU,CAAC,GAAG;YACd,UAAU,CAAC,MAAM;YACjB,UAAU,CAAC,MAAM;SACT,CAAA;QACV,MAAM,GAAG,GAAsB,EAAE,CAAA;QACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,IAAyB,CAAA;oBAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC1C,IAAI,GAAG,CAAC,CAAA;4BACR,MAAK;wBACP,CAAC;oBACH,CAAC;oBACD,uLAAuL;oBACvL,oJAAoJ;oBACpJ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,GAAG,CAAC,IAAa,EAAE,IAAY,EAAE,MAAc;QAC7C,MAAM,MAAM,GACV,IAAI,KAAK,UAAU,CAAC,MAAM;YACxB,CAAC,CAAC,cAAc,CAAC,kBAAkB;YACnC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,EAAU;QACjD,IAAI,IAAI,KAAK,EAAE;YAAE,OAAM;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACnC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,mEAAmE;IACnE,uEAAuE;IACvE,mEAAmE;IACnE,qEAAqE;IACrE,KAAK,CAAC,KAAgB;QACpB,KAAK,MAAM,MAAM,IAAI;YACnB,cAAc,CAAC,OAAO;YACtB,cAAc,CAAC,kBAAkB;SACzB,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI;YACjB,UAAU,CAAC,GAAG;YACd,UAAU,CAAC,MAAM;YACjB,UAAU,CAAC,MAAM;SACT,EAAE,CAAC;YACX,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC7B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC1C,KAAK,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,oBAAoB,EAAE;SAC5B,CAAC,CAAA;IACJ,CAAC;IAED,sBAAsB;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;YAChD,IAAI,CAAC,oBAAoB,EAAE;SAC5B,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,YAAY;QAMV,wEAAwE;QACxE,mCAAmC;QACnC,0EAA0E;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3C,OAAO;YACL,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,eAAe,CACpC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAC3B,OAAO,CACR;YACD,uEAAuE;YACvE,mEAAmE;YACnE,6CAA6C;YAC7C,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACxE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,CACvC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAC9B,IAAI,CAAC,YAAY,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC9B,OAAO;aACR,CAAC,CACH;YACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE;SAC1C,CAAA;IACH,CAAC;IAEO,cAAc,CACpB,QAAkB,EAClB,IAAY,EACZ,MAAc;QAEd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QAC/B,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACjC,CAAC;IAEO,mBAAmB,CACzB,QAAkB,EAClB,IAAY,EACZ,MAAc;QAEd,2EAA2E;QAC3E,2EAA2E;QAC3E,gDAAgD;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;QACnC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACtB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,QAAkB;QACvC,MAAM,KAAK,GAAa,IAAI,GAAG,EAAE,CAAA;QACjC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YACvC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uEAAuE;IACvE,gEAAgE;IACxD,oBAAoB;QAC1B,MAAM,MAAM,GAAa,IAAI,GAAG,EAAE,CAAA;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;YACjC,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACpD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,oBAAoB;QAC1B,MAAM,MAAM,GAAa,IAAI,GAAG,EAAE,CAAA;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;YACjC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACxD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,aAAa;QACnB,MAAM,KAAK,GAAiB,IAAI,GAAG,EAAE,CAAA;QACrC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,YAAY,CAAC,SAA8B;QACjD,MAAM,MAAM,GAAa,IAAI,GAAG,EAAE,CAAA;QAClC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjC,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,MAAM,MAAM,IAAI,OAAO;wBAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACpD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,eAAe,CAAC,IAAc,EAAE,KAAe;QACrD,MAAM,MAAM,GAAa,IAAI,GAAG,EAAE,CAAA;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;YACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACvB,CAAC;YACH,CAAC;YACD,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAOD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAkB,EAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,IAAI,SAAS,EAAE;IACxB,MAAM,EAAE,EAAqB;IAC7B,QAAQ,EAAE,EAAa;CACxB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,OAAwB,EAAiB,EAAE;IACzE,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAA;IAC9B,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAChD,OAAO;QACL,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACtC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;KAC3C,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"changeSet.js","sourceRoot":"","sources":["../../src/utils/changeSet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type CopyOperation, type HandlerResult } from '../types/handlerResult.js';
2
+ import ChangeSet, { type RenameTriple } from './changeSet.js';
3
+ export type ChangesAssemblyResult = Readonly<{
4
+ changes: ChangeSet;
5
+ copies: readonly CopyOperation[];
6
+ warnings: readonly Error[];
7
+ }>;
8
+ export declare const assembleChanges: (handlerResult: HandlerResult, postResult: HandlerResult, renameTriples: readonly RenameTriple[]) => ChangesAssemblyResult;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+ import { mergeResults, } from '../types/handlerResult.js';
3
+ import { applyBundleRollup } from './bundleRollup.js';
4
+ import ChangeSet from './changeSet.js';
5
+ // Folds the handler pass and collector output into the single indexed read
6
+ // model consumed downstream. Renames fold in here — on the combined set
7
+ // (handler pass ∪ collectors), not the handler pass alone — because rename
8
+ // targets participate in forPackageManifest() and rename sources in
9
+ // forDestructiveManifest(), so folding renames any earlier would change
10
+ // which deletions get cancelled.
11
+ export const assembleChanges = (handlerResult, postResult, renameTriples) => {
12
+ const combinedResult = mergeResults(handlerResult, postResult);
13
+ const { keptElements, warnings: rollupWarnings } = applyBundleRollup(combinedResult.elements);
14
+ const changes = ChangeSet.from(keptElements, renameTriples); // built exactly once
15
+ return {
16
+ changes,
17
+ copies: combinedResult.copies,
18
+ warnings: [...combinedResult.warnings, ...rollupWarnings],
19
+ };
20
+ };
21
+ //# sourceMappingURL=changesAssembly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changesAssembly.js","sourceRoot":"","sources":["../../src/utils/changesAssembly.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAGL,YAAY,GACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,SAAgC,MAAM,gBAAgB,CAAA;AAQ7D,2EAA2E;AAC3E,wEAAwE;AACxE,2EAA2E;AAC3E,oEAAoE;AACpE,wEAAwE;AACxE,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAA4B,EAC5B,UAAyB,EACzB,aAAsC,EACf,EAAE;IACzB,MAAM,cAAc,GAAG,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;IAC9D,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAClE,cAAc,CAAC,QAAQ,CACxB,CAAA;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA,CAAC,qBAAqB;IAEjF,OAAO;QACL,OAAO;QACP,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,cAAc,CAAC;KAC1D,CAAA;AACH,CAAC,CAAA"}
@@ -1,19 +1,20 @@
1
1
  import GitAdapter from '../adapter/GitAdapter.js';
2
2
  import type { Config } from '../types/config.js';
3
- import type { Work } from '../types/work.js';
4
3
  import { MessageService } from './MessageService.js';
4
+ import type { SourceDirRejection } from './pathspec.js';
5
5
  export default class ConfigValidator {
6
- protected readonly work: Work;
7
6
  protected readonly config: Config;
7
+ private readonly sourceRejections;
8
8
  protected readonly gitAdapter: GitAdapter;
9
9
  protected readonly message: MessageService;
10
- constructor(work: Work);
10
+ constructor(config: Config, sourceRejections?: readonly SourceDirRejection[]);
11
11
  protected _validateGitSha(): Promise<string[]>;
12
- validateConfig(): Promise<void>;
12
+ protected _validateSource(): string[];
13
+ validateConfig(): Promise<readonly Error[]>;
13
14
  protected _validateChangesManifest(): Promise<string[]>;
14
- protected _handleDefault(): Promise<void>;
15
+ protected _handleDefault(): Promise<readonly Error[]>;
15
16
  protected _getApiVersion(): Promise<void>;
16
- protected _apiVersionDefault(): Promise<void>;
17
+ protected _apiVersionDefault(): Promise<readonly Error[]>;
17
18
  protected _resolveLatestSupportedVersion(): Promise<number | undefined>;
18
19
  protected _sanitizeConfig(): void;
19
20
  }