Skip to content

Commit 762372e

Browse files
authored
fix: node types for process exitCode don't allow string
* chore: bump deps * fix: node types for process exitCode don't allow string
1 parent 71819c4 commit 762372e

File tree

5 files changed

+156
-562
lines changed

5 files changed

+156
-562
lines changed

package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,25 @@
77
"dependencies": {
88
"@oclif/core": "^3.26.5",
99
"@salesforce/apex-node": "^6.0.0",
10-
"@salesforce/core": "^7.0.1",
11-
"@salesforce/kit": "^3.1.0",
12-
"@salesforce/plugin-info": "^3.2.3",
13-
"@salesforce/sf-plugins-core": "^9.0.4",
14-
"@salesforce/source-deploy-retrieve": "^11.0.0",
10+
"@salesforce/core": "^7.3.5",
11+
"@salesforce/kit": "^3.1.1",
12+
"@salesforce/plugin-info": "^3.2.7",
13+
"@salesforce/sf-plugins-core": "^9.0.7",
14+
"@salesforce/source-deploy-retrieve": "^11.4.0",
1515
"@salesforce/source-tracking": "^6.0.4",
1616
"@salesforce/ts-types": "^2.0.9",
1717
"chalk": "^5.3.0"
1818
},
1919
"devDependencies": {
20-
"@oclif/plugin-command-snapshot": "^5.1.6",
21-
"@salesforce/cli-plugins-testkit": "^5.3.1",
20+
"@oclif/plugin-command-snapshot": "^5.1.8",
21+
"@salesforce/cli-plugins-testkit": "^5.3.2",
2222
"@salesforce/dev-scripts": "^9.0.0",
23-
"@salesforce/plugin-command-reference": "^3.0.82",
24-
"@salesforce/source-testkit": "^2.2.7",
23+
"@salesforce/plugin-command-reference": "^3.0.83",
24+
"@salesforce/source-testkit": "^2.2.10",
2525
"@salesforce/ts-sinon": "^1.4.19",
2626
"cross-env": "^7.0.3",
27-
"eslint-plugin-sf-plugin": "^1.18.1",
28-
"oclif": "^4.10.1",
27+
"eslint-plugin-sf-plugin": "^1.18.3",
28+
"oclif": "^4.10.4",
2929
"ts-node": "^10.9.2",
3030
"typescript": "^5.4.5"
3131
},

src/formatters/deleteResultFormatter.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@ import { ensureArray } from '@salesforce/kit';
1010
import chalk from 'chalk';
1111
import { StandardColors } from '@salesforce/sf-plugins-core';
1212
import { DeleteSourceJson, Formatter, TestLevel, isSdrSuccess } from '../utils/types.js';
13-
import { fileResponseSortFn, getFileResponseSuccessProps, makePathRelative } from '../utils/output.js';
13+
import {
14+
exitCodeAsNumber,
15+
fileResponseSortFn,
16+
getFileResponseSuccessProps,
17+
makePathRelative,
18+
} from '../utils/output.js';
1419
import { TestResultsFormatter } from '../formatters/testResultsFormatter.js';
1520

1621
export class DeleteResultFormatter extends TestResultsFormatter implements Formatter<DeleteSourceJson> {
@@ -43,7 +48,7 @@ export class DeleteResultFormatter extends TestResultsFormatter implements Forma
4348

4449
public display(): void {
4550
this.displayTestResults();
46-
if ([0, 69].includes(process.exitCode ?? 0)) {
51+
if ([0, 69].includes(exitCodeAsNumber() ?? 0)) {
4752
const successes: FileResponseSuccess[] = [];
4853
const fileResponseSuccesses: Map<string, FileResponse> = new Map<string, FileResponse>();
4954

src/formatters/sourceConvertResultFormatter.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { ux } from '@oclif/core';
1010
import { ConvertResult } from '@salesforce/source-deploy-retrieve';
1111
import { SfError, Messages } from '@salesforce/core';
1212
import { ConvertResultJson, Formatter } from '../utils/types.js';
13+
import { exitCodeAsNumber } from '../utils/output.js';
1314

1415
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
1516
export const convertMessages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'convert.source');
@@ -27,7 +28,7 @@ export class SourceConvertResultFormatter implements Formatter<ConvertResultJson
2728
}
2829

2930
public display(): void {
30-
if ([0, 69].includes(process.exitCode ?? 0)) {
31+
if ([0, 69].includes(exitCodeAsNumber() ?? 0)) {
3132
ux.log(convertMessages.getMessage('success', [this.result.packagePath]));
3233
} else {
3334
throw new SfError(convertMessages.getMessage('convertFailed'), 'ConvertFailed');

src/utils/output.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ export const fileResponseSortFn = (i: FileResponse, j: FileResponse): number =>
2929
return i.type > j.type ? 1 : -1;
3030
};
3131

32+
export const exitCodeAsNumber = (): number | undefined => {
33+
try {
34+
return typeof process.exitCode === 'string' ? parseInt(process.exitCode, 10) : process.exitCode;
35+
} catch {
36+
// it *could* be a string that fails to parse to int?
37+
return undefined;
38+
}
39+
};
40+
3241
/** oclif table doesn't like "interface" but likes "type". SDR exports an interface */
3342
export const getFileResponseSuccessProps = (
3443
s: FileResponseSuccess

0 commit comments

Comments
 (0)