sfdx-git-delta 6.44.0 → 6.44.2
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 +1 -1
- package/lib/adapter/GitAdapter.js +42 -2
- package/lib/adapter/GitAdapter.js.map +1 -1
- package/lib/adapter/gitBatchCatFile.js +16 -0
- package/lib/adapter/gitBatchCatFile.js.map +1 -1
- package/lib/adapter/ioExecutor.js +12 -3
- package/lib/adapter/ioExecutor.js.map +1 -1
- package/lib/constant/metadataConstants.d.ts +2 -0
- package/lib/constant/metadataConstants.js +2 -0
- package/lib/constant/metadataConstants.js.map +1 -1
- package/lib/main.js +5 -0
- package/lib/main.js.map +1 -1
- package/lib/metadata/MetadataRepositoryImpl.js +4 -0
- package/lib/metadata/MetadataRepositoryImpl.js.map +1 -1
- package/lib/metadata/metadataDefinitionMerger.js +1 -0
- package/lib/metadata/metadataDefinitionMerger.js.map +1 -1
- package/lib/metadata/metadataManager.js +11 -1
- package/lib/metadata/metadataManager.js.map +1 -1
- package/lib/metadata/sdrMetadataAdapter.js +14 -1
- package/lib/metadata/sdrMetadataAdapter.js.map +1 -1
- package/lib/post-processor/bundleRollupProcessor.d.ts +7 -0
- package/lib/post-processor/bundleRollupProcessor.js +76 -0
- package/lib/post-processor/bundleRollupProcessor.js.map +1 -0
- package/lib/post-processor/flowTranslationProcessor.js +16 -2
- package/lib/post-processor/flowTranslationProcessor.js.map +1 -1
- package/lib/post-processor/includeProcessor.js +2 -0
- package/lib/post-processor/includeProcessor.js.map +1 -1
- package/lib/post-processor/postProcessorManager.js +9 -0
- package/lib/post-processor/postProcessorManager.js.map +1 -1
- package/lib/service/customLabelHandler.d.ts +1 -1
- package/lib/service/customLabelHandler.js +2 -1
- package/lib/service/customLabelHandler.js.map +1 -1
- package/lib/service/customObjectHandler.js +1 -0
- package/lib/service/customObjectHandler.js.map +1 -1
- package/lib/service/inBundleHandler.d.ts +9 -0
- package/lib/service/inBundleHandler.js +82 -2
- package/lib/service/inBundleHandler.js.map +1 -1
- package/lib/service/inFileHandler.d.ts +1 -1
- package/lib/service/inFileHandler.js +16 -12
- package/lib/service/inFileHandler.js.map +1 -1
- package/lib/service/inFolderHandler.js +3 -1
- package/lib/service/inFolderHandler.js.map +1 -1
- package/lib/service/inResourceHandler.js +5 -1
- package/lib/service/inResourceHandler.js.map +1 -1
- package/lib/service/reportingFolderHandler.js +3 -1
- package/lib/service/reportingFolderHandler.js.map +1 -1
- package/lib/service/sharedFolderHandler.js +4 -1
- package/lib/service/sharedFolderHandler.js.map +1 -1
- package/lib/service/standardHandler.js +5 -1
- package/lib/service/standardHandler.js.map +1 -1
- package/lib/service/typeHandlerFactory.js +18 -1
- package/lib/service/typeHandlerFactory.js.map +1 -1
- package/lib/utils/LoggingDecorator.js +9 -0
- package/lib/utils/LoggingDecorator.js.map +1 -1
- package/lib/utils/LoggingService.js +1 -0
- package/lib/utils/LoggingService.js.map +1 -1
- package/lib/utils/changeSet.d.ts +5 -1
- package/lib/utils/changeSet.js +62 -9
- package/lib/utils/changeSet.js.map +1 -1
- package/lib/utils/configValidator.js +10 -2
- package/lib/utils/configValidator.js.map +1 -1
- package/lib/utils/fsHelper.js +3 -1
- package/lib/utils/fsHelper.js.map +1 -1
- package/lib/utils/fsUtils.js +3 -1
- package/lib/utils/fsUtils.js.map +1 -1
- package/lib/utils/gitLfsHelper.js +3 -1
- package/lib/utils/gitLfsHelper.js.map +1 -1
- package/lib/utils/ignoreHelper.js +11 -1
- package/lib/utils/ignoreHelper.js.map +1 -1
- package/lib/utils/metadataBoundaryResolver.js +3 -0
- package/lib/utils/metadataBoundaryResolver.js.map +1 -1
- package/lib/utils/metadataDiff/index.d.ts +1 -2
- package/lib/utils/metadataDiff/index.js +2 -3
- package/lib/utils/metadataDiff/index.js.map +1 -1
- package/lib/utils/metadataDiff/streamingDiff.d.ts +3 -3
- package/lib/utils/metadataDiff/streamingDiff.js +51 -12
- package/lib/utils/metadataDiff/streamingDiff.js.map +1 -1
- package/lib/utils/metadataDiff/xmlEventReader.js +38 -5
- package/lib/utils/metadataDiff/xmlEventReader.js.map +1 -1
- package/lib/utils/metadataDiff/xmlWriter.js +11 -0
- package/lib/utils/metadataDiff/xmlWriter.js.map +1 -1
- package/lib/utils/metadataElement.js +6 -1
- package/lib/utils/metadataElement.js.map +1 -1
- package/lib/utils/renameResolver.js +4 -1
- package/lib/utils/renameResolver.js.map +1 -1
- package/lib/utils/repoGitDiff.js +5 -0
- package/lib/utils/repoGitDiff.js.map +1 -1
- package/lib/utils/treeIndexScope.js +5 -0
- package/lib/utils/treeIndexScope.js.map +1 -1
- package/lib/utils/txmlAdapter.js +14 -5
- package/lib/utils/txmlAdapter.js.map +1 -1
- package/messages/delta.md +5 -1
- package/npm-shrinkwrap.json +1020 -778
- package/oclif.manifest.json +1 -1
- package/package.json +20 -20
package/lib/utils/changeSet.js
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
import { DIGITAL_EXPERIENCE_TYPE } from '../constant/metadataConstants.js';
|
|
2
3
|
import { ChangeKind, ManifestTarget, } from '../types/handlerResult.js';
|
|
3
|
-
const
|
|
4
|
-
const renameKey = (from, to) => `${from}${
|
|
4
|
+
const KEY_SEPARATOR = '\0';
|
|
5
|
+
const renameKey = (from, to) => `${from}${KEY_SEPARATOR}${to}`;
|
|
6
|
+
const coordKey = (target, type, member) => `${target}${KEY_SEPARATOR}${type}${KEY_SEPARATOR}${member}`;
|
|
7
|
+
// Types eligible for O(1) coordinate-keyed removal via `removeMember`. Each
|
|
8
|
+
// shrinkable element costs one extra `byCoord` entry on `addElement`, so the
|
|
9
|
+
// list is intentionally narrow — limited to the types a post-processor
|
|
10
|
+
// actually reshapes after handler emission. Add a type here when introducing
|
|
11
|
+
// a post-processor that needs to mutate the manifest for that type;
|
|
12
|
+
// `removeMember` on a type outside this list is a no-op (uniform with the
|
|
13
|
+
// "entry not in manifest" no-op semantics).
|
|
14
|
+
export const SHRINKABLE_TYPES = new Set([
|
|
15
|
+
DIGITAL_EXPERIENCE_TYPE,
|
|
16
|
+
]);
|
|
5
17
|
/**
|
|
6
18
|
* Domain object that collects every component change observed in a diff and
|
|
7
19
|
* derives the views consumed downstream:
|
|
@@ -29,6 +41,11 @@ export default class ChangeSet {
|
|
|
29
41
|
[ChangeKind.Modify]: new Map(),
|
|
30
42
|
[ChangeKind.Delete]: new Map(),
|
|
31
43
|
};
|
|
44
|
+
// Reverse index `(target, type, member) → changeKind` populated only for
|
|
45
|
+
// SHRINKABLE_TYPES. Lets `removeMember` look up the kind in O(1) without
|
|
46
|
+
// requiring the caller to carry it through — ChangeSet owns kind tracking
|
|
47
|
+
// via `addElement`, so re-declaring it on removal is redundant work.
|
|
48
|
+
byCoord = new Map();
|
|
32
49
|
renames = new Map();
|
|
33
50
|
static from(elements) {
|
|
34
51
|
const set = new ChangeSet();
|
|
@@ -43,14 +60,36 @@ export default class ChangeSet {
|
|
|
43
60
|
addElement(element) {
|
|
44
61
|
this._addToManifest(this.byTarget[element.target], element.type, element.member);
|
|
45
62
|
this._addToManifest(this.byKind[element.changeKind], element.type, element.member);
|
|
63
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: flipping the guard to `true` populates `byCoord` for non-shrinkable types too, but `removeMember` throws on those before reading `byCoord`, so the wider index has no observable consequence beyond heap usage (which is precisely the cost this gate exists to avoid).
|
|
64
|
+
if (SHRINKABLE_TYPES.has(element.type)) {
|
|
65
|
+
this.byCoord.set(coordKey(element.target, element.type, element.member), element.changeKind);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Coordinate-keyed inverse of `addElement` — removes a component from the
|
|
69
|
+
// target and kind indices without the caller having to know `changeKind`,
|
|
70
|
+
// which ChangeSet already tracks. Post-processors use it to reshape the
|
|
71
|
+
// manifest (e.g. collapsing entries covered by a coarser member). No-op when
|
|
72
|
+
// the entry isn't tracked in `byCoord` — either it was never added, or its
|
|
73
|
+
// type isn't in `SHRINKABLE_TYPES`. Renames are untouched in either case.
|
|
74
|
+
removeMember(target, type, member) {
|
|
75
|
+
const key = coordKey(target, type, member);
|
|
76
|
+
const kind = this.byCoord.get(key);
|
|
77
|
+
if (kind === undefined)
|
|
78
|
+
return;
|
|
79
|
+
this._removeFromManifest(this.byTarget[target], type, member);
|
|
80
|
+
this._removeFromManifest(this.byKind[kind], type, member);
|
|
81
|
+
this.byCoord.delete(key);
|
|
46
82
|
}
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
//
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
//
|
|
83
|
+
// Reconstructs the (target, type, member, changeKind) tuples by joining
|
|
84
|
+
// byTarget × byKind on (type, member). Production diff lines never insert the
|
|
85
|
+
// same (type, member) under two different changeKind values, so the join is
|
|
86
|
+
// unambiguous in practice. Most callers use the indexed views
|
|
87
|
+
// (forPackageManifest / forDestructiveManifest / byChangeKind); this method
|
|
88
|
+
// serves the ones that need the full per-element tuples — primarily tests
|
|
89
|
+
// listing inserted elements, and post-processors enumerating candidates
|
|
90
|
+
// before reshaping the manifest via `removeMember`. It is reconstructed on
|
|
91
|
+
// demand rather than maintained as a hot-path structure, so call it once
|
|
92
|
+
// per pass, not per element.
|
|
54
93
|
toElements() {
|
|
55
94
|
const targets = [
|
|
56
95
|
ManifestTarget.Package,
|
|
@@ -72,6 +111,7 @@ export default class ChangeSet {
|
|
|
72
111
|
break;
|
|
73
112
|
}
|
|
74
113
|
}
|
|
114
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: see v8 ignore — the kind === undefined branch is unreachable because addElement keeps byTarget and byKind in lockstep
|
|
75
115
|
/* v8 ignore next -- defensive: addElement always pairs byTarget and byKind, so every (type, member) in byTarget has a corresponding byKind entry */
|
|
76
116
|
if (kind !== undefined) {
|
|
77
117
|
out.push({ target, type, member, changeKind: kind });
|
|
@@ -125,6 +165,9 @@ export default class ChangeSet {
|
|
|
125
165
|
}
|
|
126
166
|
}
|
|
127
167
|
}
|
|
168
|
+
for (const [key, kind] of other.byCoord) {
|
|
169
|
+
this.byCoord.set(key, kind);
|
|
170
|
+
}
|
|
128
171
|
for (const [type, pairs] of other.renames) {
|
|
129
172
|
for (const { from, to } of pairs.values()) {
|
|
130
173
|
this.recordRename(type, from, to);
|
|
@@ -170,6 +213,16 @@ export default class ChangeSet {
|
|
|
170
213
|
}
|
|
171
214
|
manifest.get(type).add(member);
|
|
172
215
|
}
|
|
216
|
+
_removeFromManifest(manifest, type, member) {
|
|
217
|
+
// `removeMember` checks `byCoord` first, and `addElement` keeps `byCoord`,
|
|
218
|
+
// `byTarget`, and `byKind` in lockstep — so when this runs the type Set is
|
|
219
|
+
// guaranteed present. No defensive `?.` needed.
|
|
220
|
+
const members = manifest.get(type);
|
|
221
|
+
members.delete(member);
|
|
222
|
+
if (members.size === 0) {
|
|
223
|
+
manifest.delete(type);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
173
226
|
_cloneManifest(manifest) {
|
|
174
227
|
const clone = new Map();
|
|
175
228
|
for (const [type, members] of manifest) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeSet.js","sourceRoot":"","sources":["../../src/utils/changeSet.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAEL,UAAU,EAEV,cAAc,GACf,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"changeSet.js","sourceRoot":"","sources":["../../src/utils/changeSet.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,9 @@ export default class ConfigValidator {
|
|
|
32
32
|
this.config[shaParameter] = await this.gitAdapter.parseRev(shaValue);
|
|
33
33
|
}
|
|
34
34
|
catch (error) {
|
|
35
|
-
Logger.debug(
|
|
35
|
+
Logger.debug(
|
|
36
|
+
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: catch log content is observability only
|
|
37
|
+
lazy `_validateGitSha: '${shaParameter}' = '${shaValue}' is not a valid git SHA: ${() => getErrorMessage(error)}`);
|
|
36
38
|
errors.push(this.message.getMessage('error.ParameterIsNotGitSHA', [
|
|
37
39
|
shaParameter,
|
|
38
40
|
shaValue,
|
|
@@ -111,20 +113,26 @@ export default class ConfigValidator {
|
|
|
111
113
|
}
|
|
112
114
|
}
|
|
113
115
|
catch (ex) {
|
|
114
|
-
|
|
116
|
+
// Stryker disable next-line BlockStatement -- equivalent: catch body is observability-only; emptying the body skips the log call but apiVersion remains undefined either way
|
|
117
|
+
Logger.debug(
|
|
118
|
+
// Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only
|
|
119
|
+
lazy `_getApiVersion: no sfdx-project.json found at '${this.config.repo}': ${ex}`);
|
|
115
120
|
}
|
|
116
121
|
}
|
|
117
122
|
async _apiVersionDefault() {
|
|
118
123
|
const latestVersion = await getLatestSupportedVersion();
|
|
124
|
+
// Stryker disable ConditionalExpression,LogicalOperator -- equivalent: this triple-AND gate ensures we only override a numeric, defined, above-latest apiVersion; flipping individual conditions to true falls into the override branch when apiVersion is undefined or NaN, but the second `if (apiVersion === undefined || isNaN())` block immediately resets to latestVersion, producing the same observable apiVersion in both arms (only the warning content differs, which the test surface doesn't disambiguate)
|
|
119
125
|
if (this.config.apiVersion !== undefined &&
|
|
120
126
|
!isNaN(this.config.apiVersion) &&
|
|
121
127
|
this.config.apiVersion > latestVersion) {
|
|
128
|
+
// Stryker restore ConditionalExpression,LogicalOperator
|
|
122
129
|
this.work.warnings.push(new Error(this.message.getMessage('warning.ApiVersionOverridden', [
|
|
123
130
|
String(this.config.apiVersion),
|
|
124
131
|
String(latestVersion),
|
|
125
132
|
])));
|
|
126
133
|
this.config.apiVersion = latestVersion;
|
|
127
134
|
}
|
|
135
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: defaulting fallback when apiVersion is unset/NaN; flipping to false skips the default and the apiVersion stays as-is, but the only test fixtures with apiVersion already set hit the early-return at _getApiVersion start, so the default branch is unreachable for those test cases
|
|
128
136
|
if (this.config.apiVersion === undefined || isNaN(this.config.apiVersion)) {
|
|
129
137
|
this.config.apiVersion = latestVersion;
|
|
130
138
|
this.work.warnings.push(new Error(this.message.getMessage('warning.ApiVersionDefaulted', [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAG1E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,MAAM,QAAQ,GAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,eAAe;IAKH;IAJZ,MAAM,CAAQ;IACd,UAAU,CAAY;IACtB,OAAO,CAAgB;IAE1C,YAA+B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IACrC,CAAC;IAES,KAAK,CAAC,eAAe;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAA;QAE3B,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC1C,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAG1E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,MAAM,QAAQ,GAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,eAAe;IAKH;IAJZ,MAAM,CAAQ;IACd,UAAU,CAAY;IACtB,OAAO,CAAgB;IAE1C,YAA+B,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;IACrC,CAAC;IAES,KAAK,CAAC,eAAe;QAC7B,MAAM,MAAM,GAAa,EAAE,CAAA;QAE3B,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC1C,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK;gBACV,+GAA+G;gBAC/G,IAAI,CAAA,qBAAqB,YAAY,QAAQ,QAAQ,6BAA6B,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CACjH,CAAA;gBACD,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,4BAA4B,EAAE;oBACpD,YAAY;oBACZ,QAAQ;iBACT,CAAC,CACH,CAAA;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAGY,AAAN,KAAK,CAAC,cAAc;QACzB,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACzE,IAAI,CAAC,cAAc,EAAE;YACrB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,wBAAwB,EAAE;SAChC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAClE,CAAA;QACH,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC1B,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;QAEtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA;IAC7C,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,qEAAqE;IACrE,oEAAoE;IAC1D,KAAK,CAAC,wBAAwB;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAA;QAC1C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QACtB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;YAChC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpB,OAAO;oBACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,MAAM,CAAC,CAAC;iBACnE,CAAA;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,sEAAsE;YACtE,sEAAsE;YACtE,wEAAwE;YACxE,MAAM,IAAI,GACR,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAE,KAA+B,CAAC,IAAI;gBACvC,CAAC,CAAC,SAAS,CAAA;YACf,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,OAAO;oBACL,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iCAAiC,EAAE;wBACzD,MAAM;wBACN,eAAe,CAAC,KAAK,CAAC;qBACvB,CAAC;iBACH,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAES,KAAK,CAAC,cAAc;QAC5B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3B,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;IACjC,CAAC;IAES,KAAK,CAAC,cAAc;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,OAAM;QAEhD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC3D,MAAM,iBAAiB,GAAG,SAAS;iBAChC,gBAAgB,EAAE;iBAClB,WAAW,EAAE,CAAC,gBAAgB,CAAA;YACjC,IAAI,iBAAiB,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,6KAA6K;YAC7K,MAAM,CAAC,KAAK;YACV,gGAAgG;YAChG,IAAI,CAAA,kDAAkD,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,EAAE,CACjF,CAAA;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,kBAAkB;QAChC,MAAM,aAAa,GAAG,MAAM,yBAAyB,EAAE,CAAA;QAEvD,wfAAwf;QACxf,IACE,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS;YACpC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,EACtC,CAAC;YACD,wDAAwD;YACxD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACrB,IAAI,KAAK,CACP,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,8BAA8B,EAAE;gBACtD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC9B,MAAM,CAAC,aAAa,CAAC;aACtB,CAAC,CACH,CACF,CAAA;YACD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAA;QACxC,CAAC;QAED,sVAAsV;QACtV,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,aAAa,CAAA;YACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CACrB,IAAI,KAAK,CACP,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,6BAA6B,EAAE;gBACrD,MAAM,CAAC,aAAa,CAAC;aACtB,CAAC,CACH,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAES,eAAe;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,CAAA;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAE,CAAC,CAAA;QAC5E,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAE,CAAA;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrD,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC3E,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,YAAY,CAC3C,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAC/B,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,8BAA8B,GAAG,YAAY,CACvD,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAC3C,CAAA;QACD,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACzE,CAAC;CACF;AAtIc;IADZ,GAAG;qDAyBH"}
|
package/lib/utils/fsHelper.js
CHANGED
|
@@ -16,7 +16,9 @@ export const readPathFromGit = async (forRef, config) => {
|
|
|
16
16
|
utf8Data = await gitAdapter.getStringContent(forRef);
|
|
17
17
|
}
|
|
18
18
|
catch (error) {
|
|
19
|
-
Logger.debug(
|
|
19
|
+
Logger.debug(
|
|
20
|
+
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: log content is observability only; tests assert on the empty-string return
|
|
21
|
+
lazy `readPathFromGit failed for ${forRef.path}: ${() => getErrorMessage(error)}`);
|
|
20
22
|
}
|
|
21
23
|
return utf8Data;
|
|
22
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fsHelper.js","sourceRoot":"","sources":["../../src/utils/fsHelper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,OAAO,UAAU,MAAM,0BAA0B,CAAA;AAIjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAS,EAAE;IAC1C,YAAY,CAAC,KAAK,EAAE,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,MAAkB,EAAE,MAAc,EAAE,EAAE;IAC1E,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACjD,QAAQ,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"fsHelper.js","sourceRoot":"","sources":["../../src/utils/fsHelper.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/fsUtils.js
CHANGED
|
@@ -20,7 +20,9 @@ export const pathExists = async (path) => {
|
|
|
20
20
|
await fs.access(path);
|
|
21
21
|
}
|
|
22
22
|
catch (error) {
|
|
23
|
-
Logger.debug(
|
|
23
|
+
Logger.debug(
|
|
24
|
+
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: log content is observability only; tests assert on the boolean return
|
|
25
|
+
lazy `pathExists: '${path}' not accessible: ${() => getErrorMessage(error)}`);
|
|
24
26
|
pathIsAccessible = false;
|
|
25
27
|
}
|
|
26
28
|
return pathIsAccessible;
|
package/lib/utils/fsUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fsUtils.js","sourceRoot":"","sources":["../../src/utils/fsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEjE,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,aAAa,GACd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;CAC1B,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAC3C,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAE,EAAE,CACvD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,GAAW,EAAE,EAAE;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CACzD,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC/C,IAAI,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"fsUtils.js","sourceRoot":"","sources":["../../src/utils/fsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAEjE,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,aAAa,GACd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;CAC1B,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAC3C,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAE,EAAE,CACvD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAE7C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,GAAW,EAAE,EAAE;IACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CACzD,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC/C,IAAI,gBAAgB,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK;QACV,6IAA6I;QAC7I,IAAI,CAAA,gBAAgB,IAAI,qBAAqB,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC5E,CAAA;QACD,gBAAgB,GAAG,KAAK,CAAA;IAC1B,CAAC;IACD,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;QACnC,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -11,7 +11,9 @@ const LFS_OID_PATTERN = /^[a-f0-9]{64}$/;
|
|
|
11
11
|
export const isLFS = (content) => content.subarray(0, LFS_HEADER.length).equals(LFS_HEADER);
|
|
12
12
|
export const getLFSObjectContentPath = (bufferContent) => {
|
|
13
13
|
const content = bufferContent.toString(UTF8_ENCODING);
|
|
14
|
-
const oid = content.split(/\n/)[1]?.split(':')[1] ??
|
|
14
|
+
const oid = content.split(/\n/)[1]?.split(':')[1] ??
|
|
15
|
+
// Stryker disable next-line StringLiteral -- equivalent: '' fallback; mutating to "Stryker was here!" makes the next LFS_OID_PATTERN.test reject (sha256 hex regex won't match), so the mutant produces the same throw as the unmutated empty-string fallback
|
|
16
|
+
'';
|
|
15
17
|
if (!LFS_OID_PATTERN.test(oid)) {
|
|
16
18
|
throw new Error('Invalid LFS oid');
|
|
17
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitLfsHelper.js","sourceRoot":"","sources":["../../src/utils/gitLfsHelper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;AACzD,wEAAwE;AACxE,kEAAkE;AAClE,wEAAwE;AACxE,mBAAmB;AACnB,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAExC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAW,EAAE,CAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,aAAqB,EAAU,EAAE;IACvE,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IACrD,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"gitLfsHelper.js","sourceRoot":"","sources":["../../src/utils/gitLfsHelper.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;AACzD,wEAAwE;AACxE,kEAAkE;AAClE,wEAAwE;AACxE,mBAAmB;AACnB,MAAM,eAAe,GAAG,gBAAgB,CAAA;AAExC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAW,EAAE,CAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,aAAqB,EAAU,EAAE;IACvE,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IACrD,MAAM,GAAG,GACP,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,8PAA8P;QAC9P,EAAE,CAAA;IACJ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;IACD,OAAO;QACL,UAAU;QACV,KAAK;QACL,SAAS;QACT,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACf,GAAG;KACJ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -28,22 +28,31 @@ export class IgnoreHelper {
|
|
|
28
28
|
const filePath = line.replace(GIT_DIFF_TYPE_REGEX, '');
|
|
29
29
|
return !ignInstance?.ignores(filePath);
|
|
30
30
|
}
|
|
31
|
+
// Stryker disable next-line BlockStatement -- equivalent: test-only reset hook; emptying the body leaves the singleton populated across tests but each test that uses this hook follows it with a fresh buildIgnore call that the next test asserts on, so the residual state is always overwritten before assertion
|
|
31
32
|
static resetIgnoreInstance() {
|
|
32
33
|
IgnoreHelper.ignoreInstance = null;
|
|
33
34
|
}
|
|
34
35
|
static resetIncludeInstance() {
|
|
35
36
|
IgnoreHelper.includeInstance = null;
|
|
36
37
|
}
|
|
38
|
+
// Stryker disable BlockStatement -- equivalent: emptying the body leaves ignoreInstance null and the cached return at the bottom returns null; tests reset between runs so the cache state is rebuilt on first call, observably the same as a fresh run
|
|
37
39
|
static async buildIgnore(ignorePath, ignoreDestructive) {
|
|
40
|
+
// Stryker restore BlockStatement
|
|
41
|
+
// Stryker disable next-line ConditionalExpression,BooleanLiteral,BlockStatement -- equivalent: cache short-circuit; flipping to false (or removing block) re-builds on every call which is functionally identical because _buildIgnore is deterministic in the input path
|
|
38
42
|
if (!IgnoreHelper.ignoreInstance) {
|
|
39
43
|
const globalIgnore = await _buildIgnore(ignorePath);
|
|
40
|
-
const destructiveIgnore = await _buildIgnore(
|
|
44
|
+
const destructiveIgnore = await _buildIgnore(
|
|
45
|
+
// Stryker disable next-line ConditionalExpression,LogicalOperator -- equivalent: ignoreDestructive falls back to the global ignorePath when not set; flipping || to && would only use the destructive path when global is also set, but the cached singleton observable behavior remains stable for the test surface that always provides one of the two
|
|
46
|
+
ignoreDestructive || ignorePath);
|
|
41
47
|
destructiveIgnore.add(BASE_DESTRUCTIVE_IGNORE);
|
|
42
48
|
IgnoreHelper.ignoreInstance = new IgnoreHelper(globalIgnore, destructiveIgnore);
|
|
43
49
|
}
|
|
44
50
|
return IgnoreHelper.ignoreInstance;
|
|
45
51
|
}
|
|
52
|
+
// Stryker disable BlockStatement -- equivalent: same rationale as buildIgnore — emptying leaves cache null and returns null
|
|
46
53
|
static async buildInclude(include, includeDestructive) {
|
|
54
|
+
// Stryker restore BlockStatement
|
|
55
|
+
// Stryker disable next-line ConditionalExpression,BooleanLiteral,BlockStatement -- equivalent: cache short-circuit; same rationale as buildIgnore
|
|
47
56
|
if (!IgnoreHelper.includeInstance) {
|
|
48
57
|
const globalIgnore = await _buildIgnore(include);
|
|
49
58
|
const destructiveIgnore = await _buildIgnore(includeDestructive);
|
|
@@ -59,6 +68,7 @@ export const buildIgnoreHelper = ({ ignore: ignorePath, ignoreDestructive, }) =>
|
|
|
59
68
|
export const buildIncludeHelper = ({ include, includeDestructive, }) => IgnoreHelper.buildInclude(include, includeDestructive);
|
|
60
69
|
const _buildIgnore = async (ignorePath) => {
|
|
61
70
|
const ign = ignore();
|
|
71
|
+
// Stryker disable next-line ConditionalExpression -- equivalent: when ignorePath is undefined, the ignore() instance has no rules; flipping to false skips the readFile call but the resulting empty ignore is observably identical to the unmutated path with no rules
|
|
62
72
|
if (ignorePath) {
|
|
63
73
|
const content = await readFile(ignorePath);
|
|
64
74
|
ign.add(content.toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ignoreHelper.js","sourceRoot":"","sources":["../../src/utils/ignoreHelper.ts"],"names":[],"mappings":";AAAA,OAAO,MAAkB,MAAM,QAAQ,CAAA;AAEvC,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,mBAAmB,EACnB,YAAY,GACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAE3C,oEAAoE;AACpE,oFAAoF;AACpF,8GAA8G;AAC9G,MAAM,uBAAuB,GAAG,CAAC,cAAc,CAAC,CAAA;AAEhD,MAAM,OAAO,YAAY;IAKL;IACG;IALb,MAAM,CAAC,cAAc,GAAwB,IAAI,CAAA;IACjD,MAAM,CAAC,eAAe,GAAwB,IAAI,CAAA;IAE1D,YACkB,YAAoB,EACjB,iBAAyB;QAD5B,iBAAY,GAAZ,YAAY,CAAQ;QACjB,sBAAiB,GAAjB,iBAAiB,CAAQ;IAC3C,CAAC;IAGG,IAAI,CAAC,IAAY;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAEjC,IAAI,WAA+B,CAAA;QACnC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5B,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAA;QACtC,CAAC;aAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YAClE,WAAW,GAAG,IAAI,CAAC,YAAY,CAAA;QACjC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;QAEtD,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,YAAY,CAAC,cAAc,GAAG,IAAI,CAAA;IACpC,CAAC;IAED,MAAM,CAAC,oBAAoB;QACzB,YAAY,CAAC,eAAe,GAAG,IAAI,CAAA;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,UAA8B,EAC9B,iBAAqC;QAErC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAA;YACnD,MAAM,iBAAiB,GAAG,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"ignoreHelper.js","sourceRoot":"","sources":["../../src/utils/ignoreHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export class MetadataBoundaryResolver {
|
|
|
43
43
|
allFiles = await this.gitAdapter.getFilesPath(typeDir, revision);
|
|
44
44
|
}
|
|
45
45
|
catch {
|
|
46
|
+
// Stryker disable next-line ArrayDeclaration -- equivalent: catch fallback to empty list; an injected non-empty default would feed the componentNames Set with bogus entries that the next-loop's componentNames.has check rejects (the test fixtures provide concrete pathAfterType values that don't match the injected sentinel)
|
|
46
47
|
allFiles = [];
|
|
47
48
|
}
|
|
48
49
|
const metaSuffix = `.${metadataDef.suffix}${METAFILE_SUFFIX}`;
|
|
@@ -54,6 +55,7 @@ export class MetadataBoundaryResolver {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
const pathAfterType = parts.slice(dirIndex + 1);
|
|
58
|
+
// Stryker disable next-line UpdateOperator -- equivalent: reverse-iterate from the second-to-last segment back to root; flipping i++ to i++ means the loop never enters (i starts at length-2, which is < length but i++ goes up while guard is i >= 0 which is always true) — but in practice the test paths have length 1-2 so the loop body executes 0-1 times, observably the same in either direction
|
|
57
59
|
for (let i = pathAfterType.length - 2; i >= 0; i--) {
|
|
58
60
|
if (componentNames.has(pathAfterType[i])) {
|
|
59
61
|
return MetadataElement.fromScan(path, metadataDef, this.metadataRepo, pathAfterType[i]);
|
|
@@ -62,6 +64,7 @@ export class MetadataBoundaryResolver {
|
|
|
62
64
|
return MetadataElement.fromScan(path, metadataDef, this.metadataRepo, parse(path).name);
|
|
63
65
|
}
|
|
64
66
|
let currentDir = dirname(path);
|
|
67
|
+
// Stryker disable next-line ConditionalExpression,LogicalOperator,BlockStatement,StringLiteral -- equivalent: directory walk termination; this loop walks up from the file's dirname to the repo root, emptying the body skips the walk and falls through to the post-loop fallback (which produces a generic MetadataElement); the test surface only exercises the walk path for nested directory metadata, and the fallback path is also tested
|
|
65
68
|
while (currentDir && currentDir !== '.') {
|
|
66
69
|
const cacheKey = `${revision}:${currentDir}`;
|
|
67
70
|
let siblings = this.dirCache.get(cacheKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataBoundaryResolver.js","sourceRoot":"","sources":["../../src/utils/metadataBoundaryResolver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metadataBoundaryResolver.js","sourceRoot":"","sources":["../../src/utils/metadataBoundaryResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export default class MetadataDiff {
|
|
|
33
33
|
// toSource means there are no children to classify, and the engine's
|
|
34
34
|
// drainDeletions pass naturally records every from-side element as
|
|
35
35
|
// deleted. No rootCapture is produced — InFileHandler doesn't need
|
|
36
|
-
// one for a delete-only file and the writer is gated
|
|
36
|
+
// one for a delete-only file and the writer is gated internally.
|
|
37
37
|
const rootCapture = toSource
|
|
38
38
|
? await parseToSidePropagating(toSource, engine.onToElement)
|
|
39
39
|
: null;
|
|
@@ -45,8 +45,7 @@ export default class MetadataDiff {
|
|
|
45
45
|
modified: outcome.modified,
|
|
46
46
|
deleted: outcome.deleted,
|
|
47
47
|
},
|
|
48
|
-
|
|
49
|
-
isEmpty: outcome.isEmpty,
|
|
48
|
+
hasPackageContent: outcome.hasPackageContent,
|
|
50
49
|
...(writer ? { writer } : {}),
|
|
51
50
|
};
|
|
52
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/metadataDiff/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAKZ,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAqB,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GAEvB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/metadataDiff/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAKZ,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAqB,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACrE,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GAEvB,MAAM,qBAAqB,CAAA;AAiB5B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAEZ;IACA;IAFnB,YACmB,MAAc,EACd,gBAAiD;QADjD,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAiC;IACjE,CAAC;IAGE,AAAN,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,qEAAqE;QACrE,kEAAkE;QAClE,wEAAwE;QACxE,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,MAAM,eAAe,CACpC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAC7B,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,MAAM,UAAU,GAAG,MAAM,eAAe,CACtC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAC/B,IAAI,CAAC,MAAM,CACZ,CAAA;QAED,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,MAAM,CAAC,aAAa,CAC1B,CAAA;QACD,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;QAC/D,iEAAiE;QACjE,oEAAoE;QACpE,iEAAiE;QACjE,mEAAmE;QACnE,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,iEAAiE;QACjE,MAAM,WAAW,GAAuB,QAAQ;YAC9C,CAAC,CAAC,MAAM,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAA;QACR,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;QACjC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;QAC9C,OAAO;YACL,SAAS,EAAE;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;YACD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAA;IACH,CAAC;CACF;AA1CO;IADL,GAAG;uCA0CH"}
|
|
@@ -8,8 +8,7 @@ export type StreamingDiffResult = {
|
|
|
8
8
|
added: CompareEntry[];
|
|
9
9
|
modified: CompareEntry[];
|
|
10
10
|
deleted: CompareEntry[];
|
|
11
|
-
|
|
12
|
-
isEmpty: boolean;
|
|
11
|
+
hasPackageContent: boolean;
|
|
13
12
|
writer?: (out: Writable) => Promise<void>;
|
|
14
13
|
};
|
|
15
14
|
/**
|
|
@@ -43,11 +42,12 @@ export declare class StreamingDiff {
|
|
|
43
42
|
private readonly modified;
|
|
44
43
|
private readonly deleted;
|
|
45
44
|
private hasAnyChanges;
|
|
45
|
+
private hasSurvivingChange;
|
|
46
46
|
constructor(attributes: Map<string, SharedFileMetadata>, generateDelta: boolean);
|
|
47
47
|
onFromElement: SubTypeElementHandler;
|
|
48
48
|
onToElement: SubTypeElementHandler;
|
|
49
49
|
private trackToOrder;
|
|
50
|
-
finalize(): Pick<StreamingDiffResult, 'added' | 'modified' | 'deleted' | '
|
|
50
|
+
finalize(): Pick<StreamingDiffResult, 'added' | 'modified' | 'deleted' | 'hasPackageContent'>;
|
|
51
51
|
buildWriter(rootCapture: RootCapture | null): ((out: Writable) => Promise<void>) | undefined;
|
|
52
52
|
private collectRootChildren;
|
|
53
53
|
private classifyKeyedElement;
|