sfdx-git-delta 7.1.0 → 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 +11 -2
- package/lib/adapter/GitAdapter.d.ts +10 -2
- package/lib/adapter/GitAdapter.js +62 -84
- package/lib/adapter/GitAdapter.js.map +1 -1
- package/lib/adapter/ioExecutor.d.ts +1 -1
- 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/commands/sgd/source/delta.js.map +1 -1
- package/lib/main.d.ts +2 -2
- package/lib/main.js +63 -34
- 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 +19 -17
- 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 +24 -24
- 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/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 +16 -15
- 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
CHANGED
|
@@ -4,27 +4,29 @@ import IOExecutor from './adapter/ioExecutor.js';
|
|
|
4
4
|
import { getDefinition } from './metadata/metadataManager.js';
|
|
5
5
|
import { getPostProcessors } from './post-processor/postProcessorManager.js';
|
|
6
6
|
import DiffLineInterpreter from './service/diffLineInterpreter.js';
|
|
7
|
-
import { mergeResults } from './types/handlerResult.js';
|
|
8
|
-
import { pushAll } from './utils/arrayUtils.js';
|
|
9
7
|
import ChangeSet from './utils/changeSet.js';
|
|
8
|
+
import { assembleChanges } from './utils/changesAssembly.js';
|
|
10
9
|
import ConfigValidator from './utils/configValidator.js';
|
|
11
10
|
import { Logger, lazy } from './utils/LoggingService.js';
|
|
11
|
+
import { MessageService } from './utils/MessageService.js';
|
|
12
|
+
import { sanitizeForMessage } from './utils/messageSanitizer.js';
|
|
13
|
+
import { parseSourceDirs } from './utils/pathspec.js';
|
|
12
14
|
import RenameResolver from './utils/renameResolver.js';
|
|
13
15
|
import RepoGitDiff from './utils/repoGitDiff.js';
|
|
14
16
|
import { computeTreeIndexScope } from './utils/treeIndexScope.js';
|
|
15
|
-
export default async (
|
|
17
|
+
export default async (configInput) => {
|
|
16
18
|
// Stryker disable next-line StringLiteral -- equivalent: log content is observability only; tests assert on the returned Work, not lazy log lines
|
|
17
19
|
Logger.trace('main: entry');
|
|
18
20
|
// Stryker disable next-line StringLiteral -- equivalent: log content is observability only
|
|
19
|
-
Logger.debug(lazy `main: arguments ${
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
Logger.debug(lazy `main: arguments ${configInput}`);
|
|
22
|
+
const { pathspecs, rejections } = parseSourceDirs(configInput.source ?? []);
|
|
23
|
+
const config = { ...configInput, source: pathspecs };
|
|
24
|
+
// Captured before validateConfig() resolves them to full SHAs below, so
|
|
25
|
+
// the unmatched-scope warning can report what the user typed.
|
|
26
|
+
const requestedFrom = config.from;
|
|
27
|
+
const requestedTo = config.to;
|
|
25
28
|
try {
|
|
26
|
-
const
|
|
27
|
-
await configValidator.validateConfig();
|
|
29
|
+
const configWarnings = await new ConfigValidator(config, rejections).validateConfig();
|
|
28
30
|
const metadata = await getDefinition(config);
|
|
29
31
|
const repoGitDiffHelper = new RepoGitDiff(config, metadata);
|
|
30
32
|
// The treeIndex scope read needs the full path set up front, so when
|
|
@@ -60,33 +62,60 @@ export default async (config) => {
|
|
|
60
62
|
]);
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
|
-
const lineProcessor = new DiffLineInterpreter(
|
|
64
|
-
const postProcessors = getPostProcessors(
|
|
65
|
-
// First pass: build the
|
|
66
|
-
// (
|
|
67
|
-
//
|
|
65
|
+
const lineProcessor = new DiffLineInterpreter(config, metadata);
|
|
66
|
+
const postProcessors = getPostProcessors(config, metadata);
|
|
67
|
+
// First pass: build the read model from handler output alone so collectors
|
|
68
|
+
// (FlowTranslationProcessor) introspect the handler-pass package view before
|
|
69
|
+
// include lines exist.
|
|
68
70
|
const handlerResult = await lineProcessor.process(lines);
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
//
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
71
|
+
const handlerView = ChangeSet.from(handlerResult.elements); // handler pass ONLY
|
|
72
|
+
const postResult = await postProcessors.collectAll(handlerView);
|
|
73
|
+
// Resolve git-detected renames — the `{fromPath, toPath}` pairs
|
|
74
|
+
// RepoGitDiff captured from `-M` output — into (type, from, to) triples.
|
|
75
|
+
// Pairs for ignored paths or bundle helper files (same member on both
|
|
76
|
+
// sides) resolve to no triple.
|
|
77
|
+
const renameTriples = await new RenameResolver(config, metadata).resolve(repoGitDiffHelper.getRenamePairs());
|
|
78
|
+
const { changes, copies, warnings: assemblyWarnings, } = assembleChanges(handlerResult, postResult, renameTriples);
|
|
79
|
+
await new IOExecutor(config).execute(copies);
|
|
80
|
+
const processorWarnings = await postProcessors.executeRemaining(changes);
|
|
81
|
+
// The diff is fully drained by this point (the same assumption
|
|
82
|
+
// getRenamePairs() above already relies on), so the per-scope
|
|
83
|
+
// counters are final. Only warn when the run produced no visible
|
|
84
|
+
// changes at all — a non-empty manifest (e.g. members sourced by
|
|
85
|
+
// --include-file independent of the diff) means the scope did its
|
|
86
|
+
// job, so naming it as unmatched would be misleading.
|
|
87
|
+
const unmatchedScopes = repoGitDiffHelper.getUnmatchedSourceScopes();
|
|
88
|
+
const sourceScopeWarnings = unmatchedScopes.length > 0 && changes.isEmpty()
|
|
89
|
+
? [
|
|
90
|
+
new Error(new MessageService().getMessage('warning.SourceDirMatchedNothing', [
|
|
91
|
+
// Sanitize each scope before joining: the length cap in
|
|
92
|
+
// sanitizeForMessage must apply per scope, not to the
|
|
93
|
+
// joined aggregate, or one long scope name silently
|
|
94
|
+
// elides every scope listed after it.
|
|
95
|
+
unmatchedScopes.map(sanitizeForMessage).join(', '),
|
|
96
|
+
requestedFrom,
|
|
97
|
+
requestedTo,
|
|
98
|
+
])),
|
|
99
|
+
]
|
|
100
|
+
: [];
|
|
101
|
+
const work = {
|
|
102
|
+
config,
|
|
103
|
+
changes,
|
|
104
|
+
warnings: [
|
|
105
|
+
...configWarnings,
|
|
106
|
+
...assemblyWarnings,
|
|
107
|
+
...processorWarnings,
|
|
108
|
+
...sourceScopeWarnings,
|
|
109
|
+
],
|
|
110
|
+
};
|
|
111
|
+
// Stryker disable next-line StringLiteral -- equivalent: log content is observability only
|
|
112
|
+
Logger.debug(lazy `main: return ${work}`);
|
|
113
|
+
// Stryker disable next-line StringLiteral -- equivalent: log content is observability only
|
|
114
|
+
Logger.trace('main: exit');
|
|
115
|
+
return work;
|
|
82
116
|
}
|
|
83
117
|
finally {
|
|
84
118
|
await GitAdapter.closeAll();
|
|
85
119
|
}
|
|
86
|
-
// Stryker disable next-line StringLiteral -- equivalent: log content is observability only
|
|
87
|
-
Logger.debug(lazy `main: return ${work}`);
|
|
88
|
-
// Stryker disable next-line StringLiteral -- equivalent: log content is observability only
|
|
89
|
-
Logger.trace('main: exit');
|
|
90
|
-
return work;
|
|
91
120
|
};
|
|
92
121
|
//# sourceMappingURL=main.js.map
|
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
1
|
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
2
|
import type { Config } from '../types/config.js';
|
|
3
3
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
4
|
-
import type
|
|
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 work: Work;
|
|
7
|
-
protected readonly metadata: MetadataRepository;
|
|
8
10
|
protected readonly config: Config;
|
|
9
|
-
|
|
11
|
+
protected readonly metadata: MetadataRepository;
|
|
12
|
+
constructor(config: Config, metadata: MetadataRepository);
|
|
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,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
import { emptyResult } from '../types/handlerResult.js';
|
|
3
|
+
export const emptyOutcome = () => ({ warnings: [] });
|
|
3
4
|
export default class BaseProcessor {
|
|
4
|
-
work;
|
|
5
|
-
metadata;
|
|
6
5
|
config;
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
metadata;
|
|
7
|
+
constructor(config, metadata) {
|
|
8
|
+
this.config = config;
|
|
9
9
|
this.metadata = metadata;
|
|
10
|
-
this.config = work.config;
|
|
11
10
|
}
|
|
12
11
|
get isCollector() {
|
|
13
12
|
return false;
|
|
14
13
|
}
|
|
15
|
-
async transformAndCollect() {
|
|
14
|
+
async transformAndCollect(_changes) {
|
|
16
15
|
return emptyResult();
|
|
17
16
|
}
|
|
18
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseProcessor.js","sourceRoot":"","sources":["../../src/post-processor/baseProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAKZ,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"baseProcessor.js","sourceRoot":"","sources":["../../src/post-processor/baseProcessor.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAKZ,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAIvD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAqB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;AAEtE,MAAM,CAAC,OAAO,OAAgB,aAAa;IAEpB,MAAM;IACN,QAAQ;IAF7B,YACqB,MAAc,EACd,QAA4B;sBAD5B,MAAM;wBACN,QAAQ;IAC1B,CAAC;IAEJ,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,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
|
|
4
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
4
5
|
import { IgnoreHelper } from '../utils/ignoreHelper.js';
|
|
5
6
|
import { type RootCapture } from '../utils/metadataDiff/xmlEventReader.js';
|
|
6
|
-
import BaseProcessor from './baseProcessor.js';
|
|
7
|
+
import BaseProcessor, { type ProcessorOutcome } from './baseProcessor.js';
|
|
7
8
|
interface FlowDefinition {
|
|
8
9
|
fullName?: string;
|
|
9
10
|
[key: string]: unknown;
|
|
@@ -19,11 +20,11 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
19
20
|
protected ignoreHelper: IgnoreHelper | undefined;
|
|
20
21
|
protected isOutputEqualsToRepo: boolean | undefined;
|
|
21
22
|
protected packagedFlows: Set<string>;
|
|
22
|
-
constructor(
|
|
23
|
+
constructor(config: Config, metadata: MetadataRepository);
|
|
23
24
|
get isCollector(): boolean;
|
|
24
|
-
process(): Promise<
|
|
25
|
-
transformAndCollect(): Promise<HandlerResult>;
|
|
26
|
-
_buildFlowDefinitionsMap(): Promise<void>;
|
|
25
|
+
process(_changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
26
|
+
transformAndCollect(changes: ChangeSet): Promise<HandlerResult>;
|
|
27
|
+
_buildFlowDefinitionsMap(changes: ChangeSet): Promise<void>;
|
|
27
28
|
protected _initIgnoreHelper(): Promise<void>;
|
|
28
29
|
protected _canParse(translationPath: string): boolean;
|
|
29
30
|
protected _collectFlowTranslations(): Promise<HandlerResult>;
|
|
@@ -53,6 +54,6 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
53
54
|
translationPath: string;
|
|
54
55
|
flowDefinition: FlowDefinition;
|
|
55
56
|
}): void;
|
|
56
|
-
protected _shouldProcess(): boolean;
|
|
57
|
+
protected _shouldProcess(changes: ChangeSet): boolean;
|
|
57
58
|
}
|
|
58
59
|
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 = {
|
|
@@ -44,38 +44,39 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
44
44
|
ignoreHelper;
|
|
45
45
|
isOutputEqualsToRepo;
|
|
46
46
|
packagedFlows = new Set();
|
|
47
|
-
constructor(
|
|
48
|
-
super(
|
|
47
|
+
constructor(config, metadata) {
|
|
48
|
+
super(config, metadata);
|
|
49
49
|
this.translations = new Map();
|
|
50
50
|
}
|
|
51
51
|
get isCollector() {
|
|
52
52
|
return true;
|
|
53
53
|
}
|
|
54
|
-
async process() {
|
|
54
|
+
async process(_changes) {
|
|
55
55
|
// No-op: FlowTranslationProcessor is handled via transformAndCollect()
|
|
56
|
+
return emptyOutcome();
|
|
56
57
|
}
|
|
57
|
-
async transformAndCollect() {
|
|
58
|
+
async transformAndCollect(changes) {
|
|
58
59
|
// 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()) {
|
|
60
|
+
if (!this._shouldProcess(changes)) {
|
|
60
61
|
return emptyResult();
|
|
61
62
|
}
|
|
62
|
-
await this._buildFlowDefinitionsMap();
|
|
63
|
+
await this._buildFlowDefinitionsMap(changes);
|
|
63
64
|
return await this._collectFlowTranslations();
|
|
64
65
|
}
|
|
65
|
-
async _buildFlowDefinitionsMap() {
|
|
66
|
+
async _buildFlowDefinitionsMap(changes) {
|
|
66
67
|
this.translations.clear();
|
|
67
68
|
// Cache the package-flow set once per process() invocation — avoids
|
|
68
69
|
// re-computing the union-view of ChangeSet for every parsed flow.
|
|
69
70
|
// _shouldProcess() has already checked has(FLOW_XML_NAME); guard the
|
|
70
71
|
// narrow explicitly so future code-motion doesn't break the invariant.
|
|
71
|
-
const packaged =
|
|
72
|
+
const packaged = changes.forPackageManifest().get(FLOW_XML_NAME);
|
|
72
73
|
// Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — the gate is unreachable when _shouldProcess passes, which is the precondition for being here
|
|
73
74
|
/* v8 ignore next -- defensive: _shouldProcess() already gates on FLOW_XML_NAME presence, so packaged is always defined here */
|
|
74
75
|
if (packaged === undefined)
|
|
75
76
|
return;
|
|
76
77
|
this.packagedFlows = packaged;
|
|
77
78
|
const pathspecs = this.config.source.map(s => `${s}/*${EXTENSION}${METAFILE_SUFFIX}`);
|
|
78
|
-
const translationPaths = await
|
|
79
|
+
const translationPaths = await grepContentMatching(FLOW_DEFINITIONS_KEY, pathspecs, this.config);
|
|
79
80
|
// Eager-init ignoreHelper + isOutputEqualsToRepo BEFORE the parallel
|
|
80
81
|
// loop: under eachLimit multiple workers would otherwise race the
|
|
81
82
|
// `if (!this.ignoreHelper)` guard, each triggering a redundant
|
|
@@ -104,9 +105,10 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
104
105
|
!isSubDir(this.config.output, translationPath)));
|
|
105
106
|
}
|
|
106
107
|
async _collectFlowTranslations() {
|
|
107
|
-
const
|
|
108
|
+
const elements = [];
|
|
109
|
+
const copies = [];
|
|
108
110
|
for (const translationPath of this.translations.keys()) {
|
|
109
|
-
|
|
111
|
+
elements.push({
|
|
110
112
|
target: ManifestTarget.Package,
|
|
111
113
|
type: TRANSLATION_TYPE,
|
|
112
114
|
member: getTranslationName(translationPath),
|
|
@@ -115,7 +117,7 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
115
117
|
if (this.config.generateDelta) {
|
|
116
118
|
const merge = await this._mergeTranslationWithOutput(translationPath);
|
|
117
119
|
this._mergeActualFlows(merge, this.translations.get(translationPath));
|
|
118
|
-
|
|
120
|
+
copies.push({
|
|
119
121
|
kind: CopyOperationKind.StreamedContent,
|
|
120
122
|
path: translationPath,
|
|
121
123
|
writer: async (out) => {
|
|
@@ -124,7 +126,7 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
124
126
|
});
|
|
125
127
|
}
|
|
126
128
|
}
|
|
127
|
-
return
|
|
129
|
+
return { elements, copies, warnings: [] };
|
|
128
130
|
}
|
|
129
131
|
/**
|
|
130
132
|
* Stream-parses the existing output translation file (if any), bucketing
|
|
@@ -226,8 +228,8 @@ export default class FlowTranslationProcessor extends BaseProcessor {
|
|
|
226
228
|
}
|
|
227
229
|
list.push(flowDefinition);
|
|
228
230
|
}
|
|
229
|
-
_shouldProcess() {
|
|
230
|
-
return
|
|
231
|
+
_shouldProcess(changes) {
|
|
232
|
+
return changes.forPackageManifest().has(FLOW_XML_NAME);
|
|
231
233
|
}
|
|
232
234
|
}
|
|
233
235
|
__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":"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"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import GitAdapter from '../adapter/GitAdapter.js';
|
|
2
2
|
import { ADDITION, DELETION } from '../constant/gitConstants.js';
|
|
3
3
|
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
4
|
+
import type { Config } from '../types/config.js';
|
|
4
5
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
5
|
-
import type
|
|
6
|
-
import BaseProcessor from './baseProcessor.js';
|
|
6
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
7
|
+
import BaseProcessor, { type ProcessorOutcome } from './baseProcessor.js';
|
|
7
8
|
type GitChange = typeof ADDITION | typeof DELETION;
|
|
8
9
|
export default class IncludeProcessor extends BaseProcessor {
|
|
9
10
|
protected readonly gitAdapter: GitAdapter;
|
|
10
|
-
constructor(
|
|
11
|
+
constructor(config: Config, metadata: MetadataRepository);
|
|
11
12
|
get isCollector(): boolean;
|
|
12
13
|
protected _shouldProcess(): boolean;
|
|
13
|
-
process(): Promise<
|
|
14
|
-
transformAndCollect(): Promise<HandlerResult>;
|
|
14
|
+
process(_changes: ChangeSet): Promise<ProcessorOutcome>;
|
|
15
|
+
transformAndCollect(_changes: ChangeSet): Promise<HandlerResult>;
|
|
15
16
|
protected _gatherIncludeLines(): Promise<Map<GitChange, string[]>>;
|
|
16
17
|
protected _collectIncludes(includeLines: Map<GitChange, string[]>): Promise<HandlerResult>;
|
|
17
18
|
}
|
|
@@ -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(config, metadata) {
|
|
19
|
+
super(config, metadata);
|
|
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
|
}
|
|
@@ -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.config, this.metadata);
|
|
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;AAEhE,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"includeProcessor.js","sourceRoot":"","sources":["../../src/post-processor/includeProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,14 @@
|
|
|
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
|
|
4
|
+
import type ChangeSet from '../utils/changeSet.js';
|
|
4
5
|
import BaseProcessor from './baseProcessor.js';
|
|
5
6
|
export default class PostProcessorManager {
|
|
6
|
-
protected readonly work: Work;
|
|
7
7
|
protected readonly processors: BaseProcessor[];
|
|
8
8
|
protected readonly collectors: BaseProcessor[];
|
|
9
|
-
constructor(work: Work);
|
|
10
9
|
use(postProcessor: BaseProcessor): this;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
collectAll(): Promise<HandlerResult>;
|
|
10
|
+
executeRemaining(changes: ChangeSet): Promise<readonly Error[]>;
|
|
11
|
+
collectAll(changes: ChangeSet): Promise<HandlerResult>;
|
|
14
12
|
private _safeProcess;
|
|
15
13
|
}
|
|
16
|
-
export declare const getPostProcessors: (
|
|
14
|
+
export declare const getPostProcessors: (config: Config, metadata: MetadataRepository) => PostProcessorManager;
|