sfdx-git-delta 6.41.2 → 6.42.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.
- package/README.md +35 -2
- package/lib/adapter/GitAdapter.d.ts +1 -0
- package/lib/adapter/GitAdapter.js +71 -27
- package/lib/adapter/GitAdapter.js.map +1 -1
- package/lib/commands/sgd/source/delta.d.ts +2 -0
- package/lib/commands/sgd/source/delta.js +31 -1
- package/lib/commands/sgd/source/delta.js.map +1 -1
- package/lib/constant/cliConstants.d.ts +2 -0
- package/lib/constant/cliConstants.js +4 -0
- package/lib/constant/cliConstants.js.map +1 -1
- package/lib/constant/gitConstants.d.ts +1 -0
- package/lib/constant/gitConstants.js +4 -0
- package/lib/constant/gitConstants.js.map +1 -1
- package/lib/main.js +14 -4
- package/lib/main.js.map +1 -1
- package/lib/post-processor/changesManifestProcessor.d.ts +15 -0
- package/lib/post-processor/changesManifestProcessor.js +50 -0
- package/lib/post-processor/changesManifestProcessor.js.map +1 -0
- package/lib/post-processor/flowTranslationProcessor.d.ts +1 -0
- package/lib/post-processor/flowTranslationProcessor.js +12 -4
- package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
- package/lib/post-processor/packageGenerator.d.ts +0 -2
- package/lib/post-processor/packageGenerator.js +7 -27
- package/lib/post-processor/packageGenerator.js.map +1 -1
- package/lib/post-processor/postProcessorManager.js +6 -1
- package/lib/post-processor/postProcessorManager.js.map +1 -1
- package/lib/service/botHandler.js +1 -0
- package/lib/service/botHandler.js.map +1 -1
- package/lib/service/inFileHandler.d.ts +2 -2
- package/lib/service/inFileHandler.js +7 -5
- package/lib/service/inFileHandler.js.map +1 -1
- package/lib/service/reportingFolderHandler.d.ts +5 -2
- package/lib/service/reportingFolderHandler.js +1 -2
- package/lib/service/reportingFolderHandler.js.map +1 -1
- package/lib/service/sharedFolderHandler.d.ts +5 -2
- package/lib/service/sharedFolderHandler.js +1 -2
- package/lib/service/sharedFolderHandler.js.map +1 -1
- package/lib/service/standardHandler.d.ts +8 -2
- package/lib/service/standardHandler.js +21 -3
- package/lib/service/standardHandler.js.map +1 -1
- package/lib/types/config.d.ts +1 -0
- package/lib/types/handlerResult.d.ts +8 -0
- package/lib/types/handlerResult.js +7 -0
- package/lib/types/handlerResult.js.map +1 -1
- package/lib/types/work.d.ts +2 -5
- package/lib/utils/changeSet.d.ts +48 -0
- package/lib/utils/changeSet.js +173 -0
- package/lib/utils/changeSet.js.map +1 -0
- package/lib/utils/configValidator.d.ts +1 -0
- package/lib/utils/configValidator.js +39 -1
- package/lib/utils/configValidator.js.map +1 -1
- package/lib/utils/metadataDiff.d.ts +1 -0
- package/lib/utils/metadataDiff.js +22 -8
- package/lib/utils/metadataDiff.js.map +1 -1
- package/lib/utils/renameResolver.d.ts +19 -0
- package/lib/utils/renameResolver.js +52 -0
- package/lib/utils/renameResolver.js.map +1 -0
- package/lib/utils/repoGitDiff.d.ts +7 -0
- package/lib/utils/repoGitDiff.js +34 -4
- package/lib/utils/repoGitDiff.js.map +1 -1
- package/messages/delta.md +12 -0
- package/npm-shrinkwrap.json +333 -342
- package/oclif.manifest.json +9 -1
- package/package.json +8 -8
- package/lib/utils/manifestAggregator.d.ts +0 -3
- package/lib/utils/manifestAggregator.js +0 -22
- package/lib/utils/manifestAggregator.js.map +0 -1
|
@@ -10,42 +10,22 @@ const PACKAGE_FILE_NAME = 'package';
|
|
|
10
10
|
const XML_FILE_EXTENSION = 'xml';
|
|
11
11
|
export default class PackageGenerator extends BaseProcessor {
|
|
12
12
|
async process() {
|
|
13
|
-
this._cleanPackages();
|
|
14
|
-
await this._buildPackages();
|
|
15
|
-
}
|
|
16
|
-
_cleanPackages() {
|
|
17
|
-
const additive = this.work.diffs[PACKAGE_FILE_NAME];
|
|
18
|
-
const destructive = this.work.diffs[DESTRUCTIVE_CHANGES_FILE_NAME];
|
|
19
|
-
for (const [type, members] of additive) {
|
|
20
|
-
const existing = destructive.get(type);
|
|
21
|
-
if (!existing)
|
|
22
|
-
continue;
|
|
23
|
-
const filtered = new Set();
|
|
24
|
-
for (const element of existing) {
|
|
25
|
-
if (!members.has(element)) {
|
|
26
|
-
filtered.add(element);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
if (filtered.size === 0) {
|
|
30
|
-
destructive.delete(type);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
destructive.set(type, filtered);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
async _buildPackages() {
|
|
38
13
|
const pc = new PackageBuilder(this.config);
|
|
14
|
+
// ChangeSet.forDestructiveManifest() already cancels delete entries that
|
|
15
|
+
// have been re-added or re-modified in the same diff — no local cleanup
|
|
16
|
+
// needed here.
|
|
17
|
+
const destructiveManifest = this.work.changes.forDestructiveManifest();
|
|
18
|
+
const packageManifest = this.work.changes.forPackageManifest();
|
|
39
19
|
await Promise.all([
|
|
40
20
|
{
|
|
41
21
|
filename: `${DESTRUCTIVE_CHANGES_FILE_NAME}.${XML_FILE_EXTENSION}`,
|
|
42
22
|
folder: DESTRUCTIVE_CHANGES_FILE_NAME,
|
|
43
|
-
manifest:
|
|
23
|
+
manifest: destructiveManifest,
|
|
44
24
|
},
|
|
45
25
|
{
|
|
46
26
|
filename: `${PACKAGE_FILE_NAME}.${XML_FILE_EXTENSION}`,
|
|
47
27
|
folder: PACKAGE_FILE_NAME,
|
|
48
|
-
manifest:
|
|
28
|
+
manifest: packageManifest,
|
|
49
29
|
},
|
|
50
30
|
{
|
|
51
31
|
filename: `${PACKAGE_FILE_NAME}.${XML_FILE_EXTENSION}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageGenerator.js","sourceRoot":"","sources":["../../src/post-processor/packageGenerator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAE9C,MAAM,6BAA6B,GAAG,oBAAoB,CAAA;AAC1D,MAAM,iBAAiB,GAAG,SAAS,CAAA;AACnC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAEhC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,aAAa;IAEnC,AAAN,KAAK,CAAC,OAAO;QAC3B,
|
|
1
|
+
{"version":3,"file":"packageGenerator.js","sourceRoot":"","sources":["../../src/post-processor/packageGenerator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAE9C,MAAM,6BAA6B,GAAG,oBAAoB,CAAA;AAC1D,MAAM,iBAAiB,GAAG,SAAS,CAAA;AACnC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAEhC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,aAAa;IAEnC,AAAN,KAAK,CAAC,OAAO;QAC3B,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,yEAAyE;QACzE,wEAAwE;QACxE,eAAe;QACf,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAA;QACtE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAA;QAC9D,MAAM,OAAO,CAAC,GAAG,CACf;YACE;gBACE,QAAQ,EAAE,GAAG,6BAA6B,IAAI,kBAAkB,EAAE;gBAClE,MAAM,EAAE,6BAA6B;gBACrC,QAAQ,EAAE,mBAAmB;aAC9B;YACD;gBACE,QAAQ,EAAE,GAAG,iBAAiB,IAAI,kBAAkB,EAAE;gBACtD,MAAM,EAAE,iBAAiB;gBACzB,QAAQ,EAAE,eAAe;aAC1B;YACD;gBACE,QAAQ,EAAE,GAAG,iBAAiB,IAAI,kBAAkB,EAAE;gBACtD,MAAM,EAAE,6BAA6B;gBACrC,QAAQ,EAAE,IAAI,GAAG,EAAE;aACpB;SACF,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACT,OAAO,UAAU,CACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,EAChD,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAW,CACvC,CAAA;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;CACF;AAhCuB;IADrB,GAAG;+CAgCH"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { emptyResult, mergeResults } from '../types/handlerResult.js';
|
|
3
3
|
import { getErrorMessage, wrapError } from '../utils/errorUtils.js';
|
|
4
4
|
import { Logger, lazy } from '../utils/LoggingService.js';
|
|
5
|
+
import ChangesManifestProcessor from './changesManifestProcessor.js';
|
|
5
6
|
import FlowTranslationProcessor from './flowTranslationProcessor.js';
|
|
6
7
|
import IncludeProcessor from './includeProcessor.js';
|
|
7
8
|
import PackageGenerator from './packageGenerator.js';
|
|
@@ -9,8 +10,12 @@ const registeredProcessors = [
|
|
|
9
10
|
FlowTranslationProcessor,
|
|
10
11
|
IncludeProcessor,
|
|
11
12
|
];
|
|
12
|
-
//
|
|
13
|
+
// PackageGenerator must run last among legacy processors — it writes the final
|
|
14
|
+
// xml manifests. ChangesManifestProcessor operates on work.changes (populated
|
|
15
|
+
// by aggregateManifests before executeRemaining runs) so it is independent of
|
|
16
|
+
// PackageGenerator's output.
|
|
13
17
|
registeredProcessors.push(PackageGenerator);
|
|
18
|
+
registeredProcessors.push(ChangesManifestProcessor);
|
|
14
19
|
export default class PostProcessorManager {
|
|
15
20
|
work;
|
|
16
21
|
processors = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postProcessorManager.js","sourceRoot":"","sources":["../../src/post-processor/postProcessorManager.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAErE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,wBAAwB,MAAM,+BAA+B,CAAA;AACpE,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AACpD,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAOpD,MAAM,oBAAoB,GAA2B;IACnD,wBAAwB;IACxB,gBAAgB;CACjB,CAAA;AAED,
|
|
1
|
+
{"version":3,"file":"postProcessorManager.js","sourceRoot":"","sources":["../../src/post-processor/postProcessorManager.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAErE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,wBAAwB,MAAM,+BAA+B,CAAA;AACpE,OAAO,wBAAwB,MAAM,+BAA+B,CAAA;AACpE,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AACpD,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AAOpD,MAAM,oBAAoB,GAA2B;IACnD,wBAAwB;IACxB,gBAAgB;CACjB,CAAA;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,6BAA6B;AAC7B,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAC3C,oBAAoB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;AAEnD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAIR;IAHZ,UAAU,GAAoB,EAAE,CAAA;IAChC,UAAU,GAAoB,EAAE,CAAA;IAEnD,YAA+B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;IAAG,CAAC;IAEtC,GAAG,CAAC,aAA4B;QACrC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QAC5E,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,KAAK,MAAM,aAAa,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB;QAC3B,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QACxC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,MAAM,OAAO,GAAoB,EAAE,CAAA;QAEnC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAA;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;gBAC1E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA,GAAG,OAAO,EAAE,CAAC,CAAA;gBAC7B,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;iBACtC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACtE,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,aAA4B;QACrD,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,OAAO,EAAE,CAAA;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAA;YAC9E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA,GAAG,OAAO,EAAE,CAAC,CAAA;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAU,EAAE,QAA4B,EAAE,EAAE;IAC5E,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAEpD,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC9C,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA"}
|
|
@@ -18,6 +18,7 @@ export default class BotHandler extends ShareFolderHandler {
|
|
|
18
18
|
target: ManifestTarget.Package,
|
|
19
19
|
type: BOT_TYPE,
|
|
20
20
|
member: botName,
|
|
21
|
+
changeKind: this._getChangeKind(),
|
|
21
22
|
});
|
|
22
23
|
const botPath = `${parse(this.element.basePath).dir}${PATH_SEP}${botName}.${BOT_EXTENSION}`;
|
|
23
24
|
this._collectCopyWithMetaFile(result.copies, botPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botHandler.js","sourceRoot":"","sources":["../../src/service/botHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAA;AAEzD,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,kBAAkB;IACrC,eAAe;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAY,CAAA;QACzE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,cAAc,CAAC,OAAO;YAC9B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"botHandler.js","sourceRoot":"","sources":["../../src/service/botHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAA;AAEzD,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,kBAAkB;IACrC,eAAe;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAY,CAAA;QACzE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,cAAc,CAAC,OAAO;YAC9B,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;SAClC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,GACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC/B,GAAG,QAAQ,GAAG,OAAO,IAAI,aAAa,EAAE,CAAA;QACxC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACrD,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HandlerResult, ManifestElement } from '../types/handlerResult.js';
|
|
1
|
+
import type { AddKind, HandlerResult, ManifestElement } from '../types/handlerResult.js';
|
|
2
2
|
import { ManifestTarget } from '../types/handlerResult.js';
|
|
3
3
|
import type { Work } from '../types/work.js';
|
|
4
4
|
import MetadataDiff from '../utils/metadataDiff.js';
|
|
@@ -11,7 +11,7 @@ export default class InFileHandler extends StandardHandler {
|
|
|
11
11
|
collectDeletion(): Promise<HandlerResult>;
|
|
12
12
|
collectModification(): Promise<HandlerResult>;
|
|
13
13
|
protected _collectCompareResult(): Promise<HandlerResult>;
|
|
14
|
-
protected _collectManifestFromComparison(manifests: ManifestElement[], target: ManifestTarget, entries: {
|
|
14
|
+
protected _collectManifestFromComparison(manifests: ManifestElement[], target: ManifestTarget, changeKind: AddKind, entries: {
|
|
15
15
|
type: string;
|
|
16
16
|
member: string;
|
|
17
17
|
}[]): void;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { basename } from 'node:path/posix';
|
|
3
3
|
import { DOT } from '../constant/fsConstants.js';
|
|
4
4
|
import { isPackable } from '../metadata/metadataManager.js';
|
|
5
|
-
import { emptyResult, ManifestTarget } from '../types/handlerResult.js';
|
|
5
|
+
import { ChangeKind, emptyResult, ManifestTarget, } from '../types/handlerResult.js';
|
|
6
6
|
import { pushAll } from '../utils/arrayUtils.js';
|
|
7
7
|
import { wrapError } from '../utils/errorUtils.js';
|
|
8
8
|
import { Logger, lazy } from '../utils/LoggingService.js';
|
|
@@ -32,9 +32,10 @@ export default class InFileHandler extends StandardHandler {
|
|
|
32
32
|
async _collectCompareResult() {
|
|
33
33
|
try {
|
|
34
34
|
const result = emptyResult();
|
|
35
|
-
const { added, deleted, toContent, fromContent } = await this.metadataDiff.compare(this.element.basePath);
|
|
36
|
-
this._collectManifestFromComparison(result.manifests, ManifestTarget.DestructiveChanges, deleted);
|
|
37
|
-
this._collectManifestFromComparison(result.manifests, ManifestTarget.Package, added);
|
|
35
|
+
const { added, modified, deleted, toContent, fromContent } = await this.metadataDiff.compare(this.element.basePath);
|
|
36
|
+
this._collectManifestFromComparison(result.manifests, ManifestTarget.DestructiveChanges, ChangeKind.Delete, deleted);
|
|
37
|
+
this._collectManifestFromComparison(result.manifests, ManifestTarget.Package, ChangeKind.Add, added);
|
|
38
|
+
this._collectManifestFromComparison(result.manifests, ManifestTarget.Package, ChangeKind.Modify, modified);
|
|
38
39
|
const { xmlContent, isEmpty } = this.metadataDiff.prune(toContent, fromContent);
|
|
39
40
|
// RATIONALE: Why include root component in package.xml for InFile sub-elements?
|
|
40
41
|
// InFile elements are not independently deployable; the root component must be listed.
|
|
@@ -65,13 +66,14 @@ export default class InFileHandler extends StandardHandler {
|
|
|
65
66
|
};
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
|
-
_collectManifestFromComparison(manifests, target, entries) {
|
|
69
|
+
_collectManifestFromComparison(manifests, target, changeKind, entries) {
|
|
69
70
|
for (const { type, member } of entries) {
|
|
70
71
|
if (isPackable(type)) {
|
|
71
72
|
manifests.push({
|
|
72
73
|
target,
|
|
73
74
|
type,
|
|
74
75
|
member: `${this._getQualifiedName()}${member}`,
|
|
76
|
+
changeKind,
|
|
75
77
|
});
|
|
76
78
|
}
|
|
77
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inFileHandler.js","sourceRoot":"","sources":["../../src/service/inFileHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"inFileHandler.js","sourceRoot":"","sources":["../../src/service/inFileHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HandlerResult
|
|
1
|
+
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
2
|
import type { Work } from '../types/work.js';
|
|
3
3
|
import type { MetadataElement } from '../utils/metadataElement.js';
|
|
4
4
|
import InFolderHandler from './inFolderHandler.js';
|
|
@@ -8,5 +8,8 @@ export default class ReportingFolderHandler extends InFolderHandler {
|
|
|
8
8
|
collectAddition(): Promise<HandlerResult>;
|
|
9
9
|
collectDeletion(): Promise<HandlerResult>;
|
|
10
10
|
protected _collectFolderMetaCopies(copies: import('../types/handlerResult.js').CopyOperation[]): void;
|
|
11
|
-
|
|
11
|
+
getElementDescriptor(): {
|
|
12
|
+
type: string;
|
|
13
|
+
member: string;
|
|
14
|
+
};
|
|
12
15
|
}
|
|
@@ -27,13 +27,12 @@ export default class ReportingFolderHandler extends InFolderHandler {
|
|
|
27
27
|
const folderFileName = `${folderName}${METAFILE_SUFFIX}`;
|
|
28
28
|
this._collectCopyWithMetaFile(copies, join(folderPath, folderFileName));
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
getElementDescriptor() {
|
|
31
31
|
/* v8 ignore next 5 -- collectAddition/Deletion guard ensures resolvedType is set */
|
|
32
32
|
if (!this.resolvedType) {
|
|
33
33
|
throw new Error(`ReportingFolderHandler: resolvedType is missing for ${this.element.fullPath}`);
|
|
34
34
|
}
|
|
35
35
|
return {
|
|
36
|
-
target,
|
|
37
36
|
type: this.resolvedType,
|
|
38
37
|
member: this._getElementName(),
|
|
39
38
|
};
|
|
@@ -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;
|
|
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,IAAU;QAClE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAChC,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,CACzC,MAA2D;QAE3D,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,oFAAoF;QACpF,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,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE;SAC/B,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type { HandlerResult
|
|
1
|
+
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
2
|
import type { Work } from '../types/work.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
7
|
constructor(changeType: string, element: MetadataElement, work: Work);
|
|
8
|
-
|
|
8
|
+
getElementDescriptor(): {
|
|
9
|
+
type: string;
|
|
10
|
+
member: string;
|
|
11
|
+
};
|
|
9
12
|
collectAddition(): Promise<HandlerResult>;
|
|
10
13
|
collectDeletion(): Promise<HandlerResult>;
|
|
11
14
|
protected _isProcessable(): boolean;
|
|
@@ -9,13 +9,12 @@ export default class SharedFolderHandler extends StandardHandler {
|
|
|
9
9
|
super(changeType, element, work);
|
|
10
10
|
this.resolvedType = element.getSharedFolderMetadata().get(element.extension);
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
getElementDescriptor() {
|
|
13
13
|
/* v8 ignore next 5 -- collectAddition/Deletion guard ensures resolvedType is set */
|
|
14
14
|
if (!this.resolvedType) {
|
|
15
15
|
throw new Error(`SharedFolderHandler: resolvedType is missing for ${this.element.fullPath}`);
|
|
16
16
|
}
|
|
17
17
|
return {
|
|
18
|
-
target,
|
|
19
18
|
type: this.resolvedType,
|
|
20
19
|
member: this._getElementName(),
|
|
21
20
|
};
|
|
@@ -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;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;
|
|
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;AAE7C,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,IAAU;QAClE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IAEe,oBAAoB;QAClC,oFAAoF;QACpF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,oDAAoD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC5E,CAAA;QACH,CAAC;QACD,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,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,5 +1,5 @@
|
|
|
1
1
|
import type { Config } from '../types/config.js';
|
|
2
|
-
import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
|
|
2
|
+
import type { AddKind, CopyOperation, HandlerResult } from '../types/handlerResult.js';
|
|
3
3
|
import { ManifestTarget } from '../types/handlerResult.js';
|
|
4
4
|
import type { Work } from '../types/work.js';
|
|
5
5
|
import type { MetadataElement } from '../utils/metadataElement.js';
|
|
@@ -23,11 +23,17 @@ export default class StandardHandler {
|
|
|
23
23
|
collectDeletion(): Promise<HandlerResult>;
|
|
24
24
|
collectModification(): Promise<HandlerResult>;
|
|
25
25
|
protected _getElementName(): string;
|
|
26
|
+
getElementDescriptor(): {
|
|
27
|
+
type: string;
|
|
28
|
+
member: string;
|
|
29
|
+
};
|
|
26
30
|
protected _collectManifestElement(target: ManifestTarget): {
|
|
27
|
-
|
|
31
|
+
changeKind: AddKind;
|
|
28
32
|
type: string;
|
|
29
33
|
member: string;
|
|
34
|
+
target: ManifestTarget;
|
|
30
35
|
};
|
|
36
|
+
protected _getChangeKind(): AddKind;
|
|
31
37
|
protected _collectCopyWithMetaFile(copies: CopyOperation[], src: string): void;
|
|
32
38
|
protected _collectCopy(copies: CopyOperation[], path: string): void;
|
|
33
39
|
protected _collectComputedContent(copies: CopyOperation[], path: string, content: string): void;
|
|
@@ -3,10 +3,15 @@ import { __decorate } from "tslib";
|
|
|
3
3
|
import { join, parse } from 'node:path/posix';
|
|
4
4
|
import { ADDITION, DELETION, MODIFICATION } from '../constant/gitConstants.js';
|
|
5
5
|
import { METAFILE_SUFFIX } from '../constant/metadataConstants.js';
|
|
6
|
-
import { CopyOperationKind, emptyResult, ManifestTarget, } from '../types/handlerResult.js';
|
|
6
|
+
import { ChangeKind, CopyOperationKind, emptyResult, ManifestTarget, } from '../types/handlerResult.js';
|
|
7
7
|
import { getErrorMessage, wrapError } from '../utils/errorUtils.js';
|
|
8
8
|
import { log } from '../utils/LoggingDecorator.js';
|
|
9
9
|
import { Logger, lazy } from '../utils/LoggingService.js';
|
|
10
|
+
const CHANGE_KIND_BY_GIT_TYPE = {
|
|
11
|
+
[ADDITION]: ChangeKind.Add,
|
|
12
|
+
[MODIFICATION]: ChangeKind.Modify,
|
|
13
|
+
[DELETION]: ChangeKind.Delete,
|
|
14
|
+
};
|
|
10
15
|
/**
|
|
11
16
|
* Strategy pattern base for metadata type handlers.
|
|
12
17
|
* Each Salesforce metadata type may need unique diff-collection behavior
|
|
@@ -71,13 +76,26 @@ export default class StandardHandler {
|
|
|
71
76
|
_getElementName() {
|
|
72
77
|
return this.element.componentName;
|
|
73
78
|
}
|
|
74
|
-
|
|
79
|
+
// Public accessor used by the rename resolver — lets main.ts map a rename
|
|
80
|
+
// path pair back to (type, member) without running collect() side-effects.
|
|
81
|
+
getElementDescriptor() {
|
|
75
82
|
return {
|
|
76
|
-
target,
|
|
77
83
|
type: this.element.type.xmlName,
|
|
78
84
|
member: this._getElementName(),
|
|
79
85
|
};
|
|
80
86
|
}
|
|
87
|
+
_collectManifestElement(target) {
|
|
88
|
+
return {
|
|
89
|
+
target,
|
|
90
|
+
...this.getElementDescriptor(),
|
|
91
|
+
changeKind: this._getChangeKind(),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
_getChangeKind() {
|
|
95
|
+
// collect()'s switch guarantees changeType is ADDITION | MODIFICATION |
|
|
96
|
+
// DELETION before _collectManifestElement runs, so the lookup always hits.
|
|
97
|
+
return CHANGE_KIND_BY_GIT_TYPE[this.changeType];
|
|
98
|
+
}
|
|
81
99
|
_collectCopyWithMetaFile(copies, src) {
|
|
82
100
|
if (this._delegateFileCopy()) {
|
|
83
101
|
this._collectCopy(copies, src);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standardHandler.js","sourceRoot":"","sources":["../../src/service/standardHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"standardHandler.js","sourceRoot":"","sources":["../../src/service/standardHandler.ts"],"names":[],"mappings":"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"}
|
package/lib/types/config.d.ts
CHANGED
|
@@ -2,6 +2,13 @@ export declare enum ManifestTarget {
|
|
|
2
2
|
Package = "package",
|
|
3
3
|
DestructiveChanges = "destructiveChanges"
|
|
4
4
|
}
|
|
5
|
+
export declare enum ChangeKind {
|
|
6
|
+
Add = "add",
|
|
7
|
+
Modify = "modify",
|
|
8
|
+
Delete = "delete",
|
|
9
|
+
Rename = "rename"
|
|
10
|
+
}
|
|
11
|
+
export type AddKind = ChangeKind.Add | ChangeKind.Modify | ChangeKind.Delete;
|
|
5
12
|
export declare enum CopyOperationKind {
|
|
6
13
|
GitCopy = "gitCopy",
|
|
7
14
|
GitDirCopy = "gitDirCopy",
|
|
@@ -11,6 +18,7 @@ export type ManifestElement = {
|
|
|
11
18
|
target: ManifestTarget;
|
|
12
19
|
type: string;
|
|
13
20
|
member: string;
|
|
21
|
+
changeKind: AddKind;
|
|
14
22
|
};
|
|
15
23
|
export type GitCopyOperation = {
|
|
16
24
|
kind: CopyOperationKind.GitCopy;
|
|
@@ -4,6 +4,13 @@ export var ManifestTarget;
|
|
|
4
4
|
ManifestTarget["Package"] = "package";
|
|
5
5
|
ManifestTarget["DestructiveChanges"] = "destructiveChanges";
|
|
6
6
|
})(ManifestTarget || (ManifestTarget = {}));
|
|
7
|
+
export var ChangeKind;
|
|
8
|
+
(function (ChangeKind) {
|
|
9
|
+
ChangeKind["Add"] = "add";
|
|
10
|
+
ChangeKind["Modify"] = "modify";
|
|
11
|
+
ChangeKind["Delete"] = "delete";
|
|
12
|
+
ChangeKind["Rename"] = "rename";
|
|
13
|
+
})(ChangeKind || (ChangeKind = {}));
|
|
7
14
|
export var CopyOperationKind;
|
|
8
15
|
(function (CopyOperationKind) {
|
|
9
16
|
CopyOperationKind["GitCopy"] = "gitCopy";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlerResult.js","sourceRoot":"","sources":["../../src/types/handlerResult.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,2DAAyC,CAAA;AAC3C,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;IACnB,8CAAyB,CAAA;IACzB,wDAAmC,CAAA;AACrC,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;
|
|
1
|
+
{"version":3,"file":"handlerResult.js","sourceRoot":"","sources":["../../src/types/handlerResult.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,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;AAsCD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAkB,EAAE,CAAC,CAAC;IAC/C,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE;CACb,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,OAAwB,EAAiB,EAAE,CAAC,CAAC;IAC3E,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,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"}
|
package/lib/types/work.d.ts
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
1
2
|
import type { Config } from './config.js';
|
|
2
3
|
export type Manifest = Map<string, Set<string>>;
|
|
3
|
-
export type Manifests = {
|
|
4
|
-
package: Manifest;
|
|
5
|
-
destructiveChanges: Manifest;
|
|
6
|
-
};
|
|
7
4
|
export type Work = {
|
|
8
5
|
config: Config;
|
|
9
|
-
|
|
6
|
+
changes: ChangeSet;
|
|
10
7
|
warnings: Error[];
|
|
11
8
|
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type AddKind, ChangeKind, type ManifestElement } from '../types/handlerResult.js';
|
|
2
|
+
import type { Manifest } from '../types/work.js';
|
|
3
|
+
export type RenamePair = Readonly<{
|
|
4
|
+
from: string;
|
|
5
|
+
to: string;
|
|
6
|
+
}>;
|
|
7
|
+
export type RenameBucket = Map<string, Map<string, RenamePair>>;
|
|
8
|
+
/**
|
|
9
|
+
* Domain object that collects every component change observed in a diff and
|
|
10
|
+
* derives the views consumed downstream:
|
|
11
|
+
* - Package manifest (`ManifestTarget.Package` entries + rename targets)
|
|
12
|
+
* - Destructive manifest (`ManifestTarget.DestructiveChanges` entries +
|
|
13
|
+
* rename sources — minus entries that also appear in the Package view)
|
|
14
|
+
* - Per-kind bucket map (used for the JSON review manifest)
|
|
15
|
+
*
|
|
16
|
+
* `ManifestTarget` and `ChangeKind` are orthogonal. A single ManifestElement
|
|
17
|
+
* can be (target=Package, changeKind=Delete) — this happens when InFileHandler
|
|
18
|
+
* treats a deleted container file as an addition to preserve surviving
|
|
19
|
+
* sub-elements. The xml manifests MUST route on `target` (the deployment
|
|
20
|
+
* contract); `changeKind` only drives the review-oriented JSON bucket.
|
|
21
|
+
*
|
|
22
|
+
* Insertion goes through `add` for single-component changes and
|
|
23
|
+
* `recordRename` for rename pairs. Views are pure projections.
|
|
24
|
+
*/
|
|
25
|
+
export default class ChangeSet {
|
|
26
|
+
private readonly byTarget;
|
|
27
|
+
private readonly byKind;
|
|
28
|
+
private readonly renames;
|
|
29
|
+
static from(elements: readonly ManifestElement[]): ChangeSet;
|
|
30
|
+
addElement(element: ManifestElement): void;
|
|
31
|
+
add(kind: AddKind, type: string, member: string): void;
|
|
32
|
+
recordRename(type: string, from: string, to: string): void;
|
|
33
|
+
forPackageManifest(): Manifest;
|
|
34
|
+
forDestructiveManifest(): Manifest;
|
|
35
|
+
byChangeKind(): Readonly<{
|
|
36
|
+
[ChangeKind.Add]: Manifest;
|
|
37
|
+
[ChangeKind.Modify]: Manifest;
|
|
38
|
+
[ChangeKind.Delete]: Manifest;
|
|
39
|
+
[ChangeKind.Rename]: RenameBucket;
|
|
40
|
+
}>;
|
|
41
|
+
private _addToManifest;
|
|
42
|
+
private _cloneManifest;
|
|
43
|
+
private _renameTargetsByType;
|
|
44
|
+
private _renameSourcesByType;
|
|
45
|
+
private _cloneRenames;
|
|
46
|
+
private _unionByType;
|
|
47
|
+
private _subtractByType;
|
|
48
|
+
}
|