sfdx-git-delta 7.1.0 → 7.3.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 +27 -5
- package/lib/adapter/GitAdapter.d.ts +26 -12
- package/lib/adapter/GitAdapter.js +162 -175
- package/lib/adapter/GitAdapter.js.map +1 -1
- package/lib/adapter/ioExecutor.d.ts +6 -7
- package/lib/adapter/ioExecutor.js +22 -22
- 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/treeIndex.d.ts +7 -4
- package/lib/adapter/treeIndex.js +34 -0
- package/lib/adapter/treeIndex.js.map +1 -1
- package/lib/adapter/treeReader.d.ts +8 -0
- package/lib/adapter/treeReader.js +22 -0
- package/lib/adapter/treeReader.js.map +1 -0
- package/lib/commands/sgd/source/delta.d.ts +1 -0
- package/lib/commands/sgd/source/delta.js +5 -0
- package/lib/commands/sgd/source/delta.js.map +1 -1
- package/lib/main.d.ts +2 -2
- package/lib/main.js +84 -37
- package/lib/main.js.map +1 -1
- package/lib/post-processor/baseProcessor.d.ts +11 -8
- package/lib/post-processor/baseProcessor.js +8 -8
- 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 +6 -8
- package/lib/post-processor/flowTranslationProcessor.js +18 -20
- package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
- package/lib/post-processor/includeProcessor.d.ts +6 -6
- package/lib/post-processor/includeProcessor.js +8 -7
- 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 -8
- package/lib/post-processor/postProcessorManager.js +24 -32
- 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 +14 -13
- 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 +11 -10
- 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 -5
- package/lib/service/diffLineInterpreter.js +17 -16
- 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 +25 -25
- package/lib/service/inFileHandler.js.map +1 -1
- package/lib/service/inFolderHandler.d.ts +4 -5
- package/lib/service/inFolderHandler.js +7 -6
- package/lib/service/inFolderHandler.js.map +1 -1
- package/lib/service/inResourceHandler.d.ts +4 -5
- package/lib/service/inResourceHandler.js +11 -9
- 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 +8 -10
- package/lib/service/standardHandler.js +34 -36
- package/lib/service/standardHandler.js.map +1 -1
- package/lib/service/typeHandlerFactory.d.ts +7 -5
- package/lib/service/typeHandlerFactory.js +13 -12
- package/lib/service/typeHandlerFactory.js.map +1 -1
- package/lib/types/config.d.ts +6 -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/runContext.d.ts +21 -0
- package/lib/types/runContext.js +12 -0
- package/lib/types/runContext.js.map +1 -0
- 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 +8 -6
- package/lib/utils/configValidator.js +56 -13
- package/lib/utils/configValidator.js.map +1 -1
- package/lib/utils/fsHelper.d.ts +5 -3
- package/lib/utils/fsHelper.js +12 -9
- 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/metadataBoundaryResolver.d.ts +7 -5
- package/lib/utils/metadataBoundaryResolver.js +18 -21
- package/lib/utils/metadataBoundaryResolver.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 -7
- package/lib/utils/renameResolver.js +10 -9
- package/lib/utils/renameResolver.js.map +1 -1
- package/lib/utils/repoGitDiff.d.ts +3 -0
- package/lib/utils/repoGitDiff.js +30 -1
- package/lib/utils/repoGitDiff.js.map +1 -1
- package/messages/delta.md +38 -0
- package/oclif.manifest.json +10 -3
- package/package.json +23 -22
- 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
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,UAAU,MAAM,yBAAyB,CAAA;AAChD,OAAO,UAAU,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;AAC5E,OAAO,mBAAmB,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
1
|
import type { Config } from '../types/config.js';
|
|
3
2
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
4
|
-
import type {
|
|
3
|
+
import type { RunContext } from '../types/runContext.js';
|
|
4
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
5
|
+
export type ProcessorOutcome = Readonly<{
|
|
6
|
+
warnings: readonly Error[];
|
|
7
|
+
}>;
|
|
8
|
+
export declare const emptyOutcome: () => ProcessorOutcome;
|
|
5
9
|
export default abstract class BaseProcessor {
|
|
6
|
-
protected readonly
|
|
7
|
-
|
|
8
|
-
protected
|
|
9
|
-
constructor(work: Work, metadata: MetadataRepository);
|
|
10
|
+
protected readonly ctx: RunContext;
|
|
11
|
+
constructor(ctx: RunContext);
|
|
12
|
+
protected get config(): Config;
|
|
10
13
|
get isCollector(): boolean;
|
|
11
|
-
abstract process(): Promise<
|
|
12
|
-
transformAndCollect(): Promise<HandlerResult>;
|
|
14
|
+
abstract process(changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
15
|
+
transformAndCollect(_changes: ChangeSet): Promise<HandlerResult>;
|
|
13
16
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { emptyResult } from '../types/handlerResult.js';
|
|
3
|
+
export const emptyOutcome = () => ({ warnings: [] });
|
|
3
4
|
export default class BaseProcessor {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this.
|
|
10
|
-
this.config = work.config;
|
|
5
|
+
ctx;
|
|
6
|
+
constructor(ctx) {
|
|
7
|
+
this.ctx = ctx;
|
|
8
|
+
}
|
|
9
|
+
get config() {
|
|
10
|
+
return this.ctx.config;
|
|
11
11
|
}
|
|
12
12
|
get isCollector() {
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
15
|
-
async transformAndCollect() {
|
|
15
|
+
async transformAndCollect(_changes) {
|
|
16
16
|
return emptyResult();
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseProcessor.js","sourceRoot":"","sources":["../../src/post-processor/baseProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"baseProcessor.js","sourceRoot":"","sources":["../../src/post-processor/baseProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAIZ,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAKvD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAqB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;AAEtE,MAAM,CAAC,OAAO,OAAgB,aAAa;IACV,GAAG;IAAlC,YAA+B,GAAe;mBAAf,GAAG;IAAe,CAAC;IAElD,IAAc,MAAM;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IACxB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IAIM,KAAK,CAAC,mBAAmB,CAC9B,QAAmB;QAEnB,OAAO,WAAW,EAAE,CAAA;IACtB,CAAC;CACF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Manifest } from '../types/work.js';
|
|
2
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
2
3
|
import type { RenameBucket } from '../utils/changeSet.js';
|
|
3
|
-
import BaseProcessor from './baseProcessor.js';
|
|
4
|
+
import BaseProcessor, { type ProcessorOutcome } from './baseProcessor.js';
|
|
4
5
|
type RenameEntry = {
|
|
5
6
|
from: string;
|
|
6
7
|
to: string;
|
|
@@ -8,7 +9,7 @@ type RenameEntry = {
|
|
|
8
9
|
type KindBucket = Record<string, string[]>;
|
|
9
10
|
type RenameTypeBucket = Record<string, RenameEntry[]>;
|
|
10
11
|
export default class ChangesManifestProcessor extends BaseProcessor {
|
|
11
|
-
process(): Promise<
|
|
12
|
+
process(changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
12
13
|
protected _buildKindBucket(manifest: Manifest): KindBucket;
|
|
13
14
|
protected _buildRenameBucket(renames: RenameBucket): RenameTypeBucket;
|
|
14
15
|
}
|
|
@@ -8,20 +8,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
import { ChangeKind } from '../types/handlerResult.js';
|
|
9
9
|
import { outputFile } from '../utils/fsUtils.js';
|
|
10
10
|
import { log } from '../utils/LoggingDecorator.js';
|
|
11
|
-
import BaseProcessor from './baseProcessor.js';
|
|
11
|
+
import BaseProcessor, { emptyOutcome, } from './baseProcessor.js';
|
|
12
12
|
export default class ChangesManifestProcessor extends BaseProcessor {
|
|
13
|
-
async process() {
|
|
13
|
+
async process(changes) {
|
|
14
14
|
// Path resolution policy (see delta.ts flag parsing):
|
|
15
15
|
// - bare `-c` is rewritten to <output>/changes.manifest.json at CLI time
|
|
16
16
|
// - explicit value is resolved against cwd (relative) or used as-is
|
|
17
17
|
// (absolute) — same convention as --ignore-file etc.
|
|
18
18
|
const targetPath = this.config.changesManifest;
|
|
19
19
|
if (!targetPath)
|
|
20
|
-
return;
|
|
20
|
+
return emptyOutcome();
|
|
21
21
|
// ChangeSet.byChangeKind() already coalesces the delete bucket against
|
|
22
22
|
// add/modify/rename, and removes rename participants from add/delete, so
|
|
23
23
|
// the JSON view never lists the same component twice.
|
|
24
|
-
const view =
|
|
24
|
+
const view = changes.byChangeKind();
|
|
25
25
|
const payload = {
|
|
26
26
|
[ChangeKind.Add]: this._buildKindBucket(view[ChangeKind.Add]),
|
|
27
27
|
[ChangeKind.Modify]: this._buildKindBucket(view[ChangeKind.Modify]),
|
|
@@ -29,6 +29,7 @@ export default class ChangesManifestProcessor extends BaseProcessor {
|
|
|
29
29
|
[ChangeKind.Rename]: this._buildRenameBucket(view[ChangeKind.Rename]),
|
|
30
30
|
};
|
|
31
31
|
await outputFile(targetPath, JSON.stringify(payload, null, 2));
|
|
32
|
+
return emptyOutcome();
|
|
32
33
|
}
|
|
33
34
|
_buildKindBucket(manifest) {
|
|
34
35
|
const bucket = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changesManifestProcessor.js","sourceRoot":"","sources":["../../src/post-processor/changesManifestProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"changesManifestProcessor.js","sourceRoot":"","sources":["../../src/post-processor/changesManifestProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAEZ,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAItD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,aAAa,EAAE,EACpB,YAAY,GAEb,MAAM,oBAAoB,CAAA;AAY3B,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,aAAa;IAE3C,AAAN,KAAK,CAAC,OAAO,CAAC,OAAkB;QAC9C,sDAAsD;QACtD,2EAA2E;QAC3E,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAA;QAC9C,IAAI,CAAC,UAAU;YAAE,OAAO,YAAY,EAAE,CAAA;QAEtC,uEAAuE;QACvE,yEAAyE;QACzE,sDAAsD;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAA;QACnC,MAAM,OAAO,GAA0B;YACrC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC7D,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACtE,CAAA;QACD,MAAM,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9D,OAAO,YAAY,EAAE,CAAA;IACvB,CAAC;IAES,gBAAgB,CAAC,QAAkB;QAC3C,MAAM,MAAM,GAAe,EAAE,CAAA;QAC7B,4EAA4E;QAC5E,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAChD,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAES,kBAAkB,CAAC,OAAqB;QAChD,MAAM,MAAM,GAAqB,EAAE,CAAA;QACnC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,MAAM,EAAE,CAAC;iBAC3C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;iBACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QACtB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAzCuB;IADrB,GAAG;uDAqBH"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
3
|
-
import type
|
|
2
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
4
3
|
import { IgnoreHelper } from '../utils/ignoreHelper.js';
|
|
5
4
|
import { type RootCapture } from '../utils/metadataDiff/xmlEventReader.js';
|
|
6
|
-
import BaseProcessor from './baseProcessor.js';
|
|
5
|
+
import BaseProcessor, { type ProcessorOutcome } from './baseProcessor.js';
|
|
7
6
|
interface FlowDefinition {
|
|
8
7
|
fullName?: string;
|
|
9
8
|
[key: string]: unknown;
|
|
@@ -19,11 +18,10 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
19
18
|
protected ignoreHelper: IgnoreHelper | undefined;
|
|
20
19
|
protected isOutputEqualsToRepo: boolean | undefined;
|
|
21
20
|
protected packagedFlows: Set<string>;
|
|
22
|
-
constructor(work: Work, metadata: MetadataRepository);
|
|
23
21
|
get isCollector(): boolean;
|
|
24
|
-
process(): Promise<
|
|
25
|
-
transformAndCollect(): Promise<HandlerResult>;
|
|
26
|
-
_buildFlowDefinitionsMap(): Promise<void>;
|
|
22
|
+
process(_changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
23
|
+
transformAndCollect(changes: ChangeSet): Promise<HandlerResult>;
|
|
24
|
+
_buildFlowDefinitionsMap(changes: ChangeSet): Promise<void>;
|
|
27
25
|
protected _initIgnoreHelper(): Promise<void>;
|
|
28
26
|
protected _canParse(translationPath: string): boolean;
|
|
29
27
|
protected _collectFlowTranslations(): Promise<HandlerResult>;
|
|
@@ -53,6 +51,6 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
53
51
|
translationPath: string;
|
|
54
52
|
flowDefinition: FlowDefinition;
|
|
55
53
|
}): void;
|
|
56
|
-
protected _shouldProcess(): boolean;
|
|
54
|
+
protected _shouldProcess(changes: ChangeSet): boolean;
|
|
57
55
|
}
|
|
58
56
|
export {};
|
|
@@ -10,13 +10,13 @@ import { FLOW_DEFINITIONS_KEY, FLOW_XML_NAME, META_REGEX, METAFILE_SUFFIX, TRANS
|
|
|
10
10
|
import { ChangeKind, CopyOperationKind, emptyResult, ManifestTarget, } from '../types/handlerResult.js';
|
|
11
11
|
import { eachLimit } from '../utils/concurrency/index.js';
|
|
12
12
|
import { getConcurrencyThreshold } from '../utils/concurrencyUtils.js';
|
|
13
|
-
import {
|
|
13
|
+
import { grepContentMatching, readPathFromGit } from '../utils/fsHelper.js';
|
|
14
14
|
import { isSamePath, isSubDir, pathExists, readFile } from '../utils/fsUtils.js';
|
|
15
15
|
import { buildIgnoreHelper } from '../utils/ignoreHelper.js';
|
|
16
16
|
import { log } from '../utils/LoggingDecorator.js';
|
|
17
17
|
import { parseFromSideSwallowing, } from '../utils/metadataDiff/xmlEventReader.js';
|
|
18
18
|
import { writeXmlDocument } from '../utils/metadataDiff/xmlWriter.js';
|
|
19
|
-
import BaseProcessor from './baseProcessor.js';
|
|
19
|
+
import BaseProcessor, { emptyOutcome, } from './baseProcessor.js';
|
|
20
20
|
const TRANSLATIONS_ROOT_KEY = 'Translations';
|
|
21
21
|
const TRANSLATIONS_NAMESPACE = 'http://soap.sforce.com/2006/04/metadata';
|
|
22
22
|
const DEFAULT_XML_HEADER = {
|
|
@@ -40,42 +40,39 @@ const emptyTranslationMerge = () => ({
|
|
|
40
40
|
seenFullNames: new Set(),
|
|
41
41
|
});
|
|
42
42
|
export default class FlowTranslationProcessor extends BaseProcessor {
|
|
43
|
-
translations;
|
|
43
|
+
translations = new Map();
|
|
44
44
|
ignoreHelper;
|
|
45
45
|
isOutputEqualsToRepo;
|
|
46
46
|
packagedFlows = new Set();
|
|
47
|
-
constructor(work, metadata) {
|
|
48
|
-
super(work, metadata);
|
|
49
|
-
this.translations = new Map();
|
|
50
|
-
}
|
|
51
47
|
get isCollector() {
|
|
52
48
|
return true;
|
|
53
49
|
}
|
|
54
|
-
async process() {
|
|
50
|
+
async process(_changes) {
|
|
55
51
|
// No-op: FlowTranslationProcessor is handled via transformAndCollect()
|
|
52
|
+
return emptyOutcome();
|
|
56
53
|
}
|
|
57
|
-
async transformAndCollect() {
|
|
54
|
+
async transformAndCollect(changes) {
|
|
58
55
|
// Stryker disable next-line ConditionalExpression,BlockStatement -- equivalent: the processor short-circuits when there are no flow translations to emit; flipping to false continues into _buildFlowDefinitionsMap which gates again on the same condition via packaged === undefined and returns from there, producing the same empty result
|
|
59
|
-
if (!this._shouldProcess()) {
|
|
56
|
+
if (!this._shouldProcess(changes)) {
|
|
60
57
|
return emptyResult();
|
|
61
58
|
}
|
|
62
|
-
await this._buildFlowDefinitionsMap();
|
|
59
|
+
await this._buildFlowDefinitionsMap(changes);
|
|
63
60
|
return await this._collectFlowTranslations();
|
|
64
61
|
}
|
|
65
|
-
async _buildFlowDefinitionsMap() {
|
|
62
|
+
async _buildFlowDefinitionsMap(changes) {
|
|
66
63
|
this.translations.clear();
|
|
67
64
|
// Cache the package-flow set once per process() invocation — avoids
|
|
68
65
|
// re-computing the union-view of ChangeSet for every parsed flow.
|
|
69
66
|
// _shouldProcess() has already checked has(FLOW_XML_NAME); guard the
|
|
70
67
|
// narrow explicitly so future code-motion doesn't break the invariant.
|
|
71
|
-
const packaged =
|
|
68
|
+
const packaged = changes.forPackageManifest().get(FLOW_XML_NAME);
|
|
72
69
|
// Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — the gate is unreachable when _shouldProcess passes, which is the precondition for being here
|
|
73
70
|
/* v8 ignore next -- defensive: _shouldProcess() already gates on FLOW_XML_NAME presence, so packaged is always defined here */
|
|
74
71
|
if (packaged === undefined)
|
|
75
72
|
return;
|
|
76
73
|
this.packagedFlows = packaged;
|
|
77
74
|
const pathspecs = this.config.source.map(s => `${s}/*${EXTENSION}${METAFILE_SUFFIX}`);
|
|
78
|
-
const translationPaths = await
|
|
75
|
+
const translationPaths = await grepContentMatching(FLOW_DEFINITIONS_KEY, pathspecs, this.config);
|
|
79
76
|
// Eager-init ignoreHelper + isOutputEqualsToRepo BEFORE the parallel
|
|
80
77
|
// loop: under eachLimit multiple workers would otherwise race the
|
|
81
78
|
// `if (!this.ignoreHelper)` guard, each triggering a redundant
|
|
@@ -104,9 +101,10 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
104
101
|
!isSubDir(this.config.output, translationPath)));
|
|
105
102
|
}
|
|
106
103
|
async _collectFlowTranslations() {
|
|
107
|
-
const
|
|
104
|
+
const elements = [];
|
|
105
|
+
const copies = [];
|
|
108
106
|
for (const translationPath of this.translations.keys()) {
|
|
109
|
-
|
|
107
|
+
elements.push({
|
|
110
108
|
target: ManifestTarget.Package,
|
|
111
109
|
type: TRANSLATION_TYPE,
|
|
112
110
|
member: getTranslationName(translationPath),
|
|
@@ -115,7 +113,7 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
115
113
|
if (this.config.generateDelta) {
|
|
116
114
|
const merge = await this._mergeTranslationWithOutput(translationPath);
|
|
117
115
|
this._mergeActualFlows(merge, this.translations.get(translationPath));
|
|
118
|
-
|
|
116
|
+
copies.push({
|
|
119
117
|
kind: CopyOperationKind.StreamedContent,
|
|
120
118
|
path: translationPath,
|
|
121
119
|
writer: async (out) => {
|
|
@@ -124,7 +122,7 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
124
122
|
});
|
|
125
123
|
}
|
|
126
124
|
}
|
|
127
|
-
return
|
|
125
|
+
return { elements, copies, warnings: [] };
|
|
128
126
|
}
|
|
129
127
|
/**
|
|
130
128
|
* Stream-parses the existing output translation file (if any), bucketing
|
|
@@ -226,8 +224,8 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
226
224
|
}
|
|
227
225
|
list.push(flowDefinition);
|
|
228
226
|
}
|
|
229
|
-
_shouldProcess() {
|
|
230
|
-
return
|
|
227
|
+
_shouldProcess(changes) {
|
|
228
|
+
return changes.forPackageManifest().has(FLOW_XML_NAME);
|
|
231
229
|
}
|
|
232
230
|
}
|
|
233
231
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowTranslationProcessor.js","sourceRoot":"","sources":["../../src/post-processor/flowTranslationProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"flowTranslationProcessor.js","sourceRoot":"","sources":["../../src/post-processor/flowTranslationProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAG7C,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,kCAAkC,CAAA;AAMzC,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,cAAc,GACf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAgB,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,EACL,uBAAuB,GAExB,MAAM,yCAAyC,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,OAAO,aAAa,EAAE,EACpB,YAAY,GAEb,MAAM,oBAAoB,CAAA;AAE3B,MAAM,qBAAqB,GAAG,cAAc,CAAA;AAC5C,MAAM,sBAAsB,GAAG,yCAAyC,CAAA;AACxE,MAAM,kBAAkB,GAAe;IACrC,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE;CACtD,CAAA;AACD,MAAM,uBAAuB,GAA2B;IACtD,SAAS,EAAE,sBAAsB;CAClC,CAAA;AAED,MAAM,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAA;AAoB7C,MAAM,kBAAkB,GAAG,CAAC,eAAuB,EAAE,EAAE;AACrD,wTAAwT;AACxT,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAErD,MAAM,qBAAqB,GAAG,GAAqB,EAAE,CAAC,CAAC;IACrD,WAAW,EAAE;QACX,SAAS,EAAE,kBAAkB;QAC7B,OAAO,EAAE,qBAAqB;QAC9B,cAAc,EAAE,uBAAuB;KACxC;IACD,eAAe,EAAE,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC7C,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,IAAI,GAAG,EAAsB;CAC7C,CAAC,CAAA;AAEF,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,aAAa;IAC9C,YAAY,GAAkC,IAAI,GAAG,EAAE,CAAA;IAChE,YAAY,CAA0B;IACtC,oBAAoB,CAAqB;IACzC,aAAa,GAAgB,IAAI,GAAG,EAAE,CAAA;IAEhD,IAAa,WAAW;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAGqB,AAAN,KAAK,CAAC,OAAO,CAC3B,QAAmB;QAEnB,uEAAuE;QACvE,OAAO,YAAY,EAAE,CAAA;IACvB,CAAC;IAEe,KAAK,CAAC,mBAAmB,CACvC,OAAkB;QAElB,+UAA+U;QAC/U,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,WAAW,EAAE,CAAA;QACtB,CAAC;QAED,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAC5C,OAAO,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,OAAkB;QAC/C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;QACzB,oEAAoE;QACpE,kEAAkE;QAClE,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAChE,8KAA8K;QAC9K,+HAA+H;QAC/H,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAM;QAClC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAA;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CACtC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,GAAG,eAAe,EAAE,CAC5C,CAAA;QACD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAChD,oBAAoB,EACpB,SAAS,EACT,IAAI,CAAC,MAAM,CACZ,CAAA;QAED,qEAAqE;QACrE,kEAAkE;QAClE,+DAA+D;QAC/D,0DAA0D;QAC1D,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAE9B,sEAAsE;QACtE,qEAAqE;QACrE,4DAA4D;QAC5D,MAAM,SAAS,CACb,gBAAgB,EAChB,uBAAuB,EAAE,EACzB,KAAK,EAAE,eAAuB,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAA;YACnD,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;IAES,KAAK,CAAC,iBAAiB;QAC/B,IAAI,IAAI,CAAC,YAAY;YAAE,OAAM;QAC7B,IAAI,CAAC,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxD,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9E,CAAC;IAES,SAAS,CAAC,eAAuB;QACzC,sEAAsE;QACtE,6DAA6D;QAC7D,OAAO,CACL,CAAC,IAAI,CAAC,YAAa,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;YACzD,CAAC,IAAI,CAAC,oBAAoB;gBACxB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAClD,CAAA;IACH,CAAC;IAES,KAAK,CAAC,wBAAwB;QACtC,MAAM,QAAQ,GAAsB,EAAE,CAAA;QACtC,MAAM,MAAM,GAAoB,EAAE,CAAA;QAElC,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,cAAc,CAAC,OAAO;gBAC9B,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,kBAAkB,CAAC,eAAe,CAAC;gBAC3C,UAAU,EAAE,UAAU,CAAC,MAAM;aAC9B,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAA;gBACrE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC,CAAA;gBACtE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,iBAAiB,CAAC,eAAe;oBACvC,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,KAAK,EAAE,GAAa,EAAE,EAAE;wBAC9B,MAAM,gBAAgB,CACpB,GAAG,EACH,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,eAAe,CACtB,CAAA;oBACH,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAC3C,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,2BAA2B,CACzC,eAAuB;QAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QAC5D,2NAA2N;QAC3N,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;YAAE,OAAO,qBAAqB,EAAE,CAAA;QACnE,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAA;QACtC,2OAA2O;QAC3O,MAAM,eAAe,GAA+B,EAAE,CAAA;QACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC5C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAA;QACnD,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACtE,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACjC,kVAAkV;YAClV,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,GAAG,GAAG,eAAe,CAAC,MAAM,CAAA;gBAC5B,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAC5B,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC;YACD,eAAe,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtC,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;gBACrC,oNAAoN;gBACpN,aAAa,CAAC,GAAG,CAAE,OAA0B,EAAE,QAAQ,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC,CAAC,CAAA;QACF,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,qBAAqB,EAAE,CAAA;QACpD,IAAI,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACrD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,UAAU,GAAG,eAAe,CAAC,MAAM,CAAA;YACnC,eAAe,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,CAAA;IAC7E,CAAC;IAED;;;;;;;;;OASG;IACO,iBAAiB,CACzB,KAAuB,EACvB,qBAAuC;QAEvC,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAClC,KAAK,CAAC,UAAU,CAChB,CAAC,CAAC,CAAqB,CAAA;QACzB,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAC5C,4KAA4K;YAC5K,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAAE,SAAQ;YACxD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACpB,0EAA0E;YAC1E,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,oEAAoE;IACpE,+DAA+D;IAC/D,kEAAkE;IAClE,iEAAiE;IACjE,kEAAkE;IAClE,mEAAmE;IACnE,mEAAmE;IACnE,YAAY;IACF,KAAK,CAAC,qBAAqB,CAAC,eAAuB;QAC3D,MAAM,MAAM,GAAG,MAAM,eAAe;QAClC,kMAAkM;QAClM,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAC9C,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,MAAM,uBAAuB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;YACzD,wKAAwK;YACxK,2IAA2I;YAC3I,IAAI,OAAO,KAAK,oBAAoB;gBAAE,OAAM;YAC5C,MAAM,cAAc,GAAG,OAAyB,CAAA;YAChD,4GAA4G;YAC5G,4FAA4F;YAC5F,IAAI,CAAC,cAAc,CAAC,QAAQ;gBAAE,OAAM;YACpC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAAE,OAAM;YAC5D,IAAI,CAAC,sBAAsB,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,qEAAqE;IAC3D,sBAAsB,CAAC,EAC/B,eAAe,EACf,cAAc,GAIf;QACC,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACjD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,EAAE,CAAA;YACT,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QAC9C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC3B,CAAC;IAES,cAAc,CAAC,OAAkB;QACzC,OAAO,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACxD,CAAC;CACF;AA/NuB;IADrB,GAAG;uDAMH"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import GitAdapter from '../adapter/GitAdapter.js';
|
|
2
2
|
import { ADDITION, DELETION } from '../constant/gitConstants.js';
|
|
3
|
-
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
4
3
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
5
|
-
import type {
|
|
6
|
-
import
|
|
4
|
+
import type { RunContext } from '../types/runContext.js';
|
|
5
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
6
|
+
import BaseProcessor, { type ProcessorOutcome } from './baseProcessor.js';
|
|
7
7
|
type GitChange = typeof ADDITION | typeof DELETION;
|
|
8
8
|
export default class IncludeProcessor extends BaseProcessor {
|
|
9
9
|
protected readonly gitAdapter: GitAdapter;
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(ctx: RunContext);
|
|
11
11
|
get isCollector(): boolean;
|
|
12
12
|
protected _shouldProcess(): boolean;
|
|
13
|
-
process(): Promise<
|
|
14
|
-
transformAndCollect(): Promise<HandlerResult>;
|
|
13
|
+
process(_changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
14
|
+
transformAndCollect(_changes: ChangeSet): Promise<HandlerResult>;
|
|
15
15
|
protected _gatherIncludeLines(): Promise<Map<GitChange, string[]>>;
|
|
16
16
|
protected _collectIncludes(includeLines: Map<GitChange, string[]>): Promise<HandlerResult>;
|
|
17
17
|
}
|
|
@@ -12,11 +12,11 @@ import DiffLineInterpreter from '../service/diffLineInterpreter.js';
|
|
|
12
12
|
import { emptyResult, mergeResults } from '../types/handlerResult.js';
|
|
13
13
|
import { buildIncludeHelper } from '../utils/ignoreHelper.js';
|
|
14
14
|
import { log } from '../utils/LoggingDecorator.js';
|
|
15
|
-
import BaseProcessor from './baseProcessor.js';
|
|
15
|
+
import BaseProcessor, { emptyOutcome, } from './baseProcessor.js';
|
|
16
16
|
export default class IncludeProcessor extends BaseProcessor {
|
|
17
17
|
gitAdapter;
|
|
18
|
-
constructor(
|
|
19
|
-
super(
|
|
18
|
+
constructor(ctx) {
|
|
19
|
+
super(ctx);
|
|
20
20
|
this.gitAdapter = GitAdapter.getInstance(this.config);
|
|
21
21
|
}
|
|
22
22
|
get isCollector() {
|
|
@@ -25,10 +25,11 @@ export default class IncludeProcessor extends BaseProcessor {
|
|
|
25
25
|
_shouldProcess() {
|
|
26
26
|
return !!this.config.include || !!this.config.includeDestructive;
|
|
27
27
|
}
|
|
28
|
-
async process() {
|
|
28
|
+
async process(_changes) {
|
|
29
29
|
// No-op: IncludeProcessor is handled via transformAndCollect()
|
|
30
|
+
return emptyOutcome();
|
|
30
31
|
}
|
|
31
|
-
async transformAndCollect() {
|
|
32
|
+
async transformAndCollect(_changes) {
|
|
32
33
|
if (!this._shouldProcess()) {
|
|
33
34
|
return emptyResult();
|
|
34
35
|
}
|
|
@@ -39,7 +40,7 @@ export default class IncludeProcessor extends BaseProcessor {
|
|
|
39
40
|
const includeHelper = await buildIncludeHelper(this.config);
|
|
40
41
|
const includeLines = new Map();
|
|
41
42
|
const gitChanges = [ADDITION, DELETION];
|
|
42
|
-
const lines =
|
|
43
|
+
const lines = this.ctx.trees.filesUnder(this.config.to, this.config.source);
|
|
43
44
|
for (const line of lines) {
|
|
44
45
|
gitChanges.forEach((changeType) => {
|
|
45
46
|
const changedLine = `${changeType}${TAB}${line}`;
|
|
@@ -60,7 +61,7 @@ export default class IncludeProcessor extends BaseProcessor {
|
|
|
60
61
|
return emptyResult();
|
|
61
62
|
}
|
|
62
63
|
const firstSHA = await this.gitAdapter.getFirstCommitRef();
|
|
63
|
-
const lineProcessor = new DiffLineInterpreter(this.
|
|
64
|
+
const lineProcessor = new DiffLineInterpreter(this.ctx);
|
|
64
65
|
const results = [];
|
|
65
66
|
if (includeLines.has(ADDITION)) {
|
|
66
67
|
const result = await lineProcessor.process(includeLines.get(ADDITION), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"includeProcessor.js","sourceRoot":"","sources":["../../src/post-processor/includeProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AACZ,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"includeProcessor.js","sourceRoot":"","sources":["../../src/post-processor/includeProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AACZ,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAElD,OAAO,aAAa,EAAE,EACpB,YAAY,GAEb,MAAM,oBAAoB,CAAA;AAI3B,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,aAAa;IACtC,UAAU,CAAY;IACzC,YAAY,GAAe;QACzB,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACvD,CAAC;IAED,IAAa,WAAW;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAES,cAAc;QACtB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAA;IAClE,CAAC;IAGqB,AAAN,KAAK,CAAC,OAAO,CAC3B,QAAmB;QAEnB,+DAA+D;QAC/D,OAAO,YAAY,EAAE,CAAA;IACvB,CAAC;IAEe,KAAK,CAAC,mBAAmB,CACvC,QAAmB;QAEnB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,OAAO,WAAW,EAAE,CAAA;QACtB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACrD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAClD,CAAC;IAES,KAAK,CAAC,mBAAmB;QACjC,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAA;QACnD,MAAM,UAAU,GAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACpD,MAAM,KAAK,GAAa,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,UAAU,CAAC,OAAO,CAAC,CAAC,UAAqB,EAAE,EAAE;gBAC3C,MAAM,WAAW,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,IAAI,EAAE,CAAA;gBAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBAClC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;oBAClC,CAAC;oBACD,2NAA2N;oBAC3N,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;gBACjD,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,YAAsC;QAEtC,2PAA2P;QAC3P,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,WAAW,EAAE,CAAA;QACtB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAA;QAC1D,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvD,MAAM,OAAO,GAAoB,EAAE,CAAA;QAEnC,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE;gBACtE,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;aACnB,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QAED,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAE,EAAE;gBACtE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;gBACpB,EAAE,EAAE,QAAQ;aACb,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QAED,OAAO,YAAY,CAAC,GAAG,OAAO,CAAC,CAAA;IACjC,CAAC;CACF;AAvEuB;IADrB,GAAG;+CAMH"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
2
|
+
import BaseProcessor, { type ProcessorOutcome } from './baseProcessor.js';
|
|
2
3
|
export default class PackageGenerator extends BaseProcessor {
|
|
3
|
-
process(): Promise<
|
|
4
|
+
process(changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
4
5
|
private _writeManifest;
|
|
5
6
|
}
|
|
@@ -9,18 +9,18 @@ import { createWriteStream, promises as fsPromises } from 'node:fs';
|
|
|
9
9
|
import { dirname, join } from 'node:path/posix';
|
|
10
10
|
import { log } from '../utils/LoggingDecorator.js';
|
|
11
11
|
import PackageBuilder from '../utils/packageHelper.js';
|
|
12
|
-
import BaseProcessor from './baseProcessor.js';
|
|
12
|
+
import BaseProcessor, { emptyOutcome, } from './baseProcessor.js';
|
|
13
13
|
const DESTRUCTIVE_CHANGES_FILE_NAME = 'destructiveChanges';
|
|
14
14
|
const PACKAGE_FILE_NAME = 'package';
|
|
15
15
|
const XML_FILE_EXTENSION = 'xml';
|
|
16
16
|
export default class PackageGenerator extends BaseProcessor {
|
|
17
|
-
async process() {
|
|
17
|
+
async process(changes) {
|
|
18
18
|
const builder = new PackageBuilder(this.config);
|
|
19
19
|
// ChangeSet.forDestructiveManifest() already cancels delete entries that
|
|
20
20
|
// have been re-added or re-modified in the same diff — no local cleanup
|
|
21
21
|
// needed here.
|
|
22
|
-
const destructiveManifest =
|
|
23
|
-
const packageManifest =
|
|
22
|
+
const destructiveManifest = changes.forDestructiveManifest();
|
|
23
|
+
const packageManifest = changes.forPackageManifest();
|
|
24
24
|
const ops = [
|
|
25
25
|
{
|
|
26
26
|
filename: `${DESTRUCTIVE_CHANGES_FILE_NAME}.${XML_FILE_EXTENSION}`,
|
|
@@ -39,6 +39,7 @@ export default class PackageGenerator extends BaseProcessor {
|
|
|
39
39
|
},
|
|
40
40
|
];
|
|
41
41
|
await Promise.all(ops.map(op => this._writeManifest(builder, op)));
|
|
42
|
+
return emptyOutcome();
|
|
42
43
|
}
|
|
43
44
|
async _writeManifest(builder, op) {
|
|
44
45
|
const dst = join(this.config.output, op.folder, op.filename);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageGenerator.js","sourceRoot":"","sources":["../../src/post-processor/packageGenerator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAEZ,OAAO,EAAE,iBAAiB,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"packageGenerator.js","sourceRoot":"","sources":["../../src/post-processor/packageGenerator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AAEZ,OAAO,EAAE,iBAAiB,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,cAAc,MAAM,2BAA2B,CAAA;AACtD,OAAO,aAAa,EAAE,EACpB,YAAY,GAEb,MAAM,oBAAoB,CAAA;AAE3B,MAAM,6BAA6B,GAAG,oBAAoB,CAAA;AAC1D,MAAM,iBAAiB,GAAG,SAAS,CAAA;AACnC,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAQhC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,aAAa;IAEnC,AAAN,KAAK,CAAC,OAAO,CAAC,OAAkB;QAC9C,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/C,yEAAyE;QACzE,wEAAwE;QACxE,eAAe;QACf,MAAM,mBAAmB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAA;QAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAA;QACpD,MAAM,GAAG,GAAc;YACrB;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,CAAA;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAClE,OAAO,YAAY,EAAE,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAAuB,EACvB,EAAW;QAEX,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAA;QAC5D,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzD,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACjD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,uHAAuH;YACvH,EAAE,CAAC,GAAG,CAAC,CAAC,GAAkB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAzCuB;IADrB,GAAG;+CA2BH"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
3
|
-
import type {
|
|
2
|
+
import type { RunContext } from '../types/runContext.js';
|
|
3
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
4
4
|
import BaseProcessor from './baseProcessor.js';
|
|
5
5
|
export default class PostProcessorManager {
|
|
6
|
-
protected readonly work: Work;
|
|
7
6
|
protected readonly processors: BaseProcessor[];
|
|
8
7
|
protected readonly collectors: BaseProcessor[];
|
|
9
|
-
constructor(work: Work);
|
|
10
8
|
use(postProcessor: BaseProcessor): this;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
collectAll(): Promise<HandlerResult>;
|
|
9
|
+
executeRemaining(changes: ChangeSet): Promise<readonly Error[]>;
|
|
10
|
+
collectAll(changes: ChangeSet): Promise<HandlerResult>;
|
|
14
11
|
private _safeProcess;
|
|
15
12
|
}
|
|
16
|
-
export declare const getPostProcessors: (
|
|
13
|
+
export declare const getPostProcessors: (ctx: RunContext) => PostProcessorManager;
|
|
@@ -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
|
-
// Stryker disable next-line StringLiteral -- equivalent: lazy log content
|
|
43
|
+
// Stryker disable next-line StringLiteral,CallExpression -- equivalent: lazy log content AND the call itself are observability only; this file mocks LoggingService, and tests assert on the wrapped warning and the failed result push, not on the emission
|
|
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
|
|
62
|
+
// Stryker disable next-line StringLiteral,CallExpression -- equivalent: lazy log content AND the call itself are observability only; this file mocks LoggingService, and tests assert on the wrapped warning returned to the caller, not on the emission
|
|
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 = (ctx) => {
|
|
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(ctx);
|
|
81
73
|
postProcessor.use(instance);
|
|
82
74
|
}
|
|
83
75
|
return postProcessor;
|