sfdx-git-delta 7.3.0 → 7.4.1
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 +23 -4
- package/lib/adapter/GitAdapter.d.ts +9 -4
- package/lib/adapter/GitAdapter.js +147 -52
- package/lib/adapter/GitAdapter.js.map +1 -1
- package/lib/adapter/pathMatching.d.ts +2 -1
- package/lib/adapter/pathMatching.js +35 -3
- package/lib/adapter/pathMatching.js.map +1 -1
- package/lib/adapter/treeReader.d.ts +1 -0
- package/lib/adapter/treeReader.js +10 -0
- package/lib/adapter/treeReader.js.map +1 -1
- package/lib/adapter/tsgitErrorMap.d.ts +6 -3
- package/lib/adapter/tsgitErrorMap.js +55 -16
- package/lib/adapter/tsgitErrorMap.js.map +1 -1
- package/lib/constant/metadataConstants.d.ts +9 -1
- package/lib/constant/metadataConstants.js +17 -3
- package/lib/constant/metadataConstants.js.map +1 -1
- package/lib/main.js +66 -63
- package/lib/main.js.map +1 -1
- package/lib/metadata/MetadataRepositoryImpl.d.ts +14 -2
- package/lib/metadata/MetadataRepositoryImpl.js +192 -50
- package/lib/metadata/MetadataRepositoryImpl.js.map +1 -1
- package/lib/post-processor/includeProcessor.js +8 -9
- package/lib/post-processor/includeProcessor.js.map +1 -1
- package/lib/service/botHandler.js +1 -1
- package/lib/service/botHandler.js.map +1 -1
- package/lib/service/inBundleHandler.js +10 -23
- package/lib/service/inBundleHandler.js.map +1 -1
- package/lib/service/inFolderHandler.js +1 -2
- package/lib/service/inFolderHandler.js.map +1 -1
- package/lib/service/objectTranslationHandler.d.ts +0 -1
- package/lib/service/objectTranslationHandler.js +11 -4
- package/lib/service/objectTranslationHandler.js.map +1 -1
- package/lib/types/runContext.d.ts +16 -5
- package/lib/types/runContext.js +17 -5
- package/lib/types/runContext.js.map +1 -1
- package/lib/utils/__mocks__/LoggingService.d.ts +2 -7
- package/lib/utils/__mocks__/LoggingService.js.map +1 -1
- package/lib/utils/changeSet.d.ts +1 -0
- package/lib/utils/changeSet.js +26 -1
- package/lib/utils/changeSet.js.map +1 -1
- package/lib/utils/configValidator.d.ts +14 -1
- package/lib/utils/configValidator.js +144 -72
- package/lib/utils/configValidator.js.map +1 -1
- package/lib/utils/errorUtils.d.ts +8 -0
- package/lib/utils/errorUtils.js +14 -0
- package/lib/utils/errorUtils.js.map +1 -1
- package/lib/utils/messageSanitizer.d.ts +1 -0
- package/lib/utils/messageSanitizer.js +46 -0
- package/lib/utils/messageSanitizer.js.map +1 -1
- package/lib/utils/metadataDiff/xmlEventReader.js +1 -1
- package/lib/utils/metadataDiff/xmlEventReader.js.map +1 -1
- package/lib/utils/repoGitDiff.d.ts +17 -2
- package/lib/utils/repoGitDiff.js +93 -12
- package/lib/utils/repoGitDiff.js.map +1 -1
- package/lib/utils/treeIndexScope.js +5 -14
- package/lib/utils/treeIndexScope.js.map +1 -1
- package/lib/utils/treeReaderBuilder.d.ts +8 -0
- package/lib/utils/treeReaderBuilder.js +34 -0
- package/lib/utils/treeReaderBuilder.js.map +1 -0
- package/lib/utils/txmlAdapter.js +1 -1
- package/lib/utils/txmlAdapter.js.map +1 -1
- package/messages/delta.md +16 -5
- package/oclif.manifest.json +1 -1
- package/package.json +105 -49
package/lib/types/runContext.js
CHANGED
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
import { withoutRevision } from '../adapter/treeReader.js';
|
|
2
3
|
/**
|
|
3
4
|
* The single derive point for a pass that runs under overridden revisions
|
|
4
5
|
* (IncludeProcessor's ADDITION / DELETION re-entry). `trees` is deliberately
|
|
5
|
-
* carried through UNCHANGED:
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* carried through UNCHANGED: this function only ever rebinds `config.from`/
|
|
7
|
+
* `config.to`, so a reader that already holds an index for the overridden
|
|
8
|
+
* revision keeps answering from it. The include DELETION pass needs the
|
|
9
|
+
* opposite of that — its liveness check must answer `false` regardless of
|
|
10
|
+
* what the reader holds for the pass's effective `config.to` — and gets that
|
|
11
|
+
* explicitly via `withMaskedTreeRevision` below, rather than by relying on
|
|
12
|
+
* this function to leave the revision unindexed.
|
|
10
13
|
*/
|
|
11
14
|
export const withRevisions = (ctx, revisions) => revisions ? { ...ctx, config: { ...ctx.config, ...revisions } } : ctx;
|
|
15
|
+
/**
|
|
16
|
+
* Sibling to `withRevisions`: masks one named revision out of `trees` so
|
|
17
|
+
* every tree-index-backed read at that revision answers as an unbuilt index
|
|
18
|
+
* would (`false`/`[]`), no matter what the underlying reader actually holds
|
|
19
|
+
* for it. Used to make the include DELETION pass's container-liveness check
|
|
20
|
+
* degrade unconditionally, instead of depending on the first commit
|
|
21
|
+
* happening to be unindexed.
|
|
22
|
+
*/
|
|
23
|
+
export const withMaskedTreeRevision = (ctx, revision) => ({ ...ctx, trees: withoutRevision(ctx.trees, revision) });
|
|
12
24
|
//# sourceMappingURL=runContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runContext.js","sourceRoot":"","sources":["../../src/types/runContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"runContext.js","sourceRoot":"","sources":["../../src/types/runContext.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAGZ,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAU1D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAe,EACf,SAAwC,EAC5B,EAAE,CACd,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;AAEvE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,GAAe,EACf,QAAgB,EACJ,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
declare const lazy: typeof import("../LoggingService.js").lazy;
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
warn: import("vitest").Mock<(msg: unknown) => void>;
|
|
5
|
-
info: import("vitest").Mock<import("@vitest/spy").Procedure>;
|
|
6
|
-
error: import("vitest").Mock<import("@vitest/spy").Procedure>;
|
|
7
|
-
trace: import("vitest").Mock<import("@vitest/spy").Procedure>;
|
|
8
|
-
};
|
|
2
|
+
type LogSink = (msg: unknown) => void;
|
|
3
|
+
declare const Logger: Record<'debug' | 'warn' | 'info' | 'error' | 'trace', LogSink>;
|
|
9
4
|
export { Logger, lazy };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoggingService.js","sourceRoot":"","sources":["../../../src/utils/__mocks__/LoggingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,YAAY,CACpC,sBAAsB,CACvB,CAAA;AAED,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAY,EAAE,EAAE;IACrC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAG,GAAkB,EAAE,CAAA;AACtD,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"LoggingService.js","sourceRoot":"","sources":["../../../src/utils/__mocks__/LoggingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAE3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,YAAY,CACpC,sBAAsB,CACvB,CAAA;AAED,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,GAAY,EAAE,EAAE;IACrC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAG,GAAkB,EAAE,CAAA;AACtD,CAAC,CAAC,CAAA;AAMF,MAAM,MAAM,GAAmE;IAC7E,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;IACb,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;CACf,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA"}
|
package/lib/utils/changeSet.d.ts
CHANGED
package/lib/utils/changeSet.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
import { DOT } from '../constant/fsConstants.js';
|
|
3
|
+
import { BOT_TYPE, BOT_VERSION_TYPE } from '../constant/metadataConstants.js';
|
|
2
4
|
import { ChangeKind, ManifestTarget, } from '../types/handlerResult.js';
|
|
3
5
|
const KEY_SEPARATOR = '\0';
|
|
4
6
|
const renameKey = (from, to) => `${from}${KEY_SEPARATOR}${to}`;
|
|
@@ -106,7 +108,30 @@ export default class ChangeSet {
|
|
|
106
108
|
this.byTarget[ManifestTarget.DestructiveChanges],
|
|
107
109
|
this._renameSourcesByType(),
|
|
108
110
|
]);
|
|
109
|
-
return this._subtractByType(baseDeletes, this.forPackageManifest());
|
|
111
|
+
return this._suppressVersionsOfDeletedBots(this._subtractByType(baseDeletes, this.forPackageManifest()));
|
|
112
|
+
}
|
|
113
|
+
// A deleted Bot takes its versions with it, so a BotVersion listed beside
|
|
114
|
+
// its own deleted parent is redundant. A BotVersion member is
|
|
115
|
+
// `<bot>.<version>`, and a Bot API name cannot contain a dot, so the
|
|
116
|
+
// segment before the first one names the parent. Both halves are
|
|
117
|
+
// Salesforce API names, so a bot folder that carries a dot is not
|
|
118
|
+
// deployable source and is not catered for. Only the destructive manifest
|
|
119
|
+
// is filtered: the change-kind review view keeps the version, because that
|
|
120
|
+
// file really was deleted.
|
|
121
|
+
_suppressVersionsOfDeletedBots(deletes) {
|
|
122
|
+
const bots = deletes.get(BOT_TYPE);
|
|
123
|
+
const versions = deletes.get(BOT_VERSION_TYPE);
|
|
124
|
+
if (!bots?.size || !versions?.size)
|
|
125
|
+
return deletes;
|
|
126
|
+
const kept = new Set([...versions].filter(version => !bots.has(version.split(DOT)[0])));
|
|
127
|
+
const result = new Map(deletes);
|
|
128
|
+
if (kept.size > 0) {
|
|
129
|
+
result.set(BOT_VERSION_TYPE, kept);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
result.delete(BOT_VERSION_TYPE);
|
|
133
|
+
}
|
|
134
|
+
return result;
|
|
110
135
|
}
|
|
111
136
|
// Whether either manifest view would carry at least one member — the
|
|
112
137
|
// "did this run actually produce anything" signal callers need without
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeSet.js","sourceRoot":"","sources":["../../src/utils/changeSet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"changeSet.js","sourceRoot":"","sources":["../../src/utils/changeSet.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import GitAdapter from '../adapter/GitAdapter.js';
|
|
|
2
2
|
import type { Config } from '../types/config.js';
|
|
3
3
|
import { MessageService } from './MessageService.js';
|
|
4
4
|
import type { SourceDirRejection } from './pathspec.js';
|
|
5
|
+
type ShaKey = 'from' | 'to';
|
|
5
6
|
export default class ConfigValidator {
|
|
6
7
|
protected readonly config: Config;
|
|
7
8
|
private readonly sourceRejections;
|
|
@@ -9,13 +10,25 @@ export default class ConfigValidator {
|
|
|
9
10
|
protected readonly message: MessageService;
|
|
10
11
|
constructor(config: Config, sourceRejections?: readonly SourceDirRejection[]);
|
|
11
12
|
protected _validateGitSha(): Promise<string[]>;
|
|
13
|
+
protected _shaFailureMessage(error: unknown, shaParameter: ShaKey, shaValue: string): string;
|
|
12
14
|
protected _validateSource(): string[];
|
|
13
15
|
validateConfig(): Promise<readonly Error[]>;
|
|
16
|
+
private _assertSourceDirs;
|
|
17
|
+
private _validateInputsAndApiVersion;
|
|
18
|
+
private _collectInputErrors;
|
|
19
|
+
private _settleApiVersion;
|
|
20
|
+
private _configError;
|
|
14
21
|
protected _resolveMergeBase(requestedFrom: string, requestedTo: string): Promise<void>;
|
|
22
|
+
protected _validateRepository(): Promise<string[]>;
|
|
15
23
|
protected _validateChangesManifest(): Promise<string[]>;
|
|
16
24
|
protected _handleDefault(): Promise<readonly Error[]>;
|
|
17
25
|
protected _getApiVersion(): Promise<void>;
|
|
18
26
|
protected _apiVersionDefault(): Promise<readonly Error[]>;
|
|
19
|
-
protected _resolveLatestSupportedVersion(): Promise<number
|
|
27
|
+
protected _resolveLatestSupportedVersion(): Promise<number>;
|
|
28
|
+
private _lookUpLatestVersion;
|
|
29
|
+
private _refusal;
|
|
30
|
+
private _isPinned;
|
|
31
|
+
private _describeLookupFailure;
|
|
20
32
|
protected _sanitizeConfig(): void;
|
|
21
33
|
}
|
|
34
|
+
export {};
|
|
@@ -11,13 +11,12 @@ import { SfProject } from '@salesforce/core';
|
|
|
11
11
|
import GitAdapter from '../adapter/GitAdapter.js';
|
|
12
12
|
import { GIT_FOLDER } from '../constant/gitConstants.js';
|
|
13
13
|
import { getLatestSupportedVersion } from '../metadata/metadataManager.js';
|
|
14
|
-
import {
|
|
15
|
-
import { ConfigError, getErrorMessage } from './errorUtils.js';
|
|
14
|
+
import { ConfigError, getErrorMessage, NotACommitError, RepositoryRefusalError, } from './errorUtils.js';
|
|
16
15
|
import { pathExists, sanitizePath } from './fsUtils.js';
|
|
17
16
|
import { log } from './LoggingDecorator.js';
|
|
18
17
|
import { Logger, lazy } from './LoggingService.js';
|
|
19
18
|
import { MessageService } from './MessageService.js';
|
|
20
|
-
import { sanitizeForMessage } from './messageSanitizer.js';
|
|
19
|
+
import { redactProxyCredentials, sanitizeForMessage, } from './messageSanitizer.js';
|
|
21
20
|
const SHA_KEYS = ['from', 'to'];
|
|
22
21
|
const SOURCE_DIR_REJECTION_MESSAGE_KEYS = {
|
|
23
22
|
empty: 'error.SourceDirIsEmpty',
|
|
@@ -26,6 +25,16 @@ const SOURCE_DIR_REJECTION_MESSAGE_KEYS = {
|
|
|
26
25
|
absolute: 'error.SourceDirIsAbsolute',
|
|
27
26
|
escapes: 'error.SourceDirEscapesRepository',
|
|
28
27
|
};
|
|
28
|
+
const isPositiveVersion = (version) => version > 0;
|
|
29
|
+
// Two values arrive unparsed: a JavaScript library caller's apiVersion, which
|
|
30
|
+
// the number type does not bind (e.g. '' or '67.0'), and sfdx-project.json's
|
|
31
|
+
// sourceApiVersion string. Parse the way the --api-version flag path does, so
|
|
32
|
+
// a value that does not parse to a positive version means "not provided"
|
|
33
|
+
// rather than rendering <version>.0</version>.
|
|
34
|
+
const toApiVersion = (value) => {
|
|
35
|
+
const parsed = parseInt(String(value), 10);
|
|
36
|
+
return isPositiveVersion(parsed) ? parsed : undefined;
|
|
37
|
+
};
|
|
29
38
|
export default class ConfigValidator {
|
|
30
39
|
config;
|
|
31
40
|
sourceRejections;
|
|
@@ -42,20 +51,39 @@ export default class ConfigValidator {
|
|
|
42
51
|
await Promise.all(SHA_KEYS.map(async (shaParameter) => {
|
|
43
52
|
const shaValue = this.config[shaParameter];
|
|
44
53
|
try {
|
|
45
|
-
this.config[shaParameter] =
|
|
54
|
+
this.config[shaParameter] =
|
|
55
|
+
await this.gitAdapter.resolveCommit(shaValue);
|
|
46
56
|
}
|
|
47
57
|
catch (error) {
|
|
48
58
|
Logger.debug(
|
|
49
59
|
// Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: catch log content is observability only
|
|
50
|
-
lazy `_validateGitSha: '${shaParameter}' = '${shaValue}'
|
|
51
|
-
errors.push(this.
|
|
52
|
-
shaParameter,
|
|
53
|
-
sanitizeForMessage(shaValue),
|
|
54
|
-
]));
|
|
60
|
+
lazy `_validateGitSha: '${shaParameter}' = '${shaValue}' does not resolve to a commit: ${() => getErrorMessage(error)}`);
|
|
61
|
+
errors.push(this._shaFailureMessage(error, shaParameter, shaValue));
|
|
55
62
|
}
|
|
56
63
|
}));
|
|
57
64
|
return errors;
|
|
58
65
|
}
|
|
66
|
+
// A refusal is about the repository, not about either ref: reporting it
|
|
67
|
+
// verbatim replaces two bogus "check the fetch depth" lines with the one
|
|
68
|
+
// thing the user can act on. A non-commit is about the ref's KIND, not
|
|
69
|
+
// its existence: the fetch-depth hint would send the user to deepen a
|
|
70
|
+
// clone that is already complete, so it gets its own sentence. Both name
|
|
71
|
+
// shaValue — what the user typed — never the oid resolveCommit produced.
|
|
72
|
+
_shaFailureMessage(error, shaParameter, shaValue) {
|
|
73
|
+
if (error instanceof RepositoryRefusalError)
|
|
74
|
+
return error.message;
|
|
75
|
+
if (error instanceof NotACommitError) {
|
|
76
|
+
return this.message.getMessage('error.ParameterIsNotCommit', [
|
|
77
|
+
shaParameter,
|
|
78
|
+
sanitizeForMessage(shaValue),
|
|
79
|
+
error.objectType,
|
|
80
|
+
]);
|
|
81
|
+
}
|
|
82
|
+
return this.message.getMessage('error.ParameterIsNotGitSHA', [
|
|
83
|
+
shaParameter,
|
|
84
|
+
sanitizeForMessage(shaValue),
|
|
85
|
+
]);
|
|
86
|
+
}
|
|
59
87
|
_validateSource() {
|
|
60
88
|
return this.sourceRejections.map(rejection => this.message.getMessage(SOURCE_DIR_REJECTION_MESSAGE_KEYS[rejection.reason], [sanitizeForMessage(rejection.value)]));
|
|
61
89
|
}
|
|
@@ -63,34 +91,64 @@ export default class ConfigValidator {
|
|
|
63
91
|
const requestedFrom = this.config.from;
|
|
64
92
|
const requestedTo = this.config.to;
|
|
65
93
|
this._sanitizeConfig();
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
// the
|
|
69
|
-
//
|
|
94
|
+
this._assertSourceDirs();
|
|
95
|
+
const warnings = await this._validateInputsAndApiVersion();
|
|
96
|
+
// Runs after the SHA validation above so a typo in either ref surfaces
|
|
97
|
+
// as the precise ParameterIsNotGitSHA message instead of the vaguer
|
|
98
|
+
// MergeBaseNotFound.
|
|
99
|
+
await this._resolveMergeBase(requestedFrom, requestedTo);
|
|
100
|
+
return warnings;
|
|
101
|
+
}
|
|
102
|
+
// Short-circuits before any git object is read: _validateGitSha below
|
|
103
|
+
// calls resolveCommit, which opens the repository. A bad --source-dir is
|
|
104
|
+
// the actionable error and the one that today produces a silent empty
|
|
105
|
+
// manifest, so it is reported alone even if the SHAs are also invalid.
|
|
106
|
+
_assertSourceDirs() {
|
|
70
107
|
const sourceErrors = this._validateSource();
|
|
71
108
|
if (sourceErrors.length > 0) {
|
|
72
109
|
throw new ConfigError(sourceErrors.join(', '));
|
|
73
110
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
111
|
+
}
|
|
112
|
+
async _validateInputsAndApiVersion() {
|
|
113
|
+
const [apiVersionOutcome, inputErrors] = await Promise.all([
|
|
114
|
+
this._settleApiVersion(),
|
|
115
|
+
this._collectInputErrors(),
|
|
116
|
+
]);
|
|
117
|
+
// The refusal is about the environment, the input errors about what the
|
|
118
|
+
// user typed: report both in one run, the typing first.
|
|
119
|
+
if ('refusal' in apiVersionOutcome) {
|
|
120
|
+
throw this._configError([...inputErrors, apiVersionOutcome.refusal]);
|
|
121
|
+
}
|
|
122
|
+
if (inputErrors.length > 0) {
|
|
123
|
+
throw this._configError(inputErrors);
|
|
124
|
+
}
|
|
125
|
+
return apiVersionOutcome.warnings;
|
|
126
|
+
}
|
|
127
|
+
async _collectInputErrors() {
|
|
128
|
+
const errorGroups = await Promise.all([
|
|
129
|
+
this._validateRepository(),
|
|
77
130
|
this._validateGitSha(),
|
|
78
131
|
this._validateChangesManifest(),
|
|
79
132
|
]);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
133
|
+
return errorGroups.flat();
|
|
134
|
+
}
|
|
135
|
+
// Only a ConfigError is a refusal to report alongside the input errors; any
|
|
136
|
+
// other rejection is a defect and propagates untouched.
|
|
137
|
+
async _settleApiVersion() {
|
|
138
|
+
try {
|
|
139
|
+
return { warnings: await this._handleDefault() };
|
|
83
140
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
141
|
+
catch (error) {
|
|
142
|
+
if (!(error instanceof ConfigError))
|
|
143
|
+
throw error;
|
|
144
|
+
return { refusal: error.message };
|
|
88
145
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
146
|
+
}
|
|
147
|
+
// Two SHA keys against one repository produce the same refusal twice, and a
|
|
148
|
+
// missing .git makes the config check and the engine say the same sentence.
|
|
149
|
+
// Identical strings carry no extra information.
|
|
150
|
+
_configError(errors) {
|
|
151
|
+
return new ConfigError([...new Set(errors)].join(', '));
|
|
94
152
|
}
|
|
95
153
|
// --merge-base resolves --from to the merge base of --from and --to (git
|
|
96
154
|
// three-dot semantics) in place. requestedFrom/requestedTo are the
|
|
@@ -109,6 +167,20 @@ export default class ConfigValidator {
|
|
|
109
167
|
}
|
|
110
168
|
this.config.from = base;
|
|
111
169
|
}
|
|
170
|
+
// Rendered from the adapter's own absolute repository key — not
|
|
171
|
+
// this.config.repo, which is only sanitizePath-normalized, never resolved to
|
|
172
|
+
// absolute — so this collapses with the identical RepositoryRefusalError
|
|
173
|
+
// message a same-repository resolveCommit failure produces, instead of
|
|
174
|
+
// reporting the missing repository twice in two different forms.
|
|
175
|
+
async _validateRepository() {
|
|
176
|
+
if (await pathExists(join(this.config.repo, GIT_FOLDER)))
|
|
177
|
+
return [];
|
|
178
|
+
return [
|
|
179
|
+
this.message.getMessage('error.PathIsNotGit', [
|
|
180
|
+
sanitizeForMessage(this.gitAdapter.repositoryKey),
|
|
181
|
+
]),
|
|
182
|
+
];
|
|
183
|
+
}
|
|
112
184
|
// oclif cannot natively validate --changes-manifest (it uses a string flag
|
|
113
185
|
// to allow the bare form). Replicate meaningful checks: if the path already
|
|
114
186
|
// exists it must be a regular file; otherwise ENOENT is fine because
|
|
@@ -145,19 +217,19 @@ export default class ConfigValidator {
|
|
|
145
217
|
}
|
|
146
218
|
async _handleDefault() {
|
|
147
219
|
await this._getApiVersion();
|
|
220
|
+
// A version the user pinned is emitted as pinned: capping it would need the
|
|
221
|
+
// network, and a manifest that changes with network reachability is one the
|
|
222
|
+
// user cannot reproduce.
|
|
223
|
+
if (this._isPinned())
|
|
224
|
+
return [];
|
|
148
225
|
return await this._apiVersionDefault();
|
|
149
226
|
}
|
|
150
227
|
async _getApiVersion() {
|
|
151
|
-
if (this.
|
|
228
|
+
if (this._isPinned())
|
|
152
229
|
return;
|
|
153
230
|
try {
|
|
154
231
|
const sfProject = await SfProject.resolve(this.config.repo);
|
|
155
|
-
|
|
156
|
-
.getSfProjectJson()
|
|
157
|
-
.getContents().sourceApiVersion;
|
|
158
|
-
if (projectApiVersion) {
|
|
159
|
-
this.config.apiVersion = parseInt(projectApiVersion, 10);
|
|
160
|
-
}
|
|
232
|
+
this.config.apiVersion = toApiVersion(sfProject.getSfProjectJson().getContents().sourceApiVersion);
|
|
161
233
|
}
|
|
162
234
|
catch (ex) {
|
|
163
235
|
Logger.debug(
|
|
@@ -167,53 +239,53 @@ export default class ConfigValidator {
|
|
|
167
239
|
}
|
|
168
240
|
async _apiVersionDefault() {
|
|
169
241
|
const latestVersion = await this._resolveLatestSupportedVersion();
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
const warnings = [];
|
|
174
|
-
// 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)
|
|
175
|
-
if (this.config.apiVersion !== undefined &&
|
|
176
|
-
!isNaN(this.config.apiVersion) &&
|
|
177
|
-
this.config.apiVersion > latestVersion) {
|
|
178
|
-
// Stryker restore ConditionalExpression,LogicalOperator
|
|
179
|
-
warnings.push(new Error(this.message.getMessage('warning.ApiVersionOverridden', [
|
|
180
|
-
String(this.config.apiVersion),
|
|
181
|
-
String(latestVersion),
|
|
182
|
-
])));
|
|
183
|
-
this.config.apiVersion = latestVersion;
|
|
184
|
-
}
|
|
185
|
-
// 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
|
|
186
|
-
if (this.config.apiVersion === undefined || isNaN(this.config.apiVersion)) {
|
|
187
|
-
this.config.apiVersion = latestVersion;
|
|
188
|
-
warnings.push(new Error(this.message.getMessage('warning.ApiVersionDefaulted', [
|
|
242
|
+
this.config.apiVersion = latestVersion;
|
|
243
|
+
return [
|
|
244
|
+
new Error(this.message.getMessage('warning.ApiVersionDefaulted', [
|
|
189
245
|
String(latestVersion),
|
|
190
|
-
]))
|
|
191
|
-
|
|
192
|
-
return warnings;
|
|
246
|
+
])),
|
|
247
|
+
];
|
|
193
248
|
}
|
|
194
|
-
//
|
|
195
|
-
//
|
|
249
|
+
// Only an unpinned run looks the version up, so there is nothing to fall back
|
|
250
|
+
// to: a lookup that fails, or that answers with something that is not a
|
|
251
|
+
// positive version, refuses the run. This tool cannot vouch for a <version> it
|
|
252
|
+
// did not resolve, and a wrong one is authoritative at deploy time.
|
|
196
253
|
async _resolveLatestSupportedVersion() {
|
|
254
|
+
const latestVersion = await this._lookUpLatestVersion();
|
|
255
|
+
if (isPositiveVersion(latestVersion))
|
|
256
|
+
return latestVersion;
|
|
257
|
+
throw this._refusal(this.message.getMessage('error.ApiVersionLookupUnusable', [
|
|
258
|
+
String(latestVersion),
|
|
259
|
+
]));
|
|
260
|
+
}
|
|
261
|
+
async _lookUpLatestVersion() {
|
|
197
262
|
try {
|
|
198
263
|
return await getLatestSupportedVersion();
|
|
199
264
|
}
|
|
200
265
|
catch (ex) {
|
|
201
|
-
|
|
202
|
-
// Stryker disable ConditionalExpression -- equivalent: the '!== undefined' clause exists only for TS narrowing (isNaN requires a number); !isNaN already returns false for both undefined and NaN, so replacing the left operand with true preserves behavior for every reachable apiVersion
|
|
203
|
-
if (this.config.apiVersion !== undefined &&
|
|
204
|
-
!isNaN(this.config.apiVersion)) {
|
|
205
|
-
// Stryker restore ConditionalExpression
|
|
206
|
-
Logger.debug(
|
|
207
|
-
// Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only
|
|
208
|
-
lazy `_resolveLatestSupportedVersion: keeping provided apiVersion, latest version lookup failed: ${ex}`);
|
|
209
|
-
return undefined;
|
|
210
|
-
}
|
|
211
|
-
throw new ConfigError(this.message.getMessage('error.ApiVersionRetrievalFailed', [
|
|
212
|
-
getErrorMessage(ex),
|
|
213
|
-
]));
|
|
266
|
+
throw this._refusal(this._describeLookupFailure(ex));
|
|
214
267
|
}
|
|
215
268
|
}
|
|
269
|
+
_refusal(detail) {
|
|
270
|
+
return new ConfigError(this.message.getMessage('error.ApiVersionRetrievalFailed', [detail]));
|
|
271
|
+
}
|
|
272
|
+
_isPinned() {
|
|
273
|
+
return this.config.apiVersion !== undefined;
|
|
274
|
+
}
|
|
275
|
+
// SDR wraps got's RequestError as `cause`; its message carries the code
|
|
276
|
+
// (connect ECONNREFUSED …, connect ETIMEDOUT, getaddrinfo ENOTFOUND …), which is
|
|
277
|
+
// the only thing that tells a proxy misconfiguration from a firewall drop from DNS.
|
|
278
|
+
_describeLookupFailure(ex) {
|
|
279
|
+
const message = getErrorMessage(ex);
|
|
280
|
+
const cause = ex instanceof Error ? ex.cause : undefined;
|
|
281
|
+
if (!(cause instanceof Error))
|
|
282
|
+
return message;
|
|
283
|
+
// Redact before sanitising: the length cap could otherwise cut between the
|
|
284
|
+
// credentials and their '@', leaving a fragment the redaction cannot match.
|
|
285
|
+
return `${message} (${sanitizeForMessage(redactProxyCredentials(cause.message))})`;
|
|
286
|
+
}
|
|
216
287
|
_sanitizeConfig() {
|
|
288
|
+
this.config.apiVersion = toApiVersion(this.config.apiVersion);
|
|
217
289
|
this.config.repo = sanitizePath(this.config.repo);
|
|
218
290
|
this.config.output = sanitizePath(this.config.output);
|
|
219
291
|
this.config.ignore = sanitizePath(this.config.ignore);
|
|
@@ -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;AAE1E,OAAO,
|
|
1
|
+
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,13 @@ export declare class ConfigError extends SgdError {
|
|
|
7
7
|
export declare class MetadataRegistryError extends SgdError {
|
|
8
8
|
constructor(message: string);
|
|
9
9
|
}
|
|
10
|
+
export declare class RepositoryRefusalError extends SgdError {
|
|
11
|
+
constructor(message: string);
|
|
12
|
+
}
|
|
13
|
+
export type NonCommitObjectType = 'tree' | 'blob';
|
|
14
|
+
export declare class NotACommitError extends SgdError {
|
|
15
|
+
readonly objectType: NonCommitObjectType;
|
|
16
|
+
constructor(label: string, objectType: NonCommitObjectType);
|
|
17
|
+
}
|
|
10
18
|
export declare const getErrorMessage: (error: unknown) => string;
|
|
11
19
|
export declare const wrapError: (message: string, cause: unknown) => SgdError;
|
package/lib/utils/errorUtils.js
CHANGED
|
@@ -17,6 +17,20 @@ export class MetadataRegistryError extends SgdError {
|
|
|
17
17
|
this.name = 'MetadataRegistryError';
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
+
export class RepositoryRefusalError extends SgdError {
|
|
21
|
+
constructor(message) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'RepositoryRefusalError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export class NotACommitError extends SgdError {
|
|
27
|
+
objectType;
|
|
28
|
+
constructor(label, objectType) {
|
|
29
|
+
super(`'${label}' does not resolve to a commit (it is a ${objectType})`);
|
|
30
|
+
this.objectType = objectType;
|
|
31
|
+
this.name = 'NotACommitError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
20
34
|
export const getErrorMessage = (error) => {
|
|
21
35
|
if (error instanceof Error) {
|
|
22
36
|
return error.message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorUtils.js","sourceRoot":"","sources":["../../src/utils/errorUtils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,KAAc,EAAY,EAAE;IACrE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"errorUtils.js","sourceRoot":"","sources":["../../src/utils/errorUtils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAOD,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAGhC,UAAU;IAFrB,YACE,KAAa,EACJ,UAA+B;QAExC,KAAK,CAAC,IAAI,KAAK,2CAA2C,UAAU,GAAG,CAAC,CAAA;0BAF/D,UAAU;QAGnB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,KAAc,EAAY,EAAE;IACrE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA"}
|