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.
- package/README.md +12 -3
- package/lib/adapter/GitAdapter.d.ts +25 -64
- package/lib/adapter/GitAdapter.js +352 -483
- package/lib/adapter/GitAdapter.js.map +1 -1
- package/lib/adapter/gitBlobReader.d.ts +8 -10
- package/lib/adapter/gitBlobReader.js.map +1 -1
- package/lib/adapter/ioExecutor.d.ts +5 -4
- package/lib/adapter/ioExecutor.js +22 -14
- package/lib/adapter/ioExecutor.js.map +1 -1
- package/lib/adapter/pathMatching.d.ts +9 -0
- package/lib/adapter/pathMatching.js +83 -0
- package/lib/adapter/pathMatching.js.map +1 -0
- package/lib/adapter/tsgitErrorMap.d.ts +7 -0
- package/lib/adapter/tsgitErrorMap.js +32 -0
- package/lib/adapter/tsgitErrorMap.js.map +1 -0
- package/lib/commands/sgd/source/delta.js.map +1 -1
- package/lib/constant/gitConstants.d.ts +0 -2
- package/lib/constant/gitConstants.js +0 -8
- package/lib/constant/gitConstants.js.map +1 -1
- package/lib/constant/metadataConstants.d.ts +1 -0
- package/lib/constant/metadataConstants.js +1 -0
- package/lib/constant/metadataConstants.js.map +1 -1
- package/lib/main.d.ts +2 -2
- package/lib/main.js +64 -35
- package/lib/main.js.map +1 -1
- package/lib/post-processor/baseProcessor.d.ts +9 -6
- package/lib/post-processor/baseProcessor.js +5 -6
- package/lib/post-processor/baseProcessor.js.map +1 -1
- package/lib/post-processor/changesManifestProcessor.d.ts +3 -2
- package/lib/post-processor/changesManifestProcessor.js +5 -4
- package/lib/post-processor/changesManifestProcessor.js.map +1 -1
- package/lib/post-processor/flowTranslationProcessor.d.ts +8 -7
- package/lib/post-processor/flowTranslationProcessor.js +20 -19
- package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
- package/lib/post-processor/includeProcessor.d.ts +6 -5
- package/lib/post-processor/includeProcessor.js +7 -6
- package/lib/post-processor/includeProcessor.js.map +1 -1
- package/lib/post-processor/packageGenerator.d.ts +3 -2
- package/lib/post-processor/packageGenerator.js +5 -4
- package/lib/post-processor/packageGenerator.js.map +1 -1
- package/lib/post-processor/postProcessorManager.d.ts +5 -7
- package/lib/post-processor/postProcessorManager.js +23 -31
- package/lib/post-processor/postProcessorManager.js.map +1 -1
- package/lib/service/botHandler.d.ts +1 -2
- package/lib/service/botHandler.js +17 -10
- package/lib/service/botHandler.js.map +1 -1
- package/lib/service/containedDecomposedHandler.d.ts +4 -5
- package/lib/service/containedDecomposedHandler.js +13 -12
- package/lib/service/containedDecomposedHandler.js.map +1 -1
- package/lib/service/customFieldHandler.d.ts +1 -2
- package/lib/service/customFieldHandler.js +7 -6
- package/lib/service/customFieldHandler.js.map +1 -1
- package/lib/service/customLabelHandler.d.ts +1 -2
- package/lib/service/customLabelHandler.js +3 -3
- package/lib/service/customLabelHandler.js.map +1 -1
- package/lib/service/customObjectHandler.d.ts +3 -4
- package/lib/service/customObjectHandler.js +10 -9
- package/lib/service/customObjectHandler.js.map +1 -1
- package/lib/service/decomposedHandler.d.ts +3 -4
- package/lib/service/decomposedHandler.js +5 -4
- package/lib/service/decomposedHandler.js.map +1 -1
- package/lib/service/diffLineInterpreter.d.ts +3 -3
- package/lib/service/diffLineInterpreter.js +18 -14
- package/lib/service/diffLineInterpreter.js.map +1 -1
- package/lib/service/flowHandler.d.ts +1 -2
- package/lib/service/flowHandler.js +9 -4
- package/lib/service/flowHandler.js.map +1 -1
- package/lib/service/inFileHandler.d.ts +8 -9
- package/lib/service/inFileHandler.js +28 -27
- package/lib/service/inFileHandler.js.map +1 -1
- package/lib/service/inFolderHandler.d.ts +4 -5
- package/lib/service/inFolderHandler.js +6 -5
- package/lib/service/inFolderHandler.js.map +1 -1
- package/lib/service/inResourceHandler.d.ts +4 -5
- package/lib/service/inResourceHandler.js +8 -7
- package/lib/service/inResourceHandler.js.map +1 -1
- package/lib/service/objectTranslationHandler.d.ts +1 -2
- package/lib/service/objectTranslationHandler.js +6 -5
- package/lib/service/objectTranslationHandler.js.map +1 -1
- package/lib/service/reportingFolderHandler.d.ts +6 -7
- package/lib/service/reportingFolderHandler.js +6 -6
- package/lib/service/reportingFolderHandler.js.map +1 -1
- package/lib/service/sharedFolderHandler.d.ts +4 -5
- package/lib/service/sharedFolderHandler.js +6 -6
- package/lib/service/sharedFolderHandler.js.map +1 -1
- package/lib/service/standardHandler.d.ts +5 -9
- package/lib/service/standardHandler.js +28 -35
- package/lib/service/standardHandler.js.map +1 -1
- package/lib/service/typeHandlerFactory.d.ts +3 -3
- package/lib/service/typeHandlerFactory.js +6 -6
- package/lib/service/typeHandlerFactory.js.map +1 -1
- package/lib/types/config.d.ts +5 -1
- package/lib/types/handlerResult.d.ts +7 -7
- package/lib/types/handlerResult.js +10 -1
- package/lib/types/handlerResult.js.map +1 -1
- package/lib/types/work.d.ts +1 -1
- package/lib/utils/arrayUtils.d.ts +1 -1
- package/lib/utils/arrayUtils.js.map +1 -1
- package/lib/utils/bundleRollup.d.ts +6 -0
- package/lib/utils/bundleRollup.js +62 -0
- package/lib/utils/bundleRollup.js.map +1 -0
- package/lib/utils/changeSet.d.ts +12 -15
- package/lib/utils/changeSet.js +23 -120
- package/lib/utils/changeSet.js.map +1 -1
- package/lib/utils/changesAssembly.d.ts +8 -0
- package/lib/utils/changesAssembly.js +21 -0
- package/lib/utils/changesAssembly.js.map +1 -0
- package/lib/utils/configValidator.d.ts +7 -6
- package/lib/utils/configValidator.js +32 -11
- package/lib/utils/configValidator.js.map +1 -1
- package/lib/utils/fsHelper.d.ts +2 -1
- package/lib/utils/fsHelper.js +7 -3
- package/lib/utils/fsHelper.js.map +1 -1
- package/lib/utils/messageSanitizer.d.ts +1 -0
- package/lib/utils/messageSanitizer.js +48 -0
- package/lib/utils/messageSanitizer.js.map +1 -0
- package/lib/utils/metadataDiff/index.d.ts +0 -2
- package/lib/utils/metadataDiff/index.js.map +1 -1
- package/lib/utils/metadataDiff/streamingDiff.d.ts +1 -3
- package/lib/utils/metadataDiff/streamingDiff.js +16 -54
- package/lib/utils/metadataDiff/streamingDiff.js.map +1 -1
- package/lib/utils/pathspec.d.ts +15 -0
- package/lib/utils/pathspec.js +71 -0
- package/lib/utils/pathspec.js.map +1 -0
- package/lib/utils/renameResolver.d.ts +6 -6
- package/lib/utils/renameResolver.js +10 -9
- package/lib/utils/renameResolver.js.map +1 -1
- package/lib/utils/repoGitDiff.d.ts +2 -0
- package/lib/utils/repoGitDiff.js +14 -1
- package/lib/utils/repoGitDiff.js.map +1 -1
- package/messages/delta.md +26 -0
- package/oclif.manifest.json +2 -2
- package/package.json +28 -20
- package/lib/adapter/gitBatchCatFile.d.ts +0 -42
- package/lib/adapter/gitBatchCatFile.js +0 -203
- package/lib/adapter/gitBatchCatFile.js.map +0 -1
- package/lib/post-processor/bundleRollupProcessor.d.ts +0 -7
- package/lib/post-processor/bundleRollupProcessor.js +0 -81
- package/lib/post-processor/bundleRollupProcessor.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { emptyResult, mergeResults } from '../types/handlerResult.js';
|
|
3
|
+
import { pushAll } from '../utils/arrayUtils.js';
|
|
3
4
|
import { getErrorMessage, wrapError } from '../utils/errorUtils.js';
|
|
4
5
|
import { Logger, lazy } from '../utils/LoggingService.js';
|
|
5
|
-
import BundleRollupProcessor from './bundleRollupProcessor.js';
|
|
6
6
|
import ChangesManifestProcessor from './changesManifestProcessor.js';
|
|
7
7
|
import FlowTranslationProcessor from './flowTranslationProcessor.js';
|
|
8
8
|
import IncludeProcessor from './includeProcessor.js';
|
|
@@ -10,74 +10,66 @@ import PackageGenerator from './packageGenerator.js';
|
|
|
10
10
|
const registeredProcessors = [
|
|
11
11
|
FlowTranslationProcessor,
|
|
12
12
|
IncludeProcessor,
|
|
13
|
-
// BundleRollupProcessor must run before PackageGenerator: it reshapes
|
|
14
|
-
// work.changes (collapsing DigitalExperience members under their
|
|
15
|
-
// DigitalExperienceBundle), and PackageGenerator reads that ChangeSet.
|
|
16
|
-
BundleRollupProcessor,
|
|
17
13
|
];
|
|
18
14
|
// PackageGenerator must run last among legacy processors — it writes the final
|
|
19
|
-
// xml manifests. ChangesManifestProcessor
|
|
20
|
-
//
|
|
15
|
+
// xml manifests. ChangesManifestProcessor reads the same `changes` argument
|
|
16
|
+
// executeRemaining hands to every processor, so it is independent of
|
|
21
17
|
// PackageGenerator's output.
|
|
22
18
|
registeredProcessors.push(PackageGenerator);
|
|
23
19
|
registeredProcessors.push(ChangesManifestProcessor);
|
|
24
20
|
export default class PostProcessorManager {
|
|
25
|
-
work;
|
|
26
21
|
processors = [];
|
|
27
22
|
collectors = [];
|
|
28
|
-
constructor(work) {
|
|
29
|
-
this.work = work;
|
|
30
|
-
}
|
|
31
23
|
use(postProcessor) {
|
|
32
24
|
const target = postProcessor.isCollector ? this.collectors : this.processors;
|
|
33
25
|
target.push(postProcessor);
|
|
34
26
|
return this;
|
|
35
27
|
}
|
|
36
|
-
async
|
|
37
|
-
|
|
38
|
-
await this._safeProcess(postProcessor);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
async executeRemaining() {
|
|
28
|
+
async executeRemaining(changes) {
|
|
29
|
+
const warnings = [];
|
|
42
30
|
for (const postProcessor of this.processors) {
|
|
43
|
-
await this._safeProcess(postProcessor);
|
|
31
|
+
pushAll(warnings, await this._safeProcess(postProcessor, changes));
|
|
44
32
|
}
|
|
33
|
+
return warnings;
|
|
45
34
|
}
|
|
46
|
-
async collectAll() {
|
|
35
|
+
async collectAll(changes) {
|
|
47
36
|
const results = [];
|
|
48
37
|
for (const collector of this.collectors) {
|
|
49
38
|
try {
|
|
50
|
-
results.push(await collector.transformAndCollect());
|
|
39
|
+
results.push(await collector.transformAndCollect(changes));
|
|
51
40
|
}
|
|
52
41
|
catch (error) {
|
|
53
42
|
const message = `${collector.constructor.name}: ${getErrorMessage(error)}`;
|
|
54
43
|
// Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only; tests assert on the wrapped warning and the failed result push, not on the lazy log line
|
|
55
44
|
Logger.warn(lazy `${message}`);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
45
|
+
results.push({
|
|
46
|
+
elements: [],
|
|
47
|
+
copies: [],
|
|
48
|
+
warnings: [wrapError(message, error)],
|
|
49
|
+
});
|
|
59
50
|
}
|
|
60
51
|
}
|
|
61
52
|
// Stryker disable next-line ConditionalExpression,EqualityOperator -- equivalent: empty-results short-circuit; flipping to true always calls mergeResults() with no args which returns an empty result, observably the same as emptyResult()
|
|
62
53
|
return results.length > 0 ? mergeResults(...results) : emptyResult();
|
|
63
54
|
}
|
|
64
|
-
async _safeProcess(postProcessor) {
|
|
55
|
+
async _safeProcess(postProcessor, changes) {
|
|
65
56
|
try {
|
|
66
|
-
await postProcessor.process();
|
|
57
|
+
const outcome = await postProcessor.process(changes);
|
|
58
|
+
return outcome.warnings;
|
|
67
59
|
}
|
|
68
60
|
catch (error) {
|
|
69
61
|
const message = `${postProcessor.constructor.name}: ${getErrorMessage(error)}`;
|
|
70
|
-
// Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only; tests assert on the wrapped warning
|
|
62
|
+
// Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only; tests assert on the wrapped warning returned to the caller, not on the lazy log line
|
|
71
63
|
Logger.warn(lazy `${message}`);
|
|
72
|
-
|
|
64
|
+
return [wrapError(message, error)];
|
|
73
65
|
}
|
|
74
66
|
}
|
|
75
67
|
}
|
|
76
|
-
export const getPostProcessors = (
|
|
77
|
-
const postProcessor = new PostProcessorManager(
|
|
78
|
-
// Stryker disable next-line BlockStatement -- equivalent: emptying the body skips registering processors; the resulting PostProcessorManager has empty processor/collector lists and
|
|
68
|
+
export const getPostProcessors = (config, metadata) => {
|
|
69
|
+
const postProcessor = new PostProcessorManager();
|
|
70
|
+
// Stryker disable next-line BlockStatement -- equivalent: emptying the body skips registering processors; the resulting PostProcessorManager has empty processor/collector lists and executeRemaining()/collectAll() return early — tests assert the registered processor count, but not via this empty-state path
|
|
79
71
|
for (const processor of registeredProcessors) {
|
|
80
|
-
const instance = new processor(
|
|
72
|
+
const instance = new processor(config, metadata);
|
|
81
73
|
postProcessor.use(instance);
|
|
82
74
|
}
|
|
83
75
|
return postProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postProcessorManager.js","sourceRoot":"","sources":["../../src/post-processor/postProcessorManager.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"postProcessorManager.js","sourceRoot":"","sources":["../../src/post-processor/postProcessorManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
3
2
|
import ShareFolderHandler from './sharedFolderHandler.js';
|
|
4
3
|
export default class BotHandler extends ShareFolderHandler {
|
|
5
4
|
protected _getElementName(): string;
|
|
6
|
-
collectAddition(
|
|
5
|
+
collectAddition(): Promise<HandlerResult>;
|
|
7
6
|
}
|
|
@@ -11,18 +11,25 @@ export default class BotHandler extends ShareFolderHandler {
|
|
|
11
11
|
const elementName = new Set([this.element.parentFolder, fileName]);
|
|
12
12
|
return [...elementName].join(DOT);
|
|
13
13
|
}
|
|
14
|
-
async collectAddition(
|
|
15
|
-
const result = await super.collectAddition(
|
|
14
|
+
async collectAddition() {
|
|
15
|
+
const result = await super.collectAddition();
|
|
16
16
|
const botName = this.element.parentFolder.split(PATH_SEP).pop();
|
|
17
|
-
result.
|
|
18
|
-
target: ManifestTarget.Package,
|
|
19
|
-
type: BOT_TYPE,
|
|
20
|
-
member: botName,
|
|
21
|
-
changeKind: this._getChangeKind(),
|
|
22
|
-
});
|
|
17
|
+
const copies = [...result.copies];
|
|
23
18
|
const botPath = `${parse(this.element.basePath).dir}${PATH_SEP}${botName}.${BOT_EXTENSION}`;
|
|
24
|
-
this._collectCopyWithMetaFile(
|
|
25
|
-
return
|
|
19
|
+
this._collectCopyWithMetaFile(copies, botPath);
|
|
20
|
+
return {
|
|
21
|
+
...result,
|
|
22
|
+
elements: [
|
|
23
|
+
...result.elements,
|
|
24
|
+
{
|
|
25
|
+
target: ManifestTarget.Package,
|
|
26
|
+
type: BOT_TYPE,
|
|
27
|
+
member: botName,
|
|
28
|
+
changeKind: this._getChangeKind(),
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
copies,
|
|
32
|
+
};
|
|
26
33
|
}
|
|
27
34
|
}
|
|
28
35
|
//# sourceMappingURL=botHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botHandler.js","sourceRoot":"","sources":["../../src/service/botHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"botHandler.js","sourceRoot":"","sources":["../../src/service/botHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAA;AAEzD,MAAM,QAAQ,GAAG,KAAK,CAAA;AACtB,MAAM,aAAa,GAAG,KAAK,CAAA;AAE3B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,kBAAkB;IACrC,eAAe;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;QAClE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAY,CAAA;QACzE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,GACd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAC/B,GAAG,QAAQ,GAAG,OAAO,IAAI,aAAa,EAAE,CAAA;QACxC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9C,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB;oBACE,MAAM,EAAE,cAAc,CAAC,OAAO;oBAC9B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE;iBAClC;aACF;YACD,MAAM;SACP,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { ParsedPath } from 'node:path/posix';
|
|
2
|
+
import type { Config } from '../types/config.js';
|
|
2
3
|
import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
|
|
3
|
-
import type { Work } from '../types/work.js';
|
|
4
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
5
4
|
import type { MetadataElement } from '../utils/metadataElement.js';
|
|
6
5
|
import StandardHandler from './standardHandler.js';
|
|
7
6
|
export default class ContainedDecomposedHandler extends StandardHandler {
|
|
8
7
|
protected holderFolder: ParsedPath | undefined;
|
|
9
|
-
constructor(changeType: string, element: MetadataElement,
|
|
10
|
-
collectAddition(
|
|
11
|
-
collectDeletion(
|
|
8
|
+
constructor(changeType: string, element: MetadataElement, config: Config);
|
|
9
|
+
collectAddition(): Promise<HandlerResult>;
|
|
10
|
+
collectDeletion(): Promise<HandlerResult>;
|
|
12
11
|
protected _setholderFolder(): void;
|
|
13
12
|
protected _isDecomposedFormat(): boolean;
|
|
14
13
|
protected _collectDirCopy(copies: CopyOperation[], path: string): void;
|
|
@@ -11,25 +11,26 @@ const PS_DIR_OFFSET_IN_SUBDIR = 3;
|
|
|
11
11
|
const PS_DIR_OFFSET_FLAT = 2;
|
|
12
12
|
export default class ContainedDecomposedHandler extends StandardHandler {
|
|
13
13
|
holderFolder;
|
|
14
|
-
constructor(changeType, element,
|
|
15
|
-
super(changeType, element,
|
|
14
|
+
constructor(changeType, element, config) {
|
|
15
|
+
super(changeType, element, config);
|
|
16
16
|
this._setholderFolder();
|
|
17
17
|
}
|
|
18
|
-
async collectAddition(
|
|
19
|
-
const result = await super.collectAddition(
|
|
20
|
-
if (this._isDecomposedFormat())
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
async collectAddition() {
|
|
19
|
+
const result = await super.collectAddition();
|
|
20
|
+
if (!this._isDecomposedFormat())
|
|
21
|
+
return result;
|
|
22
|
+
const copies = [...result.copies];
|
|
23
|
+
this._collectDirCopy(copies, this._getHolderPath());
|
|
24
|
+
return { ...result, copies };
|
|
24
25
|
}
|
|
25
|
-
async collectDeletion(
|
|
26
|
+
async collectDeletion() {
|
|
26
27
|
if (!this._isDecomposedFormat()) {
|
|
27
|
-
return await super.collectDeletion(
|
|
28
|
+
return await super.collectDeletion();
|
|
28
29
|
}
|
|
29
30
|
if (await this._hasRelatedContent()) {
|
|
30
|
-
return await this.collectModification(
|
|
31
|
+
return await this.collectModification();
|
|
31
32
|
}
|
|
32
|
-
return await super.collectDeletion(
|
|
33
|
+
return await super.collectDeletion();
|
|
33
34
|
}
|
|
34
35
|
_setholderFolder() {
|
|
35
36
|
if (!this._isDecomposedFormat()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containedDecomposedHandler.js","sourceRoot":"","sources":["../../src/service/containedDecomposedHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAc,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"containedDecomposedHandler.js","sourceRoot":"","sources":["../../src/service/containedDecomposedHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
3
2
|
import DecomposedHandler from './decomposedHandler.js';
|
|
4
3
|
export default class CustomFieldHandler extends DecomposedHandler {
|
|
5
|
-
collectAddition(
|
|
4
|
+
collectAddition(): Promise<HandlerResult>;
|
|
6
5
|
}
|
|
@@ -4,18 +4,19 @@ import { contentIncludes } from '../utils/fsHelper.js';
|
|
|
4
4
|
import DecomposedHandler from './decomposedHandler.js';
|
|
5
5
|
import StandardHandler from './standardHandler.js';
|
|
6
6
|
export default class CustomFieldHandler extends DecomposedHandler {
|
|
7
|
-
async collectAddition(
|
|
8
|
-
const result = await StandardHandler.prototype.collectAddition.call(this
|
|
7
|
+
async collectAddition() {
|
|
8
|
+
const result = await StandardHandler.prototype.collectAddition.call(this);
|
|
9
9
|
if (!this._shouldCollectCopies())
|
|
10
10
|
return result;
|
|
11
11
|
// RATIONALE: Why include parent object when deploying Master Detail fields?
|
|
12
12
|
// Master Detail fields require their parent object to exist; deployment fails otherwise.
|
|
13
13
|
// See: https://github.com/scolladon/sfdx-git-delta/wiki/Metadata-Specificities#master-detail-fields
|
|
14
14
|
const isMasterDetail = await contentIncludes(MASTER_DETAIL_TAG, this.element.basePath, this.config);
|
|
15
|
-
if (isMasterDetail)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
if (!isMasterDetail)
|
|
16
|
+
return result;
|
|
17
|
+
const copies = [...result.copies];
|
|
18
|
+
this._collectParentCopies(copies);
|
|
19
|
+
return { ...result, copies };
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=customFieldHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customFieldHandler.js","sourceRoot":"","sources":["../../src/service/customFieldHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"customFieldHandler.js","sourceRoot":"","sources":["../../src/service/customFieldHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,OAAO,iBAAiB,MAAM,wBAAwB,CAAA;AACtD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,iBAAiB;IAC/C,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAO,MAAM,CAAA;QAC/C,4EAA4E;QAC5E,yFAAyF;QACzF,oGAAoG;QACpG,MAAM,cAAc,GAAG,MAAM,eAAe,CAC1C,iBAAiB,EACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,IAAI,CAAC,cAAc;YAAE,OAAO,MAAM,CAAA;QAClC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;CACF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
3
2
|
import InFileHandler from './inFileHandler.js';
|
|
4
3
|
export default class CustomLabelHandler extends InFileHandler {
|
|
5
|
-
collectAddition(
|
|
4
|
+
collectAddition(): Promise<HandlerResult>;
|
|
6
5
|
protected _shouldTreatDeletionAsDeletion(): boolean;
|
|
7
6
|
protected _getQualifiedName(): string;
|
|
8
7
|
protected _delegateFileCopy(): boolean;
|
|
@@ -3,11 +3,11 @@ import { LABEL_DECOMPOSED_SUFFIX } from '../constant/metadataConstants.js';
|
|
|
3
3
|
import InFileHandler from './inFileHandler.js';
|
|
4
4
|
import StandardHandler from './standardHandler.js';
|
|
5
5
|
export default class CustomLabelHandler extends InFileHandler {
|
|
6
|
-
async collectAddition(
|
|
6
|
+
async collectAddition() {
|
|
7
7
|
if (this._isDecomposed()) {
|
|
8
|
-
return await StandardHandler.prototype.collectAddition.call(this
|
|
8
|
+
return await StandardHandler.prototype.collectAddition.call(this);
|
|
9
9
|
}
|
|
10
|
-
return await super.collectAddition(
|
|
10
|
+
return await super.collectAddition();
|
|
11
11
|
}
|
|
12
12
|
_shouldTreatDeletionAsDeletion() {
|
|
13
13
|
return this._isDecomposed();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customLabelHandler.js","sourceRoot":"","sources":["../../src/service/customLabelHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"customLabelHandler.js","sourceRoot":"","sources":["../../src/service/customLabelHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAE1E,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,aAAa;IAC3C,KAAK,CAAC,eAAe;QACnC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO,MAAM,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnE,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEkB,8BAA8B;QAC/C,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEkB,iBAAiB;QAClC,OAAO,EAAE,CAAA;IACX,CAAC;IAEkB,iBAAiB;QAClC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAA;IAC7B,CAAC;IAEkB,cAAc;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+JAA+J;IAC5I,kBAAkB;QACnC,OAAO,KAAK,CAAA;IACd,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,uBAAuB,CAAA;IAC3D,CAAC;CACF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
1
|
+
import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
|
|
3
2
|
import StandardHandler from './standardHandler.js';
|
|
4
3
|
export default class CustomObjectHandler extends StandardHandler {
|
|
5
|
-
collectAddition(
|
|
6
|
-
protected _collectMasterDetailCopies(
|
|
4
|
+
collectAddition(): Promise<HandlerResult>;
|
|
5
|
+
protected _collectMasterDetailCopies(copies: CopyOperation[]): Promise<void>;
|
|
7
6
|
}
|
|
@@ -1,30 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { join, parse } from 'node:path/posix';
|
|
3
3
|
import { FIELD_DIRECTORY_NAME, MASTER_DETAIL_TAG, OBJECT_TYPE, } from '../constant/metadataConstants.js';
|
|
4
|
-
import {
|
|
4
|
+
import { grepContentUnder, pathExists } from '../utils/fsHelper.js';
|
|
5
5
|
import StandardHandler from './standardHandler.js';
|
|
6
6
|
export default class CustomObjectHandler extends StandardHandler {
|
|
7
|
-
async collectAddition(
|
|
8
|
-
const result = await super.collectAddition(
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
async collectAddition() {
|
|
8
|
+
const result = await super.collectAddition();
|
|
9
|
+
const copies = [...result.copies];
|
|
10
|
+
await this._collectMasterDetailCopies(copies);
|
|
11
|
+
return { ...result, copies };
|
|
11
12
|
}
|
|
12
13
|
// RATIONALE: Why copy Master Detail fields when deploying CustomObject?
|
|
13
14
|
// Master Detail fields must be included with their parent object for deployment to succeed.
|
|
14
15
|
// See: https://github.com/scolladon/sfdx-git-delta/wiki/Metadata-Specificities#master-detail-fields
|
|
15
|
-
async _collectMasterDetailCopies(
|
|
16
|
+
async _collectMasterDetailCopies(copies) {
|
|
16
17
|
if (!this._shouldCollectCopies())
|
|
17
18
|
return;
|
|
18
19
|
if (this.element.type.xmlName !== OBJECT_TYPE)
|
|
19
20
|
return;
|
|
20
21
|
const fieldsFolder = join(parse(this.element.basePath).dir, FIELD_DIRECTORY_NAME);
|
|
21
22
|
const exists = await pathExists(fieldsFolder, this.config);
|
|
22
|
-
// Stryker disable next-line ConditionalExpression -- equivalent: existence guard; flipping to false runs
|
|
23
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: existence guard; flipping to false runs grepContentUnder on a non-existent path which returns [] (gitGrep catch swallows and returns empty), so the for-loop iterates 0 times — observably the same as the early return
|
|
23
24
|
if (!exists)
|
|
24
25
|
return;
|
|
25
|
-
const masterDetailsFields = await
|
|
26
|
+
const masterDetailsFields = await grepContentUnder(MASTER_DETAIL_TAG, fieldsFolder, this.config);
|
|
26
27
|
for (const masterDetailField of masterDetailsFields) {
|
|
27
|
-
this._collectCopyWithMetaFile(
|
|
28
|
+
this._collectCopyWithMetaFile(copies, masterDetailField);
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customObjectHandler.js","sourceRoot":"","sources":["../../src/service/customObjectHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,GACZ,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"customObjectHandler.js","sourceRoot":"","sources":["../../src/service/customObjectHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,GACZ,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC9C,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAED,wEAAwE;IACxE,4FAA4F;IAC5F,oGAAoG;IAC1F,KAAK,CAAC,0BAA0B,CACxC,MAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACxC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW;YAAE,OAAM;QAErD,MAAM,YAAY,GAAG,IAAI,CACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAChC,oBAAoB,CACrB,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1D,yRAAyR;QACzR,IAAI,CAAC,MAAM;YAAE,OAAM;QAEnB,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAChD,iBAAiB,EACjB,YAAY,EACZ,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,KAAK,MAAM,iBAAiB,IAAI,mBAAmB,EAAE,CAAC;YACpD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
1
|
+
import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
|
|
3
2
|
import StandardHandler from './standardHandler.js';
|
|
4
3
|
export default class DecomposedHandler extends StandardHandler {
|
|
5
|
-
collectAddition(
|
|
6
|
-
protected _collectParentCopies(copies:
|
|
4
|
+
collectAddition(): Promise<HandlerResult>;
|
|
5
|
+
protected _collectParentCopies(copies: CopyOperation[]): void;
|
|
7
6
|
protected _getElementName(): string;
|
|
8
7
|
protected getParentName(): string;
|
|
9
8
|
}
|
|
@@ -3,10 +3,11 @@ import { dirname, join } from 'node:path/posix';
|
|
|
3
3
|
import { METAFILE_SUFFIX } from '../constant/metadataConstants.js';
|
|
4
4
|
import StandardHandler from './standardHandler.js';
|
|
5
5
|
export default class DecomposedHandler extends StandardHandler {
|
|
6
|
-
async collectAddition(
|
|
7
|
-
const result = await super.collectAddition(
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
async collectAddition() {
|
|
7
|
+
const result = await super.collectAddition();
|
|
8
|
+
const copies = [...result.copies];
|
|
9
|
+
this._collectParentCopies(copies);
|
|
10
|
+
return { ...result, copies };
|
|
10
11
|
}
|
|
11
12
|
_collectParentCopies(copies) {
|
|
12
13
|
const parentType = this.element.getParentType();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decomposedHandler.js","sourceRoot":"","sources":["../../src/service/decomposedHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"decomposedHandler.js","sourceRoot":"","sources":["../../src/service/decomposedHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,eAAe;IAC5C,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAES,oBAAoB,CAAC,MAAuB;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;QAC/C,IAAI,CAAC,UAAU,EAAE,MAAM;YAAE,OAAM;QAE/B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC3C,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAA;QAC1C,MAAM,UAAU,GAAG,IAAI,CACrB,aAAa,EACb,GAAG,cAAc,IAAI,gBAAgB,GAAG,eAAe,EAAE,CAC1D,CAAA;QACD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAEkB,eAAe;QAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAA;QAC3C,OAAO,GAAG,gBAAgB,IAAI,WAAW,EAAE,CAAA;IAC7C,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
|
+
import type { Config } from '../types/config.js';
|
|
2
3
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
3
|
-
import type { Work } from '../types/work.js';
|
|
4
4
|
export default class DiffLineInterpreter {
|
|
5
|
-
protected readonly
|
|
5
|
+
protected readonly config: Config;
|
|
6
6
|
protected readonly metadata: MetadataRepository;
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(config: Config, metadata: MetadataRepository);
|
|
8
8
|
process(lines: Iterable<string> | AsyncIterable<string>, revisions?: {
|
|
9
9
|
from: string;
|
|
10
10
|
to: string;
|
|
@@ -6,32 +6,36 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
import { pushAll } from '../utils/arrayUtils.js';
|
|
9
|
-
import ChangeSet from '../utils/changeSet.js';
|
|
10
9
|
import { BoundedQueue } from '../utils/concurrency/index.js';
|
|
11
10
|
import { getConcurrencyThreshold } from '../utils/concurrencyUtils.js';
|
|
12
11
|
import { log } from '../utils/LoggingDecorator.js';
|
|
13
12
|
import TypeHandlerFactory from './typeHandlerFactory.js';
|
|
14
13
|
export default class DiffLineInterpreter {
|
|
15
|
-
|
|
14
|
+
config;
|
|
16
15
|
metadata;
|
|
17
|
-
constructor(
|
|
18
|
-
this.
|
|
16
|
+
constructor(config, metadata) {
|
|
17
|
+
this.config = config;
|
|
19
18
|
this.metadata = metadata;
|
|
20
19
|
}
|
|
21
20
|
async process(lines, revisions) {
|
|
22
|
-
const
|
|
23
|
-
? { ...this.
|
|
24
|
-
: this.
|
|
25
|
-
const typeHandlerFactory = new TypeHandlerFactory(
|
|
26
|
-
|
|
27
|
-
// per-handler ChangeSet allocation and the merge step that used to fold
|
|
28
|
-
// ~N small ChangeSets together at the end.
|
|
29
|
-
const sink = new ChangeSet();
|
|
21
|
+
const effectiveConfig = revisions
|
|
22
|
+
? { ...this.config, ...revisions }
|
|
23
|
+
: this.config;
|
|
24
|
+
const typeHandlerFactory = new TypeHandlerFactory(effectiveConfig, this.metadata);
|
|
25
|
+
const elements = [];
|
|
30
26
|
const copies = [];
|
|
31
27
|
const warnings = [];
|
|
32
28
|
const MAX_PARALLELISM = getConcurrencyThreshold();
|
|
29
|
+
// The fold is total by construction: pushAll is a plain nested for…of over
|
|
30
|
+
// arrays, so the worker cannot reject on aggregation. That matters because
|
|
31
|
+
// BoundedQueue treats any worker rejection as fatal — it clears `pending`
|
|
32
|
+
// and rejects every drain() waiter — so an aggregation step that could
|
|
33
|
+
// throw would turn a per-file failure into a whole-run abort. Per-file
|
|
34
|
+
// failures are already contained inside StandardHandler.collect, which
|
|
35
|
+
// returns them as warnings rather than rejecting.
|
|
33
36
|
const processor = new BoundedQueue(async (handler) => {
|
|
34
|
-
const result = await handler.collect(
|
|
37
|
+
const result = await handler.collect();
|
|
38
|
+
pushAll(elements, result.elements);
|
|
35
39
|
pushAll(copies, result.copies);
|
|
36
40
|
pushAll(warnings, result.warnings);
|
|
37
41
|
}, MAX_PARALLELISM);
|
|
@@ -43,7 +47,7 @@ export default class DiffLineInterpreter {
|
|
|
43
47
|
processor.push(handler);
|
|
44
48
|
}
|
|
45
49
|
await processor.drain();
|
|
46
|
-
return {
|
|
50
|
+
return { elements, copies, warnings };
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffLineInterpreter.js","sourceRoot":"","sources":["../../src/service/diffLineInterpreter.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;
|
|
1
|
+
{"version":3,"file":"diffLineInterpreter.js","sourceRoot":"","sources":["../../src/service/diffLineInterpreter.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAQZ,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAElD,OAAO,kBAAkB,MAAM,yBAAyB,CAAA;AAExD,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAEjB,MAAM;IACN,QAAQ;IAF7B,YACqB,MAAc,EACd,QAA4B;sBAD5B,MAAM;wBACN,QAAQ;IAC1B,CAAC;IAGS,AAAN,KAAK,CAAC,OAAO,CAClB,KAA+C,EAC/C,SAAwC;QAExC,MAAM,eAAe,GAAG,SAAS;YAC/B,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE;YAClC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAEf,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC/C,eAAe,EACf,IAAI,CAAC,QAAQ,CACd,CAAA;QACD,MAAM,QAAQ,GAAsB,EAAE,CAAA;QACtC,MAAM,MAAM,GAAoB,EAAE,CAAA;QAClC,MAAM,QAAQ,GAAY,EAAE,CAAA;QAC5B,MAAM,eAAe,GAAG,uBAAuB,EAAE,CAAA;QAEjD,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,kDAAkD;QAClD,MAAM,SAAS,GAAG,IAAI,YAAY,CAAkB,KAAK,EAAC,OAAO,EAAC,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;YACtC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAC9B,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpC,CAAC,EAAE,eAAe,CAAC,CAAA;QAEnB,sEAAsE;QACtE,+DAA+D;QAC/D,oCAAoC;QACpC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YAC7D,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;QAEvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IACvC,CAAC;CACF;AA3Cc;IADZ,GAAG;kDA2CH"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
3
2
|
import StandardHandler from './standardHandler.js';
|
|
4
3
|
export default class FlowHandler extends StandardHandler {
|
|
5
|
-
collectDeletion(
|
|
4
|
+
collectDeletion(): Promise<HandlerResult>;
|
|
6
5
|
}
|
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
import { MessageService } from '../utils/MessageService.js';
|
|
3
3
|
import StandardHandler from './standardHandler.js';
|
|
4
4
|
export default class FlowHandler extends StandardHandler {
|
|
5
|
-
async collectDeletion(
|
|
6
|
-
const result = await super.collectDeletion(
|
|
5
|
+
async collectDeletion() {
|
|
6
|
+
const result = await super.collectDeletion();
|
|
7
7
|
const message = new MessageService();
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
return {
|
|
9
|
+
...result,
|
|
10
|
+
warnings: [
|
|
11
|
+
...result.warnings,
|
|
12
|
+
new Error(message.getMessage('warning.FlowDeleted', [this._getElementName()])),
|
|
13
|
+
],
|
|
14
|
+
};
|
|
10
15
|
}
|
|
11
16
|
}
|
|
12
17
|
//# sourceMappingURL=flowHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowHandler.js","sourceRoot":"","sources":["../../src/service/flowHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"flowHandler.js","sourceRoot":"","sources":["../../src/service/flowHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,eAAe;IACtC,KAAK,CAAC,eAAe;QACnC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;QAC5C,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;QACpC,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE;gBACR,GAAG,MAAM,CAAC,QAAQ;gBAClB,IAAI,KAAK,CACP,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CACpE;aACF;SACF,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Config } from '../types/config.js';
|
|
2
|
+
import type { AddKind, HandlerResult, ManifestElement } from '../types/handlerResult.js';
|
|
2
3
|
import { ManifestTarget } from '../types/handlerResult.js';
|
|
3
|
-
import type { Work } from '../types/work.js';
|
|
4
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
5
4
|
import MetadataDiff from '../utils/metadataDiff/index.js';
|
|
6
5
|
import type { MetadataElement } from '../utils/metadataElement.js';
|
|
7
6
|
import StandardHandler from './standardHandler.js';
|
|
8
7
|
export default class InFileHandler extends StandardHandler {
|
|
9
8
|
protected readonly metadataDiff: MetadataDiff;
|
|
10
|
-
constructor(changeType: string, element: MetadataElement,
|
|
11
|
-
collectAddition(
|
|
12
|
-
collectDeletion(
|
|
13
|
-
collectModification(
|
|
14
|
-
protected _collectCompareResult(
|
|
15
|
-
protected _collectManifestFromComparison(
|
|
9
|
+
constructor(changeType: string, element: MetadataElement, config: Config);
|
|
10
|
+
collectAddition(): Promise<HandlerResult>;
|
|
11
|
+
collectDeletion(): Promise<HandlerResult>;
|
|
12
|
+
collectModification(): Promise<HandlerResult>;
|
|
13
|
+
protected _collectCompareResult(): Promise<HandlerResult>;
|
|
14
|
+
protected _collectManifestFromComparison(elements: ManifestElement[], target: ManifestTarget, changeKind: AddKind, entries: {
|
|
16
15
|
type: string;
|
|
17
16
|
member: string;
|
|
18
17
|
}[]): void;
|