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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inFileHandler.js","sourceRoot":"","sources":["../../src/service/inFileHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"inFileHandler.js","sourceRoot":"","sources":["../../src/service/inFileHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
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 InFolderHandler extends StandardHandler {
|
|
5
|
-
collectAddition(
|
|
6
|
-
protected _collectFolderMetaCopies(copies:
|
|
7
|
-
protected _collectSpecialExtensionCopies(copies:
|
|
4
|
+
collectAddition(): Promise<HandlerResult>;
|
|
5
|
+
protected _collectFolderMetaCopies(copies: CopyOperation[]): void;
|
|
6
|
+
protected _collectSpecialExtensionCopies(copies: CopyOperation[]): Promise<void>;
|
|
8
7
|
protected _getElementName(): string;
|
|
9
8
|
protected _isProcessable(): boolean;
|
|
10
9
|
}
|
|
@@ -6,11 +6,12 @@ import { readDirs } from '../utils/fsHelper.js';
|
|
|
6
6
|
import StandardHandler from './standardHandler.js';
|
|
7
7
|
const INFOLDER_SUFFIX_REGEX = new RegExp(`${INFOLDER_SUFFIX}$`);
|
|
8
8
|
export default class InFolderHandler extends StandardHandler {
|
|
9
|
-
async collectAddition(
|
|
10
|
-
const result = await super.collectAddition(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
async collectAddition() {
|
|
10
|
+
const result = await super.collectAddition();
|
|
11
|
+
const copies = [...result.copies];
|
|
12
|
+
this._collectFolderMetaCopies(copies);
|
|
13
|
+
await this._collectSpecialExtensionCopies(copies);
|
|
14
|
+
return { ...result, copies };
|
|
14
15
|
}
|
|
15
16
|
_collectFolderMetaCopies(copies) {
|
|
16
17
|
const folderPath = this.element.typeDirectoryPath;
|
|
@@ -25,7 +26,7 @@ export default class InFolderHandler extends StandardHandler {
|
|
|
25
26
|
if (!this._shouldCollectCopies())
|
|
26
27
|
return;
|
|
27
28
|
const parsedLine = parse(this.element.basePath);
|
|
28
|
-
const dirContent = await readDirs(parsedLine.dir, this.
|
|
29
|
+
const dirContent = await readDirs(parsedLine.dir, this.ctx);
|
|
29
30
|
for (const file of dirContent) {
|
|
30
31
|
if (file.includes(parsedLine.name)) {
|
|
31
32
|
this._collectCopyWithMetaFile(copies, file);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inFolderHandler.js","sourceRoot":"","sources":["../../src/service/inFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,GAChB,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"inFolderHandler.js","sourceRoot":"","sources":["../../src/service/inFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,GAChB,MAAM,kCAAkC,CAAA;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,qBAAqB,GAAG,IAAI,MAAM,CAAC,GAAG,eAAe,GAAG,CAAC,CAAA;AAC/D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,eAAe;IAC1C,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,wBAAwB,CAAC,MAAM,CAAC,CAAA;QACrC,MAAM,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAA;QACjD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAES,wBAAwB,CAAC,MAAuB;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAEhD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,WAAW,EAAE,EAAE,CAAA;QAEjD,MAAM,cAAc,GAAG,GAAG,UAAU,GAAG,MAAM,GAAG,eAAe,EAAE,CAAA;QACjE,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IACzE,CAAC;IAES,KAAK,CAAC,8BAA8B,CAC5C,MAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAAE,OAAM;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC/C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAE3D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAEkB,eAAe;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa;aAC9B,IAAI,CAAC,QAAQ,CAAC;aACd,OAAO,CACN,UAAU;QACV,kNAAkN;QAClN,EAAE,CACH;aACA,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;aAClC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;IAEkB,cAAc;QAC/B,OAAO,CACL,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,yBAAyB,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAClD,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,11 +1,10 @@
|
|
|
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 ResourceHandler extends StandardHandler {
|
|
5
4
|
protected metadataName: string | undefined;
|
|
6
|
-
collectAddition(
|
|
7
|
-
collectDeletion(
|
|
8
|
-
protected _collectResourceCopies(copies:
|
|
5
|
+
collectAddition(): Promise<HandlerResult>;
|
|
6
|
+
collectDeletion(): Promise<HandlerResult>;
|
|
7
|
+
protected _collectResourceCopies(copies: CopyOperation[]): Promise<void>;
|
|
9
8
|
protected _getElementName(): string;
|
|
10
9
|
protected _isProcessable(): boolean;
|
|
11
10
|
protected _getMetadataName(): string;
|
|
@@ -10,32 +10,34 @@ value.replace(REGEX_SPECIAL_CHARS, '\\$&');
|
|
|
10
10
|
const resourceRegexCache = new Map();
|
|
11
11
|
export default class ResourceHandler extends StandardHandler {
|
|
12
12
|
metadataName;
|
|
13
|
-
async collectAddition(
|
|
13
|
+
async collectAddition() {
|
|
14
14
|
this.metadataName = this._getMetadataName();
|
|
15
|
-
const result = await super.collectAddition(
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const result = await super.collectAddition();
|
|
16
|
+
const copies = [...result.copies];
|
|
17
|
+
await this._collectResourceCopies(copies);
|
|
18
|
+
return { ...result, copies };
|
|
18
19
|
}
|
|
19
|
-
async collectDeletion(
|
|
20
|
+
async collectDeletion() {
|
|
20
21
|
this.metadataName = this._getMetadataName();
|
|
21
22
|
const componentPath = this.metadataName;
|
|
22
|
-
const exists = await pathExists(componentPath, this.
|
|
23
|
+
const exists = await pathExists(componentPath, this.ctx);
|
|
23
24
|
if (exists) {
|
|
24
|
-
return await this.collectModification(
|
|
25
|
+
return await this.collectModification();
|
|
25
26
|
}
|
|
26
|
-
return await super.collectDeletion(
|
|
27
|
+
return await super.collectDeletion();
|
|
27
28
|
}
|
|
28
29
|
async _collectResourceCopies(copies) {
|
|
29
30
|
// Stryker disable next-line ConditionalExpression -- equivalent: shouldCollectCopies guard; flipping to false continues into the resource scan even when copies aren't needed (e.g. generateDelta=false), but the empty path branch still produces no copies because the test fixtures for the generateDelta=false case don't fixture matching resource files
|
|
30
31
|
if (!this._shouldCollectCopies())
|
|
31
32
|
return;
|
|
32
33
|
const staticResourcePath = this.metadataName.substring(0, this.metadataName.lastIndexOf(PATH_SEP));
|
|
33
|
-
const allStaticResources = await readDirs(staticResourcePath, this.
|
|
34
|
+
const allStaticResources = await readDirs(staticResourcePath, this.ctx);
|
|
34
35
|
const cacheKey = this.metadataName;
|
|
35
36
|
let startsWithMetadataName = resourceRegexCache.get(cacheKey);
|
|
36
37
|
// Stryker disable next-line ConditionalExpression -- equivalent: cache short-circuit; flipping to true rebuilds the regex on every call, but the rebuild is deterministic so the resulting RegExp behaviour is identical
|
|
37
38
|
if (!startsWithMetadataName) {
|
|
38
39
|
startsWithMetadataName = new RegExp(`${escapeRegex(cacheKey)}[${PATH_SEP}${DOT}]`);
|
|
40
|
+
// Stryker disable next-line CallExpression -- equivalent: cache population; dropping the set() only means the regex is rebuilt on every call from the deterministic construction directly above, so the resulting RegExp behaviour is identical — the same reasoning the cache-check flip above is already documented under
|
|
39
41
|
resourceRegexCache.set(cacheKey, startsWithMetadataName);
|
|
40
42
|
}
|
|
41
43
|
const resourceFiles = allStaticResources.filter((file) => startsWithMetadataName.test(file));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inResourceHandler.js","sourceRoot":"","sources":["../../src/service/inResourceHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"inResourceHandler.js","sourceRoot":"","sources":["../../src/service/inResourceHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
3
2
|
import ResourceHandler from './inResourceHandler.js';
|
|
4
3
|
export default class ObjectTranslationHandler extends ResourceHandler {
|
|
5
|
-
collectAddition(
|
|
4
|
+
collectAddition(): Promise<HandlerResult>;
|
|
6
5
|
protected _getObjectTranslationWriter(path: string): Promise<((out: import("node:stream").Writable) => Promise<void>) | undefined>;
|
|
7
6
|
protected _getObjectTranslationPath(): string;
|
|
8
7
|
protected _delegateFileCopy(): boolean;
|
|
@@ -7,8 +7,8 @@ import MetadataDiff from '../utils/metadataDiff/index.js';
|
|
|
7
7
|
import ResourceHandler from './inResourceHandler.js';
|
|
8
8
|
import StandardHandler from './standardHandler.js';
|
|
9
9
|
export default class ObjectTranslationHandler extends ResourceHandler {
|
|
10
|
-
async collectAddition(
|
|
11
|
-
const result = await StandardHandler.prototype.collectAddition.call(this
|
|
10
|
+
async collectAddition() {
|
|
11
|
+
const result = await StandardHandler.prototype.collectAddition.call(this);
|
|
12
12
|
if (!this._shouldCollectCopies())
|
|
13
13
|
return result;
|
|
14
14
|
// RATIONALE: Why include objectTranslation file even when pruned content is empty?
|
|
@@ -16,17 +16,18 @@ export default class ObjectTranslationHandler extends ResourceHandler {
|
|
|
16
16
|
// See: https://github.com/scolladon/sfdx-git-delta/wiki/Metadata-Specificities#object-translations
|
|
17
17
|
const objectTranslationPath = this._getObjectTranslationPath();
|
|
18
18
|
const writer = await this._getObjectTranslationWriter(objectTranslationPath);
|
|
19
|
+
const copies = [...result.copies];
|
|
19
20
|
if (writer) {
|
|
20
|
-
|
|
21
|
+
copies.push({
|
|
21
22
|
kind: CopyOperationKind.StreamedContent,
|
|
22
23
|
path: objectTranslationPath,
|
|
23
24
|
writer,
|
|
24
25
|
});
|
|
25
26
|
}
|
|
26
27
|
else {
|
|
27
|
-
this._collectCopy(
|
|
28
|
+
this._collectCopy(copies, objectTranslationPath);
|
|
28
29
|
}
|
|
29
|
-
return result;
|
|
30
|
+
return { ...result, copies };
|
|
30
31
|
}
|
|
31
32
|
async _getObjectTranslationWriter(path) {
|
|
32
33
|
const inFileMetadata = this.element.getInFileAttributes();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectTranslationHandler.js","sourceRoot":"","sources":["../../src/service/objectTranslationHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAA;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"objectTranslationHandler.js","sourceRoot":"","sources":["../../src/service/objectTranslationHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAA;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,YAAY,MAAM,gCAAgC,CAAA;AACzD,OAAO,eAAe,MAAM,wBAAwB,CAAA;AACpD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,eAAe;IACnD,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;QAE/C,mFAAmF;QACnF,uFAAuF;QACvF,mGAAmG;QACnG,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAA;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,CAAC,CAAA;QAC5E,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,iBAAiB,CAAC,eAAe;gBACvC,IAAI,EAAE,qBAAqB;gBAC3B,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAA;IAC9B,CAAC;IAES,KAAK,CAAC,2BAA2B,CAAC,IAAY;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAA;QACzD,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAClE,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,OAAO,OAAO,CAAC,MAAM,CAAA;IACvB,CAAC;IAES,yBAAyB;QACjC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,QAAQ,GACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAClD,IAAI,kCAAkC,EAAE,CAAA;IAC1C,CAAC;IAEkB,iBAAiB;QAClC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAA;IAC5E,CAAC;IAED,wEAAwE;IACxE,+EAA+E;IAC/E,6EAA6E;IAC7E,6DAA6D;IAC1C,mBAAmB;QACpC,OAAO,KAAK,CAAA;IACd,CAAC;IAEkB,eAAe;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;CACF"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type {
|
|
3
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
1
|
+
import type { CopyOperation, HandlerResult } from '../types/handlerResult.js';
|
|
2
|
+
import type { RunContext } from '../types/runContext.js';
|
|
4
3
|
import type { MetadataElement } from '../utils/metadataElement.js';
|
|
5
4
|
import InFolderHandler from './inFolderHandler.js';
|
|
6
5
|
export default class ReportingFolderHandler extends InFolderHandler {
|
|
7
6
|
protected readonly resolvedType: string | undefined;
|
|
8
|
-
constructor(changeType: string, element: MetadataElement,
|
|
9
|
-
collectAddition(
|
|
10
|
-
collectDeletion(
|
|
11
|
-
protected _collectFolderMetaCopies(copies:
|
|
7
|
+
constructor(changeType: string, element: MetadataElement, ctx: RunContext);
|
|
8
|
+
collectAddition(): Promise<HandlerResult>;
|
|
9
|
+
collectDeletion(): Promise<HandlerResult>;
|
|
10
|
+
protected _collectFolderMetaCopies(copies: CopyOperation[]): void;
|
|
12
11
|
getElementDescriptor(): {
|
|
13
12
|
type: string;
|
|
14
13
|
member: string;
|
|
@@ -5,20 +5,20 @@ import { emptyResult } from '../types/handlerResult.js';
|
|
|
5
5
|
import InFolderHandler from './inFolderHandler.js';
|
|
6
6
|
export default class ReportingFolderHandler extends InFolderHandler {
|
|
7
7
|
resolvedType;
|
|
8
|
-
constructor(changeType, element,
|
|
9
|
-
super(changeType, element,
|
|
8
|
+
constructor(changeType, element, ctx) {
|
|
9
|
+
super(changeType, element, ctx);
|
|
10
10
|
this.resolvedType = element.getSharedFolderMetadata().get(element.extension);
|
|
11
11
|
}
|
|
12
12
|
/* jscpd:ignore-start */
|
|
13
|
-
async collectAddition(
|
|
13
|
+
async collectAddition() {
|
|
14
14
|
if (!this.resolvedType)
|
|
15
15
|
return emptyResult();
|
|
16
|
-
return await super.collectAddition(
|
|
16
|
+
return await super.collectAddition();
|
|
17
17
|
}
|
|
18
|
-
async collectDeletion(
|
|
18
|
+
async collectDeletion() {
|
|
19
19
|
if (!this.resolvedType)
|
|
20
20
|
return emptyResult();
|
|
21
|
-
return await super.collectDeletion(
|
|
21
|
+
return await super.collectDeletion();
|
|
22
22
|
}
|
|
23
23
|
/* jscpd:ignore-end */
|
|
24
24
|
_collectFolderMetaCopies(copies) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportingFolderHandler.js","sourceRoot":"","sources":["../../src/service/reportingFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"reportingFolderHandler.js","sourceRoot":"","sources":["../../src/service/reportingFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAGvD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,eAAe;IAC9C,YAAY,CAAoB;IAEnD,YAAY,UAAkB,EAAE,OAAwB,EAAE,GAAe;QACvE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IAED,wBAAwB;IACR,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IACD,sBAAsB;IAEH,wBAAwB,CAAC,MAAuB;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,cAAc,GAAG,GAAG,UAAU,GAAG,eAAe,EAAE,CAAA;QACxD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAA;IACzE,CAAC;IAEe,oBAAoB;QAClC,+RAA+R;QAC/R,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uDAAuD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC/E,CAAA;QACH,CAAC;QACD,qEAAqE;QACrE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE;SAC/B,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import type { HandlerResult } from '../types/handlerResult.js';
|
|
2
|
-
import type {
|
|
3
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
2
|
+
import type { RunContext } from '../types/runContext.js';
|
|
4
3
|
import type { MetadataElement } from '../utils/metadataElement.js';
|
|
5
4
|
import StandardHandler from './standardHandler.js';
|
|
6
5
|
export default class SharedFolderHandler extends StandardHandler {
|
|
7
6
|
protected readonly resolvedType: string | undefined;
|
|
8
|
-
constructor(changeType: string, element: MetadataElement,
|
|
7
|
+
constructor(changeType: string, element: MetadataElement, ctx: RunContext);
|
|
9
8
|
getElementDescriptor(): {
|
|
10
9
|
type: string;
|
|
11
10
|
member: string;
|
|
12
11
|
};
|
|
13
|
-
collectAddition(
|
|
14
|
-
collectDeletion(
|
|
12
|
+
collectAddition(): Promise<HandlerResult>;
|
|
13
|
+
collectDeletion(): Promise<HandlerResult>;
|
|
15
14
|
protected _isProcessable(): boolean;
|
|
16
15
|
protected _getMetaTypeFilePath(path: string): string;
|
|
17
16
|
}
|
|
@@ -5,8 +5,8 @@ import { emptyResult } from '../types/handlerResult.js';
|
|
|
5
5
|
import StandardHandler from './standardHandler.js';
|
|
6
6
|
export default class SharedFolderHandler extends StandardHandler {
|
|
7
7
|
resolvedType;
|
|
8
|
-
constructor(changeType, element,
|
|
9
|
-
super(changeType, element,
|
|
8
|
+
constructor(changeType, element, ctx) {
|
|
9
|
+
super(changeType, element, ctx);
|
|
10
10
|
this.resolvedType = element.getSharedFolderMetadata().get(element.extension);
|
|
11
11
|
}
|
|
12
12
|
getElementDescriptor() {
|
|
@@ -21,15 +21,15 @@ export default class SharedFolderHandler extends StandardHandler {
|
|
|
21
21
|
member: this._getElementName(),
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
async collectAddition(
|
|
24
|
+
async collectAddition() {
|
|
25
25
|
if (!this.resolvedType)
|
|
26
26
|
return emptyResult();
|
|
27
|
-
return await super.collectAddition(
|
|
27
|
+
return await super.collectAddition();
|
|
28
28
|
}
|
|
29
|
-
async collectDeletion(
|
|
29
|
+
async collectDeletion() {
|
|
30
30
|
if (!this.resolvedType)
|
|
31
31
|
return emptyResult();
|
|
32
|
-
return await super.collectDeletion(
|
|
32
|
+
return await super.collectDeletion();
|
|
33
33
|
}
|
|
34
34
|
_isProcessable() {
|
|
35
35
|
// Stryker disable next-line ConditionalExpression -- equivalent: this falls back to resolvedType when super's check fails; flipping to true would always process, but TypeHandlerFactory routing ensures this handler is selected only for resolvable types where resolvedType is populated, so super._isProcessable() is the dominant arm and the OR-fallback is mostly defensive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedFolderHandler.js","sourceRoot":"","sources":["../../src/service/sharedFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"sharedFolderHandler.js","sourceRoot":"","sources":["../../src/service/sharedFolderHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAIvD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,eAAe;IAC3C,YAAY,CAAoB;IAEnD,YAAY,UAAkB,EAAE,OAAwB,EAAE,GAAe;QACvE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9E,CAAC;IAEe,oBAAoB;QAClC,4RAA4R;QAC5R,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,oDAAoD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAC5E,CAAA;QACH,CAAC;QACD,qEAAqE;QACrE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE;SAC/B,CAAA;IACH,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEe,KAAK,CAAC,eAAe;QACnC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,WAAW,EAAE,CAAA;QAC5C,OAAO,MAAM,KAAK,CAAC,eAAe,EAAE,CAAA;IACtC,CAAC;IAEkB,cAAc;QAC/B,mXAAmX;QACnX,OAAO,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAA;IACtD,CAAC;IAEkB,oBAAoB,CAAC,IAAY;QAClD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9B,OAAO,IAAI,CACT,UAAU,CAAC,GAAG,EACd,GAAG,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,GAAG,eAAe,EAAE,CACxD,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { Config } from '../types/config.js';
|
|
2
2
|
import type { AddKind, CopyOperation, HandlerResult } from '../types/handlerResult.js';
|
|
3
3
|
import { ManifestTarget } from '../types/handlerResult.js';
|
|
4
|
-
import type {
|
|
5
|
-
import type ChangeSet from '../utils/changeSet.js';
|
|
4
|
+
import type { RunContext } from '../types/runContext.js';
|
|
6
5
|
import type { MetadataElement } from '../utils/metadataElement.js';
|
|
7
6
|
/**
|
|
8
7
|
* Strategy pattern base for metadata type handlers.
|
|
@@ -16,14 +15,13 @@ import type { MetadataElement } from '../utils/metadataElement.js';
|
|
|
16
15
|
export default class StandardHandler {
|
|
17
16
|
protected readonly changeType: string;
|
|
18
17
|
protected readonly element: MetadataElement;
|
|
19
|
-
protected readonly
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
collect(
|
|
23
|
-
collectAddition(
|
|
24
|
-
collectDeletion(
|
|
25
|
-
collectModification(
|
|
26
|
-
protected _emptyResultFor(sink?: ChangeSet): HandlerResult;
|
|
18
|
+
protected readonly ctx: RunContext;
|
|
19
|
+
constructor(changeType: string, element: MetadataElement, ctx: RunContext);
|
|
20
|
+
protected get config(): Config;
|
|
21
|
+
collect(): Promise<HandlerResult>;
|
|
22
|
+
collectAddition(): Promise<HandlerResult>;
|
|
23
|
+
collectDeletion(): Promise<HandlerResult>;
|
|
24
|
+
collectModification(): Promise<HandlerResult>;
|
|
27
25
|
protected _getElementName(): string;
|
|
28
26
|
getElementDescriptor(): {
|
|
29
27
|
type: string;
|
|
@@ -29,65 +29,63 @@ const CHANGE_KIND_BY_GIT_TYPE = {
|
|
|
29
29
|
export default class StandardHandler {
|
|
30
30
|
changeType;
|
|
31
31
|
element;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
constructor(changeType, element, work) {
|
|
32
|
+
ctx;
|
|
33
|
+
constructor(changeType, element, ctx) {
|
|
35
34
|
this.changeType = changeType;
|
|
36
35
|
this.element = element;
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
// each call still gets its own fresh ChangeSet via `emptyResult()`, so the
|
|
44
|
-
// existing test API (`await sut.collectAddition()`) stays unchanged.
|
|
45
|
-
async collect(sink) {
|
|
36
|
+
this.ctx = ctx;
|
|
37
|
+
}
|
|
38
|
+
get config() {
|
|
39
|
+
return this.ctx.config;
|
|
40
|
+
}
|
|
41
|
+
async collect() {
|
|
46
42
|
if (!this._isProcessable()) {
|
|
47
|
-
return
|
|
43
|
+
return emptyResult();
|
|
48
44
|
}
|
|
49
45
|
try {
|
|
50
46
|
switch (this.changeType) {
|
|
51
47
|
case ADDITION:
|
|
52
|
-
return await this.collectAddition(
|
|
48
|
+
return await this.collectAddition();
|
|
53
49
|
case DELETION:
|
|
54
|
-
return await this.collectDeletion(
|
|
50
|
+
return await this.collectDeletion();
|
|
55
51
|
case MODIFICATION:
|
|
56
|
-
return await this.collectModification(
|
|
52
|
+
return await this.collectModification();
|
|
57
53
|
default:
|
|
58
|
-
return
|
|
54
|
+
return emptyResult();
|
|
59
55
|
}
|
|
60
56
|
}
|
|
61
57
|
catch (error) {
|
|
62
58
|
const message = `${this.element.basePath}: ${getErrorMessage(error)}`;
|
|
59
|
+
// Stryker disable CallExpression -- equivalent: removing either log call entirely is unobservable, because this file's tests mock LoggingService and assert on the wrapped warning in result.warnings via wrapError; asserting the emission itself would couple them to logging plumbing, which this project deliberately avoids
|
|
63
60
|
// Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only; tests assert on the wrapped warning message in result.warnings via wrapError, not on the lazy log line
|
|
64
61
|
Logger.warn(lazy `${message}`);
|
|
65
62
|
Logger.debug(
|
|
66
63
|
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: same as above, debug log is observability only
|
|
67
64
|
lazy `${this.constructor.name}.collect: ${this.changeType} ${this.element.type.xmlName} '${this.element.basePath}' failed: ${() => getErrorMessage(error)}`);
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return failed;
|
|
65
|
+
// Stryker restore CallExpression
|
|
66
|
+
return { elements: [], copies: [], warnings: [wrapError(message, error)] };
|
|
71
67
|
}
|
|
72
68
|
}
|
|
73
|
-
async collectAddition(
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
result.changes.addElement(this._collectManifestElement(ManifestTarget.DestructiveChanges));
|
|
82
|
-
return result;
|
|
69
|
+
async collectAddition() {
|
|
70
|
+
const copies = [];
|
|
71
|
+
this._collectCopyWithMetaFile(copies, this.element.basePath);
|
|
72
|
+
return {
|
|
73
|
+
elements: [this._collectManifestElement(ManifestTarget.Package)],
|
|
74
|
+
copies,
|
|
75
|
+
warnings: [],
|
|
76
|
+
};
|
|
83
77
|
}
|
|
84
|
-
async
|
|
85
|
-
return
|
|
78
|
+
async collectDeletion() {
|
|
79
|
+
return {
|
|
80
|
+
elements: [
|
|
81
|
+
this._collectManifestElement(ManifestTarget.DestructiveChanges),
|
|
82
|
+
],
|
|
83
|
+
copies: [],
|
|
84
|
+
warnings: [],
|
|
85
|
+
};
|
|
86
86
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
/* v8 ignore next -- defensive: production callers always pass a sink; the no-sink fallback exists for legacy / direct-handler tests */
|
|
90
|
-
return sink ? { changes: sink, copies: [], warnings: [] } : emptyResult();
|
|
87
|
+
async collectModification() {
|
|
88
|
+
return await this.collectAddition();
|
|
91
89
|
}
|
|
92
90
|
_getElementName() {
|
|
93
91
|
return this.element.componentName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standardHandler.js","sourceRoot":"","sources":["../../src/service/standardHandler.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;;;;;;AACZ,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAOlE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,cAAc,GACf,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"standardHandler.js","sourceRoot":"","sources":["../../src/service/standardHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
|
-
import type {
|
|
1
|
+
import type { MetadataRepository } from '../metadata/MetadataRepository.js';
|
|
2
|
+
import type { Config } from '../types/config.js';
|
|
3
|
+
import type { RunContext } from '../types/runContext.js';
|
|
3
4
|
import { MetadataBoundaryResolver } from '../utils/metadataBoundaryResolver.js';
|
|
4
5
|
import Standard from './standardHandler.js';
|
|
5
6
|
export default class TypeHandlerFactory {
|
|
6
|
-
protected readonly
|
|
7
|
-
protected readonly metadata: MetadataRepository;
|
|
7
|
+
protected readonly ctx: RunContext;
|
|
8
8
|
protected readonly resolver: MetadataBoundaryResolver;
|
|
9
9
|
private readonly inFileParentXmlNames;
|
|
10
10
|
private readonly handlerCache;
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(ctx: RunContext);
|
|
12
|
+
protected get config(): Config;
|
|
13
|
+
protected get metadata(): MetadataRepository;
|
|
12
14
|
getTypeHandler(line: string): Promise<Standard>;
|
|
13
15
|
private buildInFileParentIndex;
|
|
14
16
|
private resolveHandler;
|
|
@@ -5,7 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
import GitAdapter from '../adapter/GitAdapter.js';
|
|
9
8
|
import { DELETION, GIT_DIFF_TYPE_REGEX } from '../constant/gitConstants.js';
|
|
10
9
|
import { log } from '../utils/LoggingDecorator.js';
|
|
11
10
|
import { MetadataBoundaryResolver } from '../utils/metadataBoundaryResolver.js';
|
|
@@ -58,8 +57,7 @@ const adapterHandlerMap = {
|
|
|
58
57
|
mixedContent: InResource,
|
|
59
58
|
};
|
|
60
59
|
export default class TypeHandlerFactory {
|
|
61
|
-
|
|
62
|
-
metadata;
|
|
60
|
+
ctx;
|
|
63
61
|
resolver;
|
|
64
62
|
inFileParentXmlNames;
|
|
65
63
|
// Memoizes resolveHandler(metadata) → handler-class. The dispatch
|
|
@@ -70,15 +68,19 @@ export default class TypeHandlerFactory {
|
|
|
70
68
|
// stays trivially small.
|
|
71
69
|
handlerCache = new Map();
|
|
72
70
|
// Stryker disable BlockStatement -- equivalent: constructor body wires the resolver and pre-builds the inFileParent index; tests instantiate via factory paths that exercise the indexed lookups indirectly, but the mutant `{}` constructor would fail at first getTypeHandler call (resolver undefined), and that failure surfaces only outside the unit test surface for the factory's pure-routing tests
|
|
73
|
-
constructor(
|
|
74
|
-
this.
|
|
75
|
-
this.
|
|
76
|
-
const gitAdapter = GitAdapter.getInstance(work.config);
|
|
77
|
-
this.resolver = new MetadataBoundaryResolver(metadata, gitAdapter);
|
|
71
|
+
constructor(ctx) {
|
|
72
|
+
this.ctx = ctx;
|
|
73
|
+
this.resolver = new MetadataBoundaryResolver(ctx);
|
|
78
74
|
this.inFileParentXmlNames = new Set();
|
|
79
75
|
this.buildInFileParentIndex();
|
|
80
76
|
}
|
|
81
77
|
// Stryker restore BlockStatement
|
|
78
|
+
get config() {
|
|
79
|
+
return this.ctx.config;
|
|
80
|
+
}
|
|
81
|
+
get metadata() {
|
|
82
|
+
return this.ctx.metadata;
|
|
83
|
+
}
|
|
82
84
|
async getTypeHandler(line) {
|
|
83
85
|
// Stryker disable next-line MethodExpression -- equivalent: line.charAt(0) extracts the first character (A/M/D/R); mutating to `line` returns the full line which is then matched against DELETION constant — only the first-char comparison logic matters and the rest of the path proceeds with the now-truthy changeType assignment
|
|
84
86
|
const changeType = line.charAt(0);
|
|
@@ -91,12 +93,10 @@ export default class TypeHandlerFactory {
|
|
|
91
93
|
throw new Error(`Unknown metadata type for path: ${path}`);
|
|
92
94
|
}
|
|
93
95
|
// Stryker restore ConditionalExpression,BlockStatement,StringLiteral
|
|
94
|
-
|
|
95
|
-
const revision = changeType === DELETION ? this.work.config.from : this.work.config.to;
|
|
96
|
-
// Stryker restore ConditionalExpression,EqualityOperator
|
|
96
|
+
const revision = changeType === DELETION ? this.config.from : this.config.to;
|
|
97
97
|
const element = await this.resolver.createElement(path, type, revision);
|
|
98
98
|
const Handler = this.resolveHandler(type);
|
|
99
|
-
return new Handler(changeType, element, this.
|
|
99
|
+
return new Handler(changeType, element, this.ctx);
|
|
100
100
|
}
|
|
101
101
|
// Stryker disable next-line BlockStatement -- equivalent: emptying the body produces an empty inFileParent index; downstream resolveHandler falls back to Standard for inFile parents, which still routes correctly for the pure-routing test surface
|
|
102
102
|
buildInFileParentIndex() {
|
|
@@ -118,6 +118,7 @@ export default class TypeHandlerFactory {
|
|
|
118
118
|
if (cached !== undefined)
|
|
119
119
|
return cached;
|
|
120
120
|
const resolved = this._computeHandler(type);
|
|
121
|
+
// Stryker disable next-line CallExpression -- equivalent: cache population; dropping the set() only means resolveHandler recomputes through the deterministic _computeHandler(type) on every call, which is the same situation the cache-check flip above is already documented as equivalent for
|
|
121
122
|
this.handlerCache.set(type, resolved);
|
|
122
123
|
return resolved;
|
|
123
124
|
}
|