diff --git a/dist/index.js b/dist/index.js index 99379c6bf..dd0e7dab6 100644 --- a/dist/index.js +++ b/dist/index.js @@ -452,7 +452,7 @@ function createPullRequest(inputs) { } } catch (error) { - core.setFailed(error.message); + core.setFailed(utils.getErrorMessage(error)); } finally { // Remove auth and restore persisted auth config if it existed @@ -507,6 +507,7 @@ const core = __importStar(__nccwpck_require__(2186)); const fs = __importStar(__nccwpck_require__(7147)); const path = __importStar(__nccwpck_require__(1017)); const url_1 = __nccwpck_require__(7310); +const utils = __importStar(__nccwpck_require__(918)); class GitAuthHelper { constructor(git) { this.extraheaderConfigPlaceholderValue = 'AUTHORIZATION: basic ***'; @@ -531,7 +532,7 @@ class GitAuthHelper { core.info('Persisted git credentials restored'); } catch (e) { - core.warning(e); + core.warning(utils.getErrorMessage(e)); } } }); @@ -942,6 +943,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.GitHubHelper = void 0; const core = __importStar(__nccwpck_require__(2186)); const octokit_client_1 = __nccwpck_require__(5040); +const utils = __importStar(__nccwpck_require__(918)); const ERROR_PR_REVIEW_FROM_AUTHOR = 'Review cannot be requested from pull request author'; class GitHubHelper { constructor(token) { @@ -976,8 +978,7 @@ class GitHubHelper { }; } catch (e) { - if (e.message && - e.message.includes(`A pull request already exists for`)) { + if (utils.getErrorMessage(e).includes(`A pull request already exists for`)) { core.info(`A pull request already exists for ${headBranch}`); } else { @@ -1040,7 +1041,7 @@ class GitHubHelper { yield this.octokit.rest.pulls.requestReviewers(Object.assign(Object.assign(Object.assign({}, this.parseRepository(baseRepository)), { pull_number: pull.number }), requestReviewersParams)); } catch (e) { - if (e.message && e.message.includes(ERROR_PR_REVIEW_FROM_AUTHOR)) { + if (utils.getErrorMessage(e).includes(ERROR_PR_REVIEW_FROM_AUTHOR)) { core.warning(ERROR_PR_REVIEW_FROM_AUTHOR); } else { @@ -1124,7 +1125,7 @@ function run() { yield (0, create_pull_request_1.createPullRequest)(inputs); } catch (error) { - core.setFailed(error.message); + core.setFailed(utils.getErrorMessage(error)); } }); } @@ -1192,7 +1193,7 @@ var __importStar = (this && this.__importStar) || function (mod) { return result; }; Object.defineProperty(exports, "__esModule", ({ value: true })); -exports.fileExistsSync = exports.parseDisplayNameEmail = exports.randomString = exports.secondsSinceEpoch = exports.getRemoteUrl = exports.getRemoteDetail = exports.getRepoPath = exports.getStringAsArray = exports.getInputAsArray = void 0; +exports.getErrorMessage = exports.fileExistsSync = exports.parseDisplayNameEmail = exports.randomString = exports.secondsSinceEpoch = exports.getRemoteUrl = exports.getRemoteDetail = exports.getRepoPath = exports.getStringAsArray = exports.getInputAsArray = void 0; const core = __importStar(__nccwpck_require__(2186)); const fs = __importStar(__nccwpck_require__(7147)); const path = __importStar(__nccwpck_require__(1017)); @@ -1293,10 +1294,10 @@ function fileExistsSync(path) { stats = fs.statSync(path); } catch (error) { - if (error.code === 'ENOENT') { + if (hasErrorCode(error) && error.code === 'ENOENT') { return false; } - throw new Error(`Encountered an error when checking whether path '${path}' exists: ${error.message}`); + throw new Error(`Encountered an error when checking whether path '${path}' exists: ${getErrorMessage(error)}`); } if (!stats.isDirectory()) { return true; @@ -1304,6 +1305,16 @@ function fileExistsSync(path) { return false; } exports.fileExistsSync = fileExistsSync; +/* eslint-disable @typescript-eslint/no-explicit-any */ +function hasErrorCode(error) { + return typeof (error && error.code) === 'string'; +} +function getErrorMessage(error) { + if (error instanceof Error) + return error.message; + return String(error); +} +exports.getErrorMessage = getErrorMessage; /***/ }), diff --git a/src/create-pull-request.ts b/src/create-pull-request.ts index 4f59904d9..b5c59d812 100644 --- a/src/create-pull-request.ts +++ b/src/create-pull-request.ts @@ -243,8 +243,8 @@ export async function createPullRequest(inputs: Inputs): Promise { } } } - } catch (error: any) { - core.setFailed(error.message) + } catch (error) { + core.setFailed(utils.getErrorMessage(error)) } finally { // Remove auth and restore persisted auth config if it existed core.startGroup('Restore persisted git credentials') diff --git a/src/git-auth-helper.ts b/src/git-auth-helper.ts index cd4197ca3..c714a189e 100644 --- a/src/git-auth-helper.ts +++ b/src/git-auth-helper.ts @@ -3,6 +3,7 @@ import * as fs from 'fs' import {GitCommandManager} from './git-command-manager' import * as path from 'path' import {URL} from 'url' +import * as utils from './utils' export class GitAuthHelper { private git: GitCommandManager @@ -33,8 +34,8 @@ export class GitAuthHelper { try { await this.setExtraheaderConfig(this.persistedExtraheaderConfigValue) core.info('Persisted git credentials restored') - } catch (e: any) { - core.warning(e) + } catch (e) { + core.warning(utils.getErrorMessage(e)) } } } diff --git a/src/github-helper.ts b/src/github-helper.ts index c73235340..7e0cfee0e 100644 --- a/src/github-helper.ts +++ b/src/github-helper.ts @@ -1,6 +1,7 @@ import * as core from '@actions/core' import {Inputs} from './create-pull-request' import {Octokit, OctokitOptions} from './octokit-client' +import * as utils from './utils' const ERROR_PR_REVIEW_FROM_AUTHOR = 'Review cannot be requested from pull request author' @@ -64,10 +65,9 @@ export class GitHubHelper { html_url: pull.html_url, created: true } - } catch (e: any) { + } catch (e) { if ( - e.message && - e.message.includes(`A pull request already exists for`) + utils.getErrorMessage(e).includes(`A pull request already exists for`) ) { core.info(`A pull request already exists for ${headBranch}`) } else { @@ -169,8 +169,8 @@ export class GitHubHelper { pull_number: pull.number, ...requestReviewersParams }) - } catch (e: any) { - if (e.message && e.message.includes(ERROR_PR_REVIEW_FROM_AUTHOR)) { + } catch (e) { + if (utils.getErrorMessage(e).includes(ERROR_PR_REVIEW_FROM_AUTHOR)) { core.warning(ERROR_PR_REVIEW_FROM_AUTHOR) } else { throw e diff --git a/src/main.ts b/src/main.ts index f3d9171cb..6fb350a81 100644 --- a/src/main.ts +++ b/src/main.ts @@ -30,8 +30,8 @@ async function run(): Promise { core.debug(`Inputs: ${inspect(inputs)}`) await createPullRequest(inputs) - } catch (error: any) { - core.setFailed(error.message) + } catch (error) { + core.setFailed(utils.getErrorMessage(error)) } } diff --git a/src/utils.ts b/src/utils.ts index 464695063..b758548c8 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -134,13 +134,15 @@ export function fileExistsSync(path: string): boolean { let stats: fs.Stats try { stats = fs.statSync(path) - } catch (error: any) { - if (error.code === 'ENOENT') { + } catch (error) { + if (hasErrorCode(error) && error.code === 'ENOENT') { return false } throw new Error( - `Encountered an error when checking whether path '${path}' exists: ${error.message}` + `Encountered an error when checking whether path '${path}' exists: ${getErrorMessage( + error + )}` ) } @@ -150,3 +152,13 @@ export function fileExistsSync(path: string): boolean { return false } + +/* eslint-disable @typescript-eslint/no-explicit-any */ +function hasErrorCode(error: any): error is {code: string} { + return typeof (error && error.code) === 'string' +} + +export function getErrorMessage(error: unknown) { + if (error instanceof Error) return error.message + return String(error) +}