diff --git a/.gitignore b/.gitignore index 1d7717561..1d26113e3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /*.js.map /examples /test +/scripts diff --git a/action.yml b/action.yml index 3fe474bb9..9598fc662 100644 --- a/action.yml +++ b/action.yml @@ -2,8 +2,8 @@ name: 'Continuous Benchmark' author: 'rhysd ' description: 'Continuous Benchmark using GitHub pages as dash board for keeping performance' branding: - icon: 'fast-forward' - color: 'blue' + icon: 'fast-forward' + color: 'blue' inputs: name: @@ -31,6 +31,27 @@ inputs: description: 'Push GitHub Pages branch to remote automatically. This option requires github-token input' required: false default: false + skip-fetch-gh-pages: + description: 'Skip pulling GitHub Pages branch before generating an auto commit' + required: false + default: false + comment-on-alert: + description: 'Leave an alert comment when current benchmark result is worse than previous. Threshold is specified with alert-comment-threshold input. To enable this feature, github-token input must be given as well' + required: false + default: false + alert-threshold: + description: 'Threshold which determines if an alert should happen or not. Percentage value such as "150%". For example, 150% means that an alert happens when current benchmark result is 1.5x worse than previous' + required: false + default: '200%' + fail-on-alert: + description: 'Workflow fails when alert comment happens' + required: false + # Note: Set to false by default since this action does not push to remote by default. When workflow + # fails and auto-push is not set, there is no chance to push the result to remote. + default: false + alert-comment-cc-users: + description: 'Comma separated GitHub user names which start with @ (e.g. "@foo,@bar"). They will be mentioned in commit comment for alert.' + required: false runs: using: 'node12' diff --git a/config.js b/config.js index 774e266e6..22b871de5 100644 --- a/config.js +++ b/config.js @@ -11,12 +11,12 @@ const core = __importStar(require("@actions/core")); const fs_1 = require("fs"); const os = __importStar(require("os")); const path = __importStar(require("path")); -const VALID_TOOLS = ['cargo', 'go', 'benchmarkjs', 'pytest']; +exports.VALID_TOOLS = ['cargo', 'go', 'benchmarkjs', 'pytest']; function validateToolType(tool) { - if (VALID_TOOLS.includes(tool)) { + if (exports.VALID_TOOLS.includes(tool)) { return; } - throw new Error(`Invalid value '${tool}' for 'tool' input. It must be one of ${VALID_TOOLS}`); + throw new Error(`Invalid value '${tool}' for 'tool' input. It must be one of ${exports.VALID_TOOLS}`); } function resolvePath(p) { if (p[0] === '~') { @@ -69,12 +69,9 @@ function validateName(name) { } throw new Error('Name must not be empty'); } -function validateAutoPush(autoPush, githubToken) { - if (!autoPush) { - return; - } +function validateGitHubToken(inputName, githubToken, todo) { if (!githubToken) { - throw new Error("'auto-push' is enabled but 'github-token' is not set. Please give API token for pushing GitHub pages branch to remote"); + throw new Error(`'${inputName}' is enabled but 'github-token' is not set. Please give API token ${todo}`); } } function getBoolInput(name) { @@ -87,6 +84,31 @@ function getBoolInput(name) { } return input === 'true'; } +function getPercentageInput(name) { + const input = core.getInput(name); + if (!input.endsWith('%')) { + throw new Error(`'${name}' input must ends with '%' for percentage value (e.g. '200%')`); + } + const percentage = parseFloat(input.slice(0, -1)); // Omit '%' at last + if (isNaN(percentage)) { + throw new Error(`Specified value '${input.slice(0, -1)}' in '${name}' input cannot be parsed as float number`); + } + return percentage / 100; +} +function getCommaSeparatedInput(name) { + const input = core.getInput(name); + if (!input) { + return []; + } + return input.split(',').map(s => s.trim()); +} +function validateAlertCommentCcUsers(users) { + for (const u of users) { + if (!u.startsWith('@')) { + throw new Error(`User name in 'alert-comment-cc-users' input must start with '@' but got '${u}'`); + } + } +} async function configFromJobInput() { const tool = core.getInput('tool'); let outputFilePath = core.getInput('output-file-path'); @@ -95,13 +117,37 @@ async function configFromJobInput() { const name = core.getInput('name'); const githubToken = core.getInput('github-token') || undefined; const autoPush = getBoolInput('auto-push'); + const skipFetchGhPages = getBoolInput('skip-fetch-gh-pages'); + const commentOnAlert = getBoolInput('comment-on-alert'); + const alertThreshold = getPercentageInput('alert-threshold'); + const failOnAlert = getBoolInput('fail-on-alert'); + const alertCommentCcUsers = getCommaSeparatedInput('alert-comment-cc-users'); validateToolType(tool); outputFilePath = await validateOutputFilePath(outputFilePath); validateGhPagesBranch(ghPagesBranch); benchmarkDataDirPath = validateBenchmarkDataDirPath(benchmarkDataDirPath); validateName(name); - validateAutoPush(autoPush, githubToken); - return { name, tool, outputFilePath, ghPagesBranch, benchmarkDataDirPath, githubToken, autoPush }; + if (autoPush) { + validateGitHubToken('auto-push', githubToken, 'to push GitHub pages branch to remote'); + } + if (commentOnAlert) { + validateGitHubToken('comment-on-alert', githubToken, 'to send commit comment on alert'); + } + validateAlertCommentCcUsers(alertCommentCcUsers); + return { + name, + tool, + outputFilePath, + ghPagesBranch, + benchmarkDataDirPath, + githubToken, + autoPush, + skipFetchGhPages, + commentOnAlert, + alertThreshold, + failOnAlert, + alertCommentCcUsers, + }; } exports.configFromJobInput = configFromJobInput; //# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/default_index_html.js b/default_index_html.js index 019ebd371..a2074f1f6 100644 --- a/default_index_html.js +++ b/default_index_html.js @@ -103,6 +103,7 @@ exports.DEFAULT_INDEX_HTML = String.raw ` cargo: '#dea584', go: '#00add8', benchmarkjs: '#f1e05a', + pytest: '#3572a5' }; const data = window.BENCHMARK_DATA; diff --git a/index.js b/index.js index 789ffb9d4..2442bd409 100644 --- a/index.js +++ b/index.js @@ -17,7 +17,7 @@ async function main() { const bench = await extract_1.extractResult(config); core.debug(`Benchmark result was extracted: ${bench}`); await write_1.writeBenchmark(bench, config); - console.log('github-aciton-bvenchmark was run successfully!', '\nData:', bench); + console.log('github-action-benchmark was run successfully!', '\nData:', bench); } main().catch(e => core.setFailed(e.message)); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@actions/core/package.json b/node_modules/@actions/core/package.json index 1701c7c0d..5cbe78f20 100644 --- a/node_modules/@actions/core/package.json +++ b/node_modules/@actions/core/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@actions/core@1.2.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@actions/core@1.2.0", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.0.tgz", "_spec": "1.2.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/actions/toolkit/issues" }, diff --git a/node_modules/@actions/exec/package.json b/node_modules/@actions/exec/package.json index 2beefcffc..f388417bc 100644 --- a/node_modules/@actions/exec/package.json +++ b/node_modules/@actions/exec/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@actions/exec@1.0.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@actions/exec@1.0.1", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.1.tgz", "_spec": "1.0.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/actions/toolkit/issues" }, diff --git a/node_modules/@actions/github/package.json b/node_modules/@actions/github/package.json index e6fdb6a44..9a5c25cf9 100644 --- a/node_modules/@actions/github/package.json +++ b/node_modules/@actions/github/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@actions/github@1.1.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@actions/github@1.1.0", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/@actions/github/-/github-1.1.0.tgz", "_spec": "1.1.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/actions/toolkit/issues" }, diff --git a/node_modules/@actions/io/package.json b/node_modules/@actions/io/package.json index a1b651cd5..360fa0290 100644 --- a/node_modules/@actions/io/package.json +++ b/node_modules/@actions/io/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@actions/io@1.0.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@actions/io@1.0.1", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.1.tgz", "_spec": "1.0.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/actions/toolkit/issues" }, diff --git a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json index 451360cba..9d6931273 100644 --- a/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json +++ b/node_modules/@octokit/endpoint/node_modules/universal-user-agent/package.json @@ -2,7 +2,7 @@ "_args": [ [ "universal-user-agent@4.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "universal-user-agent@4.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", "_spec": "4.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/gr2m/universal-user-agent/issues" }, diff --git a/node_modules/@octokit/endpoint/package.json b/node_modules/@octokit/endpoint/package.json index 637283136..d85c379e3 100644 --- a/node_modules/@octokit/endpoint/package.json +++ b/node_modules/@octokit/endpoint/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@octokit/endpoint@5.5.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@octokit/endpoint@5.5.1", @@ -29,7 +29,7 @@ ], "_resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.1.tgz", "_spec": "5.5.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/octokit/endpoint.js/issues" }, diff --git a/node_modules/@octokit/graphql/package.json b/node_modules/@octokit/graphql/package.json index d9c8dcd11..c839fbd7f 100644 --- a/node_modules/@octokit/graphql/package.json +++ b/node_modules/@octokit/graphql/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@octokit/graphql@2.1.3", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@octokit/graphql@2.1.3", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz", "_spec": "2.1.3", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Gregor Martynus", "url": "https://github.com/gr2m" diff --git a/node_modules/@octokit/request-error/package.json b/node_modules/@octokit/request-error/package.json index e07765fa7..7e253c3e9 100644 --- a/node_modules/@octokit/request-error/package.json +++ b/node_modules/@octokit/request-error/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@octokit/request-error@1.2.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@octokit/request-error@1.2.0", @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.0.tgz", "_spec": "1.2.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/octokit/request-error.js/issues" }, diff --git a/node_modules/@octokit/request/node_modules/universal-user-agent/package.json b/node_modules/@octokit/request/node_modules/universal-user-agent/package.json index 0ed1ecd5d..c4c01a012 100644 --- a/node_modules/@octokit/request/node_modules/universal-user-agent/package.json +++ b/node_modules/@octokit/request/node_modules/universal-user-agent/package.json @@ -2,7 +2,7 @@ "_args": [ [ "universal-user-agent@4.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "universal-user-agent@4.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", "_spec": "4.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/gr2m/universal-user-agent/issues" }, diff --git a/node_modules/@octokit/request/package.json b/node_modules/@octokit/request/package.json index 0514b3651..8717c6981 100644 --- a/node_modules/@octokit/request/package.json +++ b/node_modules/@octokit/request/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@octokit/request@5.3.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@octokit/request@5.3.1", @@ -30,7 +30,7 @@ ], "_resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.1.tgz", "_spec": "5.3.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/octokit/request.js/issues" }, diff --git a/node_modules/@octokit/rest/index.d.ts b/node_modules/@octokit/rest/index.d.ts index ef1e94477..a45502870 100644 --- a/node_modules/@octokit/rest/index.d.ts +++ b/node_modules/@octokit/rest/index.d.ts @@ -19117,6 +19117,86 @@ declare namespace Octokit { status: string; url: string; }; + type AppsResetTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsResetTokenResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsResetTokenResponse = { + app: AppsResetTokenResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsResetTokenResponseUser; + }; + type AppsResetAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsResetAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsResetAuthorizationResponse = { + app: AppsResetAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsResetAuthorizationResponseUser; + }; type AppsListReposResponseRepositoriesItemOwner = { avatar_url: string; events_url: string; @@ -20121,6 +20201,86 @@ declare namespace Octokit { id: number; title: string; }; + type AppsCheckTokenResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsCheckTokenResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsCheckTokenResponse = { + app: AppsCheckTokenResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsCheckTokenResponseUser; + }; + type AppsCheckAuthorizationResponseUser = { + avatar_url: string; + events_url: string; + followers_url: string; + following_url: string; + gists_url: string; + gravatar_id: string; + html_url: string; + id: number; + login: string; + node_id: string; + organizations_url: string; + received_events_url: string; + repos_url: string; + site_admin: boolean; + starred_url: string; + subscriptions_url: string; + type: string; + url: string; + }; + type AppsCheckAuthorizationResponseApp = { + client_id: string; + name: string; + url: string; + }; + type AppsCheckAuthorizationResponse = { + app: AppsCheckAuthorizationResponseApp; + created_at: string; + fingerprint: string; + hashed_token: string; + id: number; + note: string; + note_url: string; + scopes: Array; + token: string; + token_last_eight: string; + updated_at: string; + url: string; + user: AppsCheckAuthorizationResponseUser; + }; type AppsCheckAccountIsAssociatedWithAnyStubbedResponseMarketplacePurchasePlan = { accounts_url: string; bullets: Array; @@ -21710,6 +21870,19 @@ declare namespace Octokit { */ per_page?: number; }; + export type AppsCheckAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type AppsCheckTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; export type AppsCreateContentAttachmentParams = { /** * The body text of the content attachment displayed in the body or comment of an issue or pull request. This parameter supports markdown. @@ -21736,9 +21909,25 @@ declare namespace Octokit { */ repository_ids?: number[]; }; + export type AppsDeleteAuthorizationParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; export type AppsDeleteInstallationParams = { installation_id: number; }; + export type AppsDeleteTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; export type AppsFindOrgInstallationParams = { org: string; }; @@ -21893,6 +22082,29 @@ declare namespace Octokit { repository_id: number; }; + export type AppsResetAuthorizationParams = { + access_token: string; + + client_id: string; + }; + export type AppsResetTokenParams = { + /** + * The OAuth access token used to authenticate to the GitHub API. + */ + access_token?: string; + + client_id: string; + }; + export type AppsRevokeAuthorizationForApplicationParams = { + access_token: string; + + client_id: string; + }; + export type AppsRevokeGrantForApplicationParams = { + access_token: string; + + client_id: string; + }; export type ChecksCreateParams = { /** * Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://developer.github.com/v3/activity/events/types/#checkrunevent) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://developer.github.com/v3/checks/runs/#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." To learn more about check runs and requested actions, see "[Check runs and requested actions](https://developer.github.com/v3/checks/runs/#check-runs-and-requested-actions)." @@ -29398,6 +29610,29 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization + */ + checkAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsCheckAuthorizationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) to use this endpoint, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + */ + checkToken: { + (params?: Octokit.RequestOptions & Octokit.AppsCheckTokenParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; /** * Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the `id` of the content reference from the [`content_reference` event](https://developer.github.com/v3/activity/events/types/#contentreferenceevent) to create an attachment. * @@ -29442,6 +29677,18 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; + /** + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid OAuth `access_token` as an input parameter and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + */ + deleteAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteAuthorizationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** * Uninstalls a GitHub App on a user, organization, or business account. * @@ -29454,6 +29701,16 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; + /** + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + */ + deleteToken: { + ( + params?: Octokit.RequestOptions & Octokit.AppsDeleteTokenParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; /** * Enables an authenticated GitHub App to find the organization's installation information. * @@ -29720,6 +29977,59 @@ declare class Octokit { Octokit.AppsRemoveRepoFromInstallationParams ): Promise; + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization + */ + resetAuthorization: { + ( + params?: Octokit.RequestOptions & Octokit.AppsResetAuthorizationParams + ): Promise>; + + endpoint: Octokit.Endpoint; + }; + /** + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + */ + resetToken: { + (params?: Octokit.RequestOptions & Octokit.AppsResetTokenParams): Promise< + Octokit.Response + >; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application + */ + revokeAuthorizationForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRevokeAuthorizationForApplicationParams + ): Promise; + + endpoint: Octokit.Endpoint; + }; + /** + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application + */ + revokeGrantForApplication: { + ( + params?: Octokit.RequestOptions & + Octokit.AppsRevokeGrantForApplicationParams + ): Promise; + endpoint: Octokit.Endpoint; }; }; @@ -31262,7 +31572,10 @@ declare class Octokit { }; oauthAuthorizations: { /** - * OAuth applications can use a special API method for checking OAuth token validity without running afoul of normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing it, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use a special API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization */ checkAuthorization: { ( @@ -31275,15 +31588,18 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** - * Creates OAuth tokens using [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * You can use this endpoint to create multiple OAuth tokens instead of implementing the [web flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/). + * Creates OAuth tokens using [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication). If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." * * To create tokens for a particular OAuth application using this endpoint, you must authenticate as the user you want to create an authorization for and provide the app's client ID and secret, found on your OAuth application's settings page. If your OAuth application intends to create multiple tokens for one user, use `fingerprint` to differentiate between them. * * You can also create tokens on GitHub from the [personal access tokens settings](https://github.com/settings/tokens) page. Read more about these tokens in [the GitHub Help documentation](https://help.github.com/articles/creating-an-access-token-for-command-line-use). * * Organizations that enforce SAML SSO require personal access tokens to be whitelisted. Read more about whitelisting tokens in [the GitHub Help documentation](https://help.github.com/articles/about-identity-and-access-management-with-saml-single-sign-on). + * @deprecated octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization */ createAuthorization: { ( @@ -31295,7 +31611,10 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; - + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization + */ deleteAuthorization: { ( params?: Octokit.RequestOptions & @@ -31305,7 +31624,10 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for your user. Once deleted, the application has no access to your account and is no longer listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant */ deleteGrant: { ( @@ -31315,7 +31637,10 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; - + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization + */ getAuthorization: { ( params?: Octokit.RequestOptions & @@ -31326,7 +31651,10 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; - + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant + */ getGrant: { ( params?: Octokit.RequestOptions & @@ -31336,9 +31664,16 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * * Creates a new authorization for the specified OAuth application, only if an authorization for that application doesn't already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. * * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app */ getOrCreateAuthorizationForApp: { ( @@ -31353,9 +31688,14 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. * * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint */ getOrCreateAuthorizationForAppAndFingerprint: { ( @@ -31370,10 +31710,14 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * **Warning:** Apps must use the [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow) to obtain OAuth tokens that work with GitHub SAML organizations. OAuth tokens created using the Authorizations API will be unable to access GitHub SAML organizations. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * * This method will create a new authorization for the specified OAuth application, only if an authorization for that application and fingerprint do not already exist for the user. The URL includes the 20 character client ID for the OAuth app that is requesting the token. `fingerprint` is a unique string to distinguish an authorization from others created for the same client ID and user. It returns the user's existing authorization for the application if one is present. Otherwise, it creates and returns a new one. * * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." - * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27) + * @deprecated octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint */ getOrCreateAuthorizationForAppFingerprint: { ( @@ -31387,7 +31731,10 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; - + /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * @deprecated octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations + */ listAuthorizations: { ( params?: Octokit.RequestOptions & @@ -31399,7 +31746,10 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * * You can use this API to list the set of OAuth applications that have been granted access to your account. Unlike the [list your authorizations](https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations) API, this API does not manage individual tokens. This API will return one entry for each OAuth application that has been granted access to your account, regardless of the number of tokens an application has generated for your user. The list of OAuth applications returned matches what is shown on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). The `scopes` returned are the union of scopes authorized for the application. For example, if an application has one token with `repo` scope and another token with `user` scope, the grant will return `["repo", "user"]`. + * @deprecated octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants */ listGrants: { ( @@ -31412,7 +31762,10 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** - * OAuth applications can use this API method to reset a valid OAuth token without end user involvement. Applications must save the "token" property in the response, because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing it, where the username is the OAuth application `client_id` and the password is its `client_secret`. Invalid tokens will return `404 NOT FOUND`. + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth applications can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. Invalid tokens will return `404 NOT FOUND`. + * @deprecated octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization */ resetAuthorization: { ( @@ -31425,7 +31778,10 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** - * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) for this method, where the username is the OAuth application `client_id` and the password is its `client_secret`. + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * + * OAuth application owners can revoke a single token for an OAuth application. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. + * @deprecated octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application */ revokeAuthorizationForApplication: { ( @@ -31436,9 +31792,12 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** - * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) for this method, where the username is the OAuth application `client_id` and the password is its `client_secret`. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * **Deprecation Notice:** GitHub will replace and discontinue OAuth endpoints containing `access_token` in the path parameter. We are introducing new endpoints that allow you to securely manage tokens for OAuth Apps by using `access_token` as an input parameter. For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). * - * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized). + * OAuth application owners can revoke a grant for their OAuth application and a specific user. You must use [Basic Authentication](https://developer.github.com/v3/auth#basic-authentication) when accessing this endpoint, using the OAuth application's `client_id` and `client_secret` as the username and password. You must also provide a valid token as `:access_token` and the grant for the token's owner will be deleted. + * + * Deleting an OAuth application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on [the Applications settings page under "Authorized OAuth Apps" on GitHub](https://github.com/settings/applications#authorized). + * @deprecated octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application */ revokeGrantForApplication: { ( @@ -31449,9 +31808,12 @@ declare class Octokit { endpoint: Octokit.Endpoint; }; /** + * **Deprecation Notice:** GitHub will discontinue the [OAuth Authorizations API](https://developer.github.com/v3/oauth_authorizations/), which is used by integrations to create personal access tokens and OAuth tokens, and you must now create these tokens using our [web application flow](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow). For more information, see the [blog post](https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api). + * * If you have two-factor authentication setup, Basic Authentication for this endpoint requires that you use a one-time password (OTP) and your username and password instead of tokens. For more information, see "[Working with two-factor authentication](https://developer.github.com/v3/auth/#working-with-two-factor-authentication)." * * You can only send one of these scope keys at a time. + * @deprecated octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization */ updateAuthorization: { ( diff --git a/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json b/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json index bd519a074..70081baa4 100644 --- a/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json +++ b/node_modules/@octokit/rest/node_modules/universal-user-agent/package.json @@ -2,7 +2,7 @@ "_args": [ [ "universal-user-agent@4.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "universal-user-agent@4.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.0.tgz", "_spec": "4.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/gr2m/universal-user-agent/issues" }, diff --git a/node_modules/@octokit/rest/package.json b/node_modules/@octokit/rest/package.json index f489d5c35..764ec9e2f 100644 --- a/node_modules/@octokit/rest/package.json +++ b/node_modules/@octokit/rest/package.json @@ -1,35 +1,32 @@ { - "_args": [ - [ - "@octokit/rest@16.34.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" - ] - ], - "_from": "@octokit/rest@16.34.1", - "_id": "@octokit/rest@16.34.1", + "_from": "@octokit/rest", + "_id": "@octokit/rest@16.35.0", "_inBundle": false, - "_integrity": "sha512-JUoS12cdktf1fv86rgrjC/RvYLuL+o7p57W7zX1x7ANFJ7OvdV8emvUNkFlcidEaOkYrxK3SoWgQFt3FhNmabA==", + "_integrity": "sha512-9ShFqYWo0CLoGYhA1FdtdykJuMzS/9H6vSbbQWDX4pWr4p9v+15MsH/wpd/3fIU+tSxylaNO48+PIHqOkBRx3w==", "_location": "/@octokit/rest", "_phantomChildren": { "os-name": "3.1.0" }, "_requested": { - "type": "version", + "type": "tag", "registry": true, - "raw": "@octokit/rest@16.34.1", + "raw": "@octokit/rest", "name": "@octokit/rest", "escapedName": "@octokit%2frest", "scope": "@octokit", - "rawSpec": "16.34.1", + "rawSpec": "", "saveSpec": null, - "fetchSpec": "16.34.1" + "fetchSpec": "latest" }, "_requiredBy": [ + "#USER", + "/", "/@actions/github" ], - "_resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.34.1.tgz", - "_spec": "16.34.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.35.0.tgz", + "_shasum": "7ccc1f802f407d5b8eb21768c6deca44e7b4c0d8", + "_spec": "@octokit/rest", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Gregor Martynus", "url": "https://github.com/gr2m" @@ -37,6 +34,7 @@ "bugs": { "url": "https://github.com/octokit/rest.js/issues" }, + "bundleDependencies": false, "bundlesize": [ { "path": "./dist/octokit-rest.min.js.gz", @@ -75,6 +73,7 @@ "once": "^1.4.0", "universal-user-agent": "^4.0.0" }, + "deprecated": false, "description": "GitHub REST API client for Node.js", "devDependencies": { "@gimenete/type-writer": "^0.1.3", @@ -172,5 +171,5 @@ "validate:ts": "tsc --target es6 --noImplicitAny index.d.ts" }, "types": "index.d.ts", - "version": "16.34.1" + "version": "16.35.0" } diff --git a/node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json b/node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json index acdf00185..31e3fca39 100644 --- a/node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json +++ b/node_modules/@octokit/rest/plugins/rest-api-endpoints/routes.json @@ -291,6 +291,26 @@ }, "url": "/marketplace_listing/stubbed/accounts/:account_id" }, + "checkAuthorization": { + "deprecated": "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", + "method": "GET", + "params": { + "access_token": { "required": true, "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/tokens/:access_token" + }, + "checkToken": { + "headers": { + "accept": "application/vnd.github.doctor-strange-preview+json" + }, + "method": "POST", + "params": { + "access_token": { "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/token" + }, "createContentAttachment": { "headers": { "accept": "application/vnd.github.corsair-preview+json" }, "method": "POST", @@ -319,6 +339,17 @@ }, "url": "/app/installations/:installation_id/access_tokens" }, + "deleteAuthorization": { + "headers": { + "accept": "application/vnd.github.doctor-strange-preview+json" + }, + "method": "DELETE", + "params": { + "access_token": { "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/grant" + }, "deleteInstallation": { "headers": { "accept": "application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json" @@ -327,6 +358,17 @@ "params": { "installation_id": { "required": true, "type": "integer" } }, "url": "/app/installations/:installation_id" }, + "deleteToken": { + "headers": { + "accept": "application/vnd.github.doctor-strange-preview+json" + }, + "method": "DELETE", + "params": { + "access_token": { "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/token" + }, "findOrgInstallation": { "deprecated": "octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)", "headers": { @@ -517,6 +559,44 @@ "repository_id": { "required": true, "type": "integer" } }, "url": "/user/installations/:installation_id/repositories/:repository_id" + }, + "resetAuthorization": { + "deprecated": "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", + "method": "POST", + "params": { + "access_token": { "required": true, "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/tokens/:access_token" + }, + "resetToken": { + "headers": { + "accept": "application/vnd.github.doctor-strange-preview+json" + }, + "method": "PATCH", + "params": { + "access_token": { "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/token" + }, + "revokeAuthorizationForApplication": { + "deprecated": "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", + "method": "DELETE", + "params": { + "access_token": { "required": true, "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/tokens/:access_token" + }, + "revokeGrantForApplication": { + "deprecated": "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", + "method": "DELETE", + "params": { + "access_token": { "required": true, "type": "string" }, + "client_id": { "required": true, "type": "string" } + }, + "url": "/applications/:client_id/grants/:access_token" } }, "checks": { @@ -1999,6 +2079,7 @@ }, "oauthAuthorizations": { "checkAuthorization": { + "deprecated": "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", "method": "GET", "params": { "access_token": { "required": true, "type": "string" }, @@ -2007,6 +2088,7 @@ "url": "/applications/:client_id/tokens/:access_token" }, "createAuthorization": { + "deprecated": "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization", "method": "POST", "params": { "client_id": { "type": "string" }, @@ -2019,26 +2101,31 @@ "url": "/authorizations" }, "deleteAuthorization": { + "deprecated": "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization", "method": "DELETE", "params": { "authorization_id": { "required": true, "type": "integer" } }, "url": "/authorizations/:authorization_id" }, "deleteGrant": { + "deprecated": "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant", "method": "DELETE", "params": { "grant_id": { "required": true, "type": "integer" } }, "url": "/applications/grants/:grant_id" }, "getAuthorization": { + "deprecated": "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization", "method": "GET", "params": { "authorization_id": { "required": true, "type": "integer" } }, "url": "/authorizations/:authorization_id" }, "getGrant": { + "deprecated": "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant", "method": "GET", "params": { "grant_id": { "required": true, "type": "integer" } }, "url": "/applications/grants/:grant_id" }, "getOrCreateAuthorizationForApp": { + "deprecated": "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app", "method": "PUT", "params": { "client_id": { "required": true, "type": "string" }, @@ -2051,6 +2138,7 @@ "url": "/authorizations/clients/:client_id" }, "getOrCreateAuthorizationForAppAndFingerprint": { + "deprecated": "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint", "method": "PUT", "params": { "client_id": { "required": true, "type": "string" }, @@ -2076,6 +2164,7 @@ "url": "/authorizations/clients/:client_id/:fingerprint" }, "listAuthorizations": { + "deprecated": "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations", "method": "GET", "params": { "page": { "type": "integer" }, @@ -2084,6 +2173,7 @@ "url": "/authorizations" }, "listGrants": { + "deprecated": "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants", "method": "GET", "params": { "page": { "type": "integer" }, @@ -2092,6 +2182,7 @@ "url": "/applications/grants" }, "resetAuthorization": { + "deprecated": "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", "method": "POST", "params": { "access_token": { "required": true, "type": "string" }, @@ -2100,6 +2191,7 @@ "url": "/applications/:client_id/tokens/:access_token" }, "revokeAuthorizationForApplication": { + "deprecated": "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", "method": "DELETE", "params": { "access_token": { "required": true, "type": "string" }, @@ -2108,6 +2200,7 @@ "url": "/applications/:client_id/tokens/:access_token" }, "revokeGrantForApplication": { + "deprecated": "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", "method": "DELETE", "params": { "access_token": { "required": true, "type": "string" }, @@ -2116,6 +2209,7 @@ "url": "/applications/:client_id/grants/:access_token" }, "updateAuthorization": { + "deprecated": "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization", "method": "PATCH", "params": { "add_scopes": { "type": "string[]" }, @@ -4716,6 +4810,7 @@ "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" }, "listTopics": { + "headers": { "accept": "application/vnd.github.mercy-preview+json" }, "method": "GET", "params": { "owner": { "required": true, "type": "string" }, @@ -4907,6 +5002,7 @@ "url": "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" }, "replaceTopics": { + "headers": { "accept": "application/vnd.github.mercy-preview+json" }, "method": "PUT", "params": { "names": { "required": true, "type": "string[]" }, diff --git a/node_modules/@octokit/types/package.json b/node_modules/@octokit/types/package.json index f9e005009..f831be746 100644 --- a/node_modules/@octokit/types/package.json +++ b/node_modules/@octokit/types/package.json @@ -2,7 +2,7 @@ "_args": [ [ "@octokit/types@2.0.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "@octokit/types@2.0.1", @@ -29,7 +29,7 @@ ], "_resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.0.1.tgz", "_spec": "2.0.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Gregor Martynus", "url": "https://twitter.com/gr2m" diff --git a/node_modules/@types/node/README.md b/node_modules/@types/node/README.md index 52106e638..d842f1f2b 100644 --- a/node_modules/@types/node/README.md +++ b/node_modules/@types/node/README.md @@ -5,12 +5,12 @@ This package contains type definitions for Node.js (http://nodejs.org/). # Details -Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node. -Additional Details - * Last updated: Fri, 08 Nov 2019 22:57:07 GMT +### Additional Details + * Last updated: Tue, 19 Nov 2019 19:44:54 GMT * Dependencies: none - * Global values: Buffer, NodeJS, Symbol, __dirname, __filename, clearImmediate, clearInterval, clearTimeout, console, exports, global, module, process, queueMicrotask, require, setImmediate, setInterval, setTimeout + * Global values: `Buffer`, `NodeJS`, `Symbol`, `__dirname`, `__filename`, `clearImmediate`, `clearInterval`, `clearTimeout`, `console`, `exports`, `global`, `module`, `process`, `queueMicrotask`, `require`, `setImmediate`, `setInterval`, `setTimeout` # Credits -These definitions were written by Microsoft TypeScript , DefinitelyTyped , Alberto Schiabel , Alexander T. , Alvis HT Tang , Andrew Makarov , Benjamin Toueg , Bruno Scheufler , Chigozirim C. , Christian Vaagland Tellnes , David Junger , Deividas Bakanas , Eugene Y. Q. Shen , Flarna , Hannes Magnusson , HoĂ ng Văn Khải , Huw , Kelvin Jin , Klaus Meinhardt , Lishude , Mariusz Wiktorczyk , Mohsen Azimi , Nicolas Even , Nicolas Voigt , Nikita Galkin , Parambir Singh , Sebastian Silbermann , Simon Schick , Thomas den Hollander , Wilco Bakker , wwwy3y3 , Zane Hannan AU , Samuel Ainsworth , Kyle Uehlein , Jordi Oliveras Rovira , Thanik Bhongbhibhat , Marcin Kopacz , Trivikram Kamat , and Minh Son Nguyen . +These definitions were written by Microsoft TypeScript (https://github.com/Microsoft), DefinitelyTyped (https://github.com/DefinitelyTyped), Alberto Schiabel (https://github.com/jkomyno), Alexander T. (https://github.com/a-tarasyuk), Alvis HT Tang (https://github.com/alvis), Andrew Makarov (https://github.com/r3nya), Benjamin Toueg (https://github.com/btoueg), Bruno Scheufler (https://github.com/brunoscheufler), Chigozirim C. (https://github.com/smac89), Christian Vaagland Tellnes (https://github.com/tellnes), David Junger (https://github.com/touffy), Deividas Bakanas (https://github.com/DeividasBakanas), Eugene Y. Q. Shen (https://github.com/eyqs), Flarna (https://github.com/Flarna), Hannes Magnusson (https://github.com/Hannes-Magnusson-CK), HoĂ ng Văn Khải (https://github.com/KSXGitHub), Huw (https://github.com/hoo29), Kelvin Jin (https://github.com/kjin), Klaus Meinhardt (https://github.com/ajafff), Lishude (https://github.com/islishude), Mariusz Wiktorczyk (https://github.com/mwiktorczyk), Mohsen Azimi (https://github.com/mohsen1), Nicolas Even (https://github.com/n-e), Nicolas Voigt (https://github.com/octo-sniffle), Nikita Galkin (https://github.com/galkin), Parambir Singh (https://github.com/parambirs), Sebastian Silbermann (https://github.com/eps1lon), Simon Schick (https://github.com/SimonSchick), Thomas den Hollander (https://github.com/ThomasdenH), Wilco Bakker (https://github.com/WilcoBakker), wwwy3y3 (https://github.com/wwwy3y3), Zane Hannan AU (https://github.com/ZaneHannanAU), Samuel Ainsworth (https://github.com/samuela), Kyle Uehlein (https://github.com/kuehlein), Jordi Oliveras Rovira (https://github.com/j-oliveras), Thanik Bhongbhibhat (https://github.com/bhongy), Marcin Kopacz (https://github.com/chyzwar), Trivikram Kamat (https://github.com/trivikr), Minh Son Nguyen (https://github.com/nguymin4), and Junxiao Shi (https://github.com/yoursunny). diff --git a/node_modules/@types/node/dgram.d.ts b/node_modules/@types/node/dgram.d.ts index c42acdfa7..f04e9a22b 100644 --- a/node_modules/@types/node/dgram.d.ts +++ b/node_modules/@types/node/dgram.d.ts @@ -11,9 +11,10 @@ declare module "dgram" { } interface BindOptions { - port: number; + port?: number; address?: string; exclusive?: boolean; + fd?: number; } type SocketType = "udp4" | "udp6"; @@ -34,67 +35,82 @@ declare module "dgram" { function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket; class Socket extends events.EventEmitter { - send(msg: string | Uint8Array | any[], port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; - send(msg: string | Uint8Array, offset: number, length: number, port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + addMembership(multicastAddress: string, multicastInterface?: string): void; + address(): AddressInfo; bind(port?: number, address?: string, callback?: () => void): void; bind(port?: number, callback?: () => void): void; bind(callback?: () => void): void; bind(options: BindOptions, callback?: () => void): void; close(callback?: () => void): void; - address(): AddressInfo | string; + connect(port: number, address?: string, callback?: () => void): void; + connect(port: number, callback: () => void): void; + disconnect(): void; + dropMembership(multicastAddress: string, multicastInterface?: string): void; + getRecvBufferSize(): number; + getSendBufferSize(): number; + ref(): this; + remoteAddress(): AddressInfo; + send(msg: string | Uint8Array | any[], port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array | any[], port?: number, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array | any[], callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array, offset: number, length: number, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array, offset: number, length: number, port?: number, callback?: (error: Error | null, bytes: number) => void): void; + send(msg: string | Uint8Array, offset: number, length: number, callback?: (error: Error | null, bytes: number) => void): void; setBroadcast(flag: boolean): void; - setTTL(ttl: number): void; - setMulticastTTL(ttl: number): void; setMulticastInterface(multicastInterface: string): void; setMulticastLoopback(flag: boolean): void; - addMembership(multicastAddress: string, multicastInterface?: string): void; - dropMembership(multicastAddress: string, multicastInterface?: string): void; - ref(): this; - unref(): this; + setMulticastTTL(ttl: number): void; setRecvBufferSize(size: number): void; setSendBufferSize(size: number): void; - getRecvBufferSize(): number; - getSendBufferSize(): number; + setTTL(ttl: number): void; + unref(): this; /** * events.EventEmitter * 1. close - * 2. error - * 3. listening - * 4. message + * 2. connect + * 3. error + * 4. listening + * 5. message */ addListener(event: string, listener: (...args: any[]) => void): this; addListener(event: "close", listener: () => void): this; + addListener(event: "connect", listener: () => void): this; addListener(event: "error", listener: (err: Error) => void): this; addListener(event: "listening", listener: () => void): this; addListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; emit(event: string | symbol, ...args: any[]): boolean; emit(event: "close"): boolean; + emit(event: "connect"): boolean; emit(event: "error", err: Error): boolean; emit(event: "listening"): boolean; emit(event: "message", msg: Buffer, rinfo: RemoteInfo): boolean; on(event: string, listener: (...args: any[]) => void): this; on(event: "close", listener: () => void): this; + on(event: "connect", listener: () => void): this; on(event: "error", listener: (err: Error) => void): this; on(event: "listening", listener: () => void): this; on(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; once(event: string, listener: (...args: any[]) => void): this; once(event: "close", listener: () => void): this; + once(event: "connect", listener: () => void): this; once(event: "error", listener: (err: Error) => void): this; once(event: "listening", listener: () => void): this; once(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; prependListener(event: string, listener: (...args: any[]) => void): this; prependListener(event: "close", listener: () => void): this; + prependListener(event: "connect", listener: () => void): this; prependListener(event: "error", listener: (err: Error) => void): this; prependListener(event: "listening", listener: () => void): this; prependListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; prependOnceListener(event: string, listener: (...args: any[]) => void): this; prependOnceListener(event: "close", listener: () => void): this; + prependOnceListener(event: "connect", listener: () => void): this; prependOnceListener(event: "error", listener: (err: Error) => void): this; prependOnceListener(event: "listening", listener: () => void): this; prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this; diff --git a/node_modules/@types/node/globals.d.ts b/node_modules/@types/node/globals.d.ts index 8734eeb55..d9505f16d 100644 --- a/node_modules/@types/node/globals.d.ts +++ b/node_modules/@types/node/globals.d.ts @@ -193,9 +193,13 @@ interface NodeRequireFunction { (id: string): any; } +interface NodeRequireCache { + [path: string]: NodeModule; +} + interface NodeRequire extends NodeRequireFunction { resolve: RequireResolve; - cache: any; + cache: NodeRequireCache; /** * @deprecated */ @@ -1134,8 +1138,8 @@ declare namespace NodeJS { /** * @deprecated Deprecated since: v12.2.0. Please use createRequire() instead. */ - static createRequireFromPath(path: string): NodeRequireFunction; - static createRequire(path: string): NodeRequireFunction; + static createRequireFromPath(path: string): NodeRequire; + static createRequire(path: string): NodeRequire; static builtinModules: string[]; static Module: typeof Module; diff --git a/node_modules/@types/node/http.d.ts b/node_modules/@types/node/http.d.ts index ef5f1efcc..65ea677de 100644 --- a/node_modules/@types/node/http.d.ts +++ b/node_modules/@types/node/http.d.ts @@ -69,18 +69,18 @@ declare module "http" { } interface ClientRequestArgs { - protocol?: string; - host?: string; - hostname?: string; + protocol?: string | null; + host?: string | null; + hostname?: string | null; family?: number; - port?: number | string; + port?: number | string | null; defaultPort?: number | string; localAddress?: string; socketPath?: string; method?: string; - path?: string; + path?: string | null; headers?: OutgoingHttpHeaders; - auth?: string; + auth?: string | null; agent?: Agent | boolean; _defaultAgent?: Agent; timeout?: number; diff --git a/node_modules/@types/node/index.d.ts b/node_modules/@types/node/index.d.ts index e4a387801..f4d3a9b9e 100644 --- a/node_modules/@types/node/index.d.ts +++ b/node_modules/@types/node/index.d.ts @@ -39,6 +39,7 @@ // Marcin Kopacz // Trivikram Kamat // Minh Son Nguyen +// Junxiao Shi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // NOTE: These definitions support NodeJS and TypeScript 3.2. diff --git a/node_modules/@types/node/package.json b/node_modules/@types/node/package.json index 0ef770a4f..4367e9354 100644 --- a/node_modules/@types/node/package.json +++ b/node_modules/@types/node/package.json @@ -1,26 +1,20 @@ { - "_args": [ - [ - "@types/node@12.12.7", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" - ] - ], - "_from": "@types/node@12.12.7", - "_id": "@types/node@12.12.7", + "_from": "@types/node@^12.12.11", + "_id": "@types/node@12.12.11", "_inBundle": false, - "_integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w==", + "_integrity": "sha512-O+x6uIpa6oMNTkPuHDa9MhMMehlxLAd5QcOvKRjAFsBVpeFWTOPnXbDvILvFgFFZfQ1xh1EZi1FbXxUix+zpsQ==", "_location": "/@types/node", "_phantomChildren": {}, "_requested": { - "type": "version", + "type": "range", "registry": true, - "raw": "@types/node@12.12.7", + "raw": "@types/node@^12.12.11", "name": "@types/node", "escapedName": "@types%2fnode", "scope": "@types", - "rawSpec": "12.12.7", + "rawSpec": "^12.12.11", "saveSpec": null, - "fetchSpec": "12.12.7" + "fetchSpec": "^12.12.11" }, "_requiredBy": [ "#DEV:/", @@ -29,12 +23,14 @@ "/@types/mock-require", "/cheerio/parse5" ], - "_resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.7.tgz", - "_spec": "12.12.7", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.11.tgz", + "_shasum": "bec2961975888d964196bf0016a2f984d793d3ce", + "_spec": "@types/node@^12.12.11", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/issues" }, + "bundleDependencies": false, "contributors": [ { "name": "Microsoft TypeScript", @@ -191,9 +187,14 @@ { "name": "Minh Son Nguyen", "url": "https://github.com/nguymin4" + }, + { + "name": "Junxiao Shi", + "url": "https://github.com/yoursunny" } ], "dependencies": {}, + "deprecated": false, "description": "TypeScript definitions for Node.js", "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped#readme", "license": "MIT", @@ -207,7 +208,7 @@ "scripts": {}, "typeScriptVersion": "2.8", "types": "index.d.ts", - "typesPublisherContentHash": "a02ca3410df572421b5c3f9cb42feca6989e17002defcbd3d03e36d8e38e54c2", + "typesPublisherContentHash": "db8a3e1fadc482615dd04e1c1d0d26eca954d792aed008eac14078e02f14e87b", "typesVersions": { ">=3.2.0-0": { "*": [ @@ -215,5 +216,5 @@ ] } }, - "version": "12.12.7" + "version": "12.12.11" } diff --git a/node_modules/@types/node/url.d.ts b/node_modules/@types/node/url.d.ts index 51dcd69ab..e5b7e2856 100644 --- a/node_modules/@types/node/url.d.ts +++ b/node_modules/@types/node/url.d.ts @@ -1,29 +1,36 @@ declare module "url" { import { ParsedUrlQuery, ParsedUrlQueryInput } from 'querystring'; - interface UrlObjectCommon { - auth?: string; - hash?: string; - host?: string; - hostname?: string; - href?: string; - path?: string; - pathname?: string; - protocol?: string; - search?: string; - slashes?: boolean; - } - // Input to `url.format` - interface UrlObject extends UrlObjectCommon { - port?: string | number; + interface UrlObject { + auth?: string | null; + hash?: string | null; + host?: string | null; + hostname?: string | null; + href?: string | null; + path?: string | null; + pathname?: string | null; + protocol?: string | null; + search?: string | null; + slashes?: boolean | null; + port?: string | number | null; query?: string | null | ParsedUrlQueryInput; } // Output of `url.parse` - interface Url extends UrlObjectCommon { - port?: string; - query?: string | null | ParsedUrlQuery; + interface Url { + auth: string | null; + hash: string | null; + host: string | null; + hostname: string | null; + href: string; + path: string | null; + pathname: string | null; + protocol: string | null; + search: string | null; + slashes: boolean | null; + port: string | null; + query: string | null | ParsedUrlQuery; } interface UrlWithParsedQuery extends Url { diff --git a/node_modules/atob-lite/package.json b/node_modules/atob-lite/package.json index 06e9ccd60..fca84fb2c 100644 --- a/node_modules/atob-lite/package.json +++ b/node_modules/atob-lite/package.json @@ -2,7 +2,7 @@ "_args": [ [ "atob-lite@2.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "atob-lite@2.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", "_spec": "2.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Hugh Kennedy", "email": "hughskennedy@gmail.com", diff --git a/node_modules/before-after-hook/package.json b/node_modules/before-after-hook/package.json index d9eed1826..b724feb23 100644 --- a/node_modules/before-after-hook/package.json +++ b/node_modules/before-after-hook/package.json @@ -2,7 +2,7 @@ "_args": [ [ "before-after-hook@2.1.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "before-after-hook@2.1.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", "_spec": "2.1.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Gregor Martynus" }, diff --git a/node_modules/btoa-lite/package.json b/node_modules/btoa-lite/package.json index 492ec5762..aea284e19 100644 --- a/node_modules/btoa-lite/package.json +++ b/node_modules/btoa-lite/package.json @@ -2,7 +2,7 @@ "_args": [ [ "btoa-lite@1.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "btoa-lite@1.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", "_spec": "1.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Hugh Kennedy", "email": "hughskennedy@gmail.com", diff --git a/node_modules/cross-spawn/package.json b/node_modules/cross-spawn/package.json index a55ff5620..6d86b2ed7 100644 --- a/node_modules/cross-spawn/package.json +++ b/node_modules/cross-spawn/package.json @@ -2,7 +2,7 @@ "_args": [ [ "cross-spawn@6.0.5", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "cross-spawn@6.0.5", @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "_spec": "6.0.5", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "AndrĂ© Cruz", "email": "andre@moxy.studio" diff --git a/node_modules/deprecation/package.json b/node_modules/deprecation/package.json index 97af1a991..c397ec27c 100644 --- a/node_modules/deprecation/package.json +++ b/node_modules/deprecation/package.json @@ -2,7 +2,7 @@ "_args": [ [ "deprecation@2.3.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "deprecation@2.3.1", @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", "_spec": "2.3.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bugs": { "url": "https://github.com/gr2m/deprecation/issues" }, diff --git a/node_modules/end-of-stream/package.json b/node_modules/end-of-stream/package.json index d3948609c..2e1d541aa 100644 --- a/node_modules/end-of-stream/package.json +++ b/node_modules/end-of-stream/package.json @@ -2,7 +2,7 @@ "_args": [ [ "end-of-stream@1.4.4", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "end-of-stream@1.4.4", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "_spec": "1.4.4", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Mathias Buus", "email": "mathiasbuus@gmail.com" diff --git a/node_modules/execa/package.json b/node_modules/execa/package.json index 3407ed4c8..335b75042 100644 --- a/node_modules/execa/package.json +++ b/node_modules/execa/package.json @@ -2,7 +2,7 @@ "_args": [ [ "execa@1.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "execa@1.0.0", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", "_spec": "1.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/get-stream/package.json b/node_modules/get-stream/package.json index f91438a8a..97c4dc4d5 100644 --- a/node_modules/get-stream/package.json +++ b/node_modules/get-stream/package.json @@ -2,7 +2,7 @@ "_args": [ [ "get-stream@4.1.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "get-stream@4.1.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "_spec": "4.1.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/is-plain-object/package.json b/node_modules/is-plain-object/package.json index 477df9be8..a826bcdb6 100644 --- a/node_modules/is-plain-object/package.json +++ b/node_modules/is-plain-object/package.json @@ -2,7 +2,7 @@ "_args": [ [ "is-plain-object@3.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "is-plain-object@3.0.0", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", "_spec": "3.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" diff --git a/node_modules/is-stream/package.json b/node_modules/is-stream/package.json index b03cc992f..028f04caf 100644 --- a/node_modules/is-stream/package.json +++ b/node_modules/is-stream/package.json @@ -2,7 +2,7 @@ "_args": [ [ "is-stream@1.1.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "is-stream@1.1.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "_spec": "1.1.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/isexe/package.json b/node_modules/isexe/package.json index 890213452..a14e95648 100644 --- a/node_modules/isexe/package.json +++ b/node_modules/isexe/package.json @@ -2,7 +2,7 @@ "_args": [ [ "isexe@2.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "isexe@2.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "_spec": "2.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/node_modules/isobject/package.json b/node_modules/isobject/package.json index 949755bb3..b42bea0fa 100644 --- a/node_modules/isobject/package.json +++ b/node_modules/isobject/package.json @@ -2,7 +2,7 @@ "_args": [ [ "isobject@4.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "isobject@4.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", "_spec": "4.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Jon Schlinkert", "url": "https://github.com/jonschlinkert" diff --git a/node_modules/lodash.get/package.json b/node_modules/lodash.get/package.json index d36e8e3b8..f8284674e 100644 --- a/node_modules/lodash.get/package.json +++ b/node_modules/lodash.get/package.json @@ -2,7 +2,7 @@ "_args": [ [ "lodash.get@4.4.2", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "lodash.get@4.4.2", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "_spec": "4.4.2", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "John-David Dalton", "email": "john.david.dalton@gmail.com", diff --git a/node_modules/lodash.set/package.json b/node_modules/lodash.set/package.json index 4fd62303f..33ad19dfc 100644 --- a/node_modules/lodash.set/package.json +++ b/node_modules/lodash.set/package.json @@ -2,7 +2,7 @@ "_args": [ [ "lodash.set@4.3.2", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "lodash.set@4.3.2", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", "_spec": "4.3.2", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "John-David Dalton", "email": "john.david.dalton@gmail.com", diff --git a/node_modules/lodash.uniq/package.json b/node_modules/lodash.uniq/package.json index b880e2008..e3c07f27a 100644 --- a/node_modules/lodash.uniq/package.json +++ b/node_modules/lodash.uniq/package.json @@ -2,7 +2,7 @@ "_args": [ [ "lodash.uniq@4.5.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "lodash.uniq@4.5.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "_spec": "4.5.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "John-David Dalton", "email": "john.david.dalton@gmail.com", diff --git a/node_modules/macos-release/package.json b/node_modules/macos-release/package.json index 09aff48b5..dc28e3ff6 100644 --- a/node_modules/macos-release/package.json +++ b/node_modules/macos-release/package.json @@ -2,7 +2,7 @@ "_args": [ [ "macos-release@2.3.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "macos-release@2.3.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", "_spec": "2.3.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/nice-try/package.json b/node_modules/nice-try/package.json index c9a88fbb0..b32e98e18 100644 --- a/node_modules/nice-try/package.json +++ b/node_modules/nice-try/package.json @@ -2,7 +2,7 @@ "_args": [ [ "nice-try@1.0.5", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "nice-try@1.0.5", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", "_spec": "1.0.5", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "authors": [ "Tobias Reich " ], diff --git a/node_modules/node-fetch/package.json b/node_modules/node-fetch/package.json index a52dd134b..73b9ced49 100644 --- a/node_modules/node-fetch/package.json +++ b/node_modules/node-fetch/package.json @@ -2,7 +2,7 @@ "_args": [ [ "node-fetch@2.6.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "node-fetch@2.6.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", "_spec": "2.6.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "David Frank" }, diff --git a/node_modules/npm-run-path/package.json b/node_modules/npm-run-path/package.json index f1831a7fe..0cc555b51 100644 --- a/node_modules/npm-run-path/package.json +++ b/node_modules/npm-run-path/package.json @@ -2,7 +2,7 @@ "_args": [ [ "npm-run-path@2.0.2", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "npm-run-path@2.0.2", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "_spec": "2.0.2", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/octokit-pagination-methods/package.json b/node_modules/octokit-pagination-methods/package.json index 6677dd0db..927c9234e 100644 --- a/node_modules/octokit-pagination-methods/package.json +++ b/node_modules/octokit-pagination-methods/package.json @@ -2,7 +2,7 @@ "_args": [ [ "octokit-pagination-methods@1.1.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "octokit-pagination-methods@1.1.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", "_spec": "1.1.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Gregor Martynus", "url": "https://github.com/gr2m" diff --git a/node_modules/once/package.json b/node_modules/once/package.json index 2b37d69df..ff93d71dd 100644 --- a/node_modules/once/package.json +++ b/node_modules/once/package.json @@ -2,7 +2,7 @@ "_args": [ [ "once@1.4.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "once@1.4.0", @@ -33,7 +33,7 @@ ], "_resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "_spec": "1.4.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/node_modules/os-name/package.json b/node_modules/os-name/package.json index d776b64e5..865b8314f 100644 --- a/node_modules/os-name/package.json +++ b/node_modules/os-name/package.json @@ -2,7 +2,7 @@ "_args": [ [ "os-name@3.1.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "os-name@3.1.0", @@ -29,7 +29,7 @@ ], "_resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", "_spec": "3.1.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/p-finally/package.json b/node_modules/p-finally/package.json index 2171288de..d49f17b82 100644 --- a/node_modules/p-finally/package.json +++ b/node_modules/p-finally/package.json @@ -2,7 +2,7 @@ "_args": [ [ "p-finally@1.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "p-finally@1.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "_spec": "1.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/path-key/package.json b/node_modules/path-key/package.json index acd6c8656..e06389b65 100644 --- a/node_modules/path-key/package.json +++ b/node_modules/path-key/package.json @@ -2,7 +2,7 @@ "_args": [ [ "path-key@2.0.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "path-key@2.0.1", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "_spec": "2.0.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/pump/package.json b/node_modules/pump/package.json index 88fe0446f..9a6305bc0 100644 --- a/node_modules/pump/package.json +++ b/node_modules/pump/package.json @@ -2,7 +2,7 @@ "_args": [ [ "pump@3.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "pump@3.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "_spec": "3.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Mathias Buus Madsen", "email": "mathiasbuus@gmail.com" diff --git a/node_modules/semver/package.json b/node_modules/semver/package.json index 2e776426e..0b5c1768a 100644 --- a/node_modules/semver/package.json +++ b/node_modules/semver/package.json @@ -2,7 +2,7 @@ "_args": [ [ "semver@5.7.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "semver@5.7.1", @@ -28,7 +28,7 @@ ], "_resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "_spec": "5.7.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "bin": { "semver": "./bin/semver" }, diff --git a/node_modules/shebang-command/package.json b/node_modules/shebang-command/package.json index b67c7259a..bb1c011fb 100644 --- a/node_modules/shebang-command/package.json +++ b/node_modules/shebang-command/package.json @@ -2,7 +2,7 @@ "_args": [ [ "shebang-command@1.2.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "shebang-command@1.2.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "_spec": "1.2.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Kevin Martensson", "email": "kevinmartensson@gmail.com", diff --git a/node_modules/shebang-regex/package.json b/node_modules/shebang-regex/package.json index d55665b77..9c30492ed 100644 --- a/node_modules/shebang-regex/package.json +++ b/node_modules/shebang-regex/package.json @@ -2,7 +2,7 @@ "_args": [ [ "shebang-regex@1.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "shebang-regex@1.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "_spec": "1.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/signal-exit/package.json b/node_modules/signal-exit/package.json index ef0178089..b7b2ea645 100644 --- a/node_modules/signal-exit/package.json +++ b/node_modules/signal-exit/package.json @@ -2,7 +2,7 @@ "_args": [ [ "signal-exit@3.0.2", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "signal-exit@3.0.2", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "_spec": "3.0.2", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Ben Coe", "email": "ben@npmjs.com" diff --git a/node_modules/strip-eof/package.json b/node_modules/strip-eof/package.json index 6d9188d50..2827a3cf5 100644 --- a/node_modules/strip-eof/package.json +++ b/node_modules/strip-eof/package.json @@ -2,7 +2,7 @@ "_args": [ [ "strip-eof@1.0.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "strip-eof@1.0.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "_spec": "1.0.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/universal-user-agent/package.json b/node_modules/universal-user-agent/package.json index a4a0ce848..62d7ea511 100644 --- a/node_modules/universal-user-agent/package.json +++ b/node_modules/universal-user-agent/package.json @@ -2,7 +2,7 @@ "_args": [ [ "universal-user-agent@2.1.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "universal-user-agent@2.1.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.1.0.tgz", "_spec": "2.1.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Gregor Martynus", "url": "https://github.com/gr2m" diff --git a/node_modules/which/package.json b/node_modules/which/package.json index 184763836..fe758d43a 100644 --- a/node_modules/which/package.json +++ b/node_modules/which/package.json @@ -2,7 +2,7 @@ "_args": [ [ "which@1.3.1", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "which@1.3.1", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "_spec": "1.3.1", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/node_modules/windows-release/package.json b/node_modules/windows-release/package.json index bbed9b222..27fc78afe 100644 --- a/node_modules/windows-release/package.json +++ b/node_modules/windows-release/package.json @@ -2,7 +2,7 @@ "_args": [ [ "windows-release@3.2.0", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "windows-release@3.2.0", @@ -26,7 +26,7 @@ ], "_resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz", "_spec": "3.2.0", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Sindre Sorhus", "email": "sindresorhus@gmail.com", diff --git a/node_modules/wrappy/package.json b/node_modules/wrappy/package.json index bfa6e388b..9c4e9d4e2 100644 --- a/node_modules/wrappy/package.json +++ b/node_modules/wrappy/package.json @@ -2,7 +2,7 @@ "_args": [ [ "wrappy@1.0.2", - "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark" + "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark" ] ], "_from": "wrappy@1.0.2", @@ -27,7 +27,7 @@ ], "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "_spec": "1.0.2", - "_where": "/Users/rhayasd/Develop/github.com/rhysd/github-action-benchmark", + "_where": "/Users/npsdev5/Develop/github.com/rhysd/github-action-benchmark", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", diff --git a/package-lock.json b/package-lock.json index f7ccd4127..ced785e0a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -113,9 +113,9 @@ } }, "@octokit/rest": { - "version": "16.34.1", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.34.1.tgz", - "integrity": "sha512-JUoS12cdktf1fv86rgrjC/RvYLuL+o7p57W7zX1x7ANFJ7OvdV8emvUNkFlcidEaOkYrxK3SoWgQFt3FhNmabA==", + "version": "16.35.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.35.0.tgz", + "integrity": "sha512-9ShFqYWo0CLoGYhA1FdtdykJuMzS/9H6vSbbQWDX4pWr4p9v+15MsH/wpd/3fIU+tSxylaNO48+PIHqOkBRx3w==", "requires": { "@octokit/request": "^5.2.0", "@octokit/request-error": "^1.0.2", @@ -159,14 +159,26 @@ } }, "@types/cheerio": { - "version": "0.22.13", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.13.tgz", - "integrity": "sha512-OZd7dCUOUkiTorf97vJKwZnSja/DmHfuBAroe1kREZZTCf/tlFecwHhsOos3uVHxeKGZDwzolIrCUApClkdLuA==", + "version": "0.22.14", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.14.tgz", + "integrity": "sha512-SVtcP2fvPYrebTwpyqxjxb7K5v3ZOAdH409yAEWFPpZThCSGa1K2IFfx6Rg6ttvThCBQXP4fU9WF94sqLoiQGg==", "dev": true, "requires": { "@types/node": "*" } }, + "@types/deep-diff": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/deep-diff/-/deep-diff-1.0.0.tgz", + "integrity": "sha512-ENsJcujGbCU/oXhDfQ12mSo/mCBWodT2tpARZKmatoSrf8+cGRCPi0KVj3I0FORhYZfLXkewXu7AoIWqiBLkNw==", + "dev": true + }, + "@types/deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha512-mMUu4nWHLBlHtxXY17Fg6+ucS/MnndyOWyOe7MmwkoMYxvfQU2ajtRaEvqSUv+aVkMqH/C0NCI8UoVfRNQ10yg==", + "dev": true + }, "@types/eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", @@ -201,9 +213,9 @@ } }, "@types/node": { - "version": "12.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.7.tgz", - "integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w==" + "version": "12.12.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.11.tgz", + "integrity": "sha512-O+x6uIpa6oMNTkPuHDa9MhMMehlxLAd5QcOvKRjAFsBVpeFWTOPnXbDvILvFgFFZfQ1xh1EZi1FbXxUix+zpsQ==" }, "@types/normalize-package-data": { "version": "2.4.0", @@ -212,49 +224,58 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.7.0.tgz", - "integrity": "sha512-H5G7yi0b0FgmqaEUpzyBlVh0d9lq4cWG2ap0RKa6BkF3rpBb6IrAoubt1NWh9R2kRs/f0k6XwRDiDz3X/FqXhQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.8.0.tgz", + "integrity": "sha512-ohqul5s6XEB0AzPWZCuJF5Fd6qC0b4+l5BGEnrlpmvXxvyymb8yw8Bs4YMF8usNAeuCJK87eFIHy8g8GFvOtGA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.7.0", - "eslint-utils": "^1.4.2", + "@typescript-eslint/experimental-utils": "2.8.0", + "eslint-utils": "^1.4.3", "functional-red-black-tree": "^1.0.1", - "regexpp": "^2.0.1", + "regexpp": "^3.0.0", "tsutils": "^3.17.1" + }, + "dependencies": { + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==", + "dev": true + } } }, "@typescript-eslint/experimental-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.7.0.tgz", - "integrity": "sha512-9/L/OJh2a5G2ltgBWJpHRfGnt61AgDeH6rsdg59BH0naQseSwR7abwHq3D5/op0KYD/zFT4LS5gGvWcMmegTEg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.8.0.tgz", + "integrity": "sha512-jZ05E4SxCbbXseQGXOKf3ESKcsGxT8Ucpkp1jiVp55MGhOvZB2twmWKf894PAuVQTCgbPbJz9ZbRDqtUWzP8xA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.7.0", + "@typescript-eslint/typescript-estree": "2.8.0", "eslint-scope": "^5.0.0" } }, "@typescript-eslint/parser": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.7.0.tgz", - "integrity": "sha512-ctC0g0ZvYclxMh/xI+tyqP0EC2fAo6KicN9Wm2EIao+8OppLfxji7KAGJosQHSGBj3TcqUrA96AjgXuKa5ob2g==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.8.0.tgz", + "integrity": "sha512-NseXWzhkucq+JM2HgqAAoKEzGQMb5LuTRjFPLQzGIdLthXMNUfuiskbl7QSykvWW6mvzCtYbw1fYWGa2EIaekw==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.7.0", - "@typescript-eslint/typescript-estree": "2.7.0", + "@typescript-eslint/experimental-utils": "2.8.0", + "@typescript-eslint/typescript-estree": "2.8.0", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.7.0.tgz", - "integrity": "sha512-vVCE/DY72N4RiJ/2f10PTyYekX2OLaltuSIBqeHYI44GQ940VCYioInIb8jKMrK9u855OEJdFC+HmWAZTnC+Ag==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.8.0.tgz", + "integrity": "sha512-ksvjBDTdbAQ04cR5JyFSDX113k66FxH1tAXmi+dj6hufsl/G0eMc/f1GgLjEVPkYClDbRKv+rnBFuE5EusomUw==", "dev": true, "requires": { "debug": "^4.1.1", - "glob": "^7.1.4", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", "is-glob": "^4.0.1", "lodash.unescape": "4.0.1", "semver": "^6.3.0", @@ -633,6 +654,26 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "deep-diff": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz", + "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -867,20 +908,12 @@ } }, "eslint-config-prettier": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.5.0.tgz", - "integrity": "sha512-cjXp8SbO9VFGW/Z7mbTydqS9to8Z58E5aYhj3e1+Hx7lS9s6gL5ILKNpCqZAFOVYRcSkWPFYljHrEh8QFEK5EQ==", + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz", + "integrity": "sha512-FamQVKM3jjUVwhG4hEMnbtsq7xOIDm+SY5iBPfR8gKsJoAB2IQnNF+bk1+8Fy44Nq7PPJaLvkRxILYdJWoguKQ==", "dev": true, "requires": { "get-stdin": "^6.0.0" - }, - "dependencies": { - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - } } }, "eslint-plugin-mocha": { @@ -1100,9 +1133,9 @@ "dev": true }, "get-stdin": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", - "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", "dev": true }, "get-stream": { @@ -1202,9 +1235,9 @@ } }, "husky": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/husky/-/husky-3.0.9.tgz", - "integrity": "sha512-Yolhupm7le2/MqC1VYLk/cNmYxsSsqKkTyBhzQHhPK1jFnC89mmmNVuGtLNabjDI6Aj8UNIr0KpRNuBkiC4+sg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz", + "integrity": "sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -1218,6 +1251,14 @@ "read-pkg": "^5.2.0", "run-node": "^1.0.0", "slash": "^3.0.0" + }, + "dependencies": { + "get-stdin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", + "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==", + "dev": true + } } }, "iconv-lite": { @@ -1347,6 +1388,12 @@ } } }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -1755,6 +1802,12 @@ "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", "dev": true }, + "object-is": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", + "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", + "dev": true + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -2079,6 +2132,15 @@ "util-deprecate": "^1.0.1" } }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2" + } + }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", diff --git a/package.json b/package.json index 311807a0a..2e3f94076 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,9 @@ "main": "index.js", "scripts": { "build": "tsc -p .", - "watch": "tsc -p . --watch", + "watch:tsc": "tsc -p . --watch --preserveWatchOutput", + "watch:mocha": "mocha --watch ./test", + "watch": "npm-run-all -p watch:tsc watch:mocha", "lint": "eslint '**/*.ts'", "fix": "eslint --fix '**/*.ts'", "test": "mocha ./test" @@ -30,28 +32,33 @@ "@actions/core": "^1.2.0", "@actions/exec": "^1.0.1", "@actions/github": "^1.1.0", - "@actions/io": "^1.0.1" + "@actions/io": "^1.0.1", + "@octokit/rest": "^16.35.0" }, "devDependencies": { "@types/acorn": "^4.0.5", - "@types/cheerio": "^0.22.13", + "@types/cheerio": "^0.22.14", + "@types/deep-diff": "^1.0.0", + "@types/deep-equal": "^1.0.1", "@types/mocha": "^5.2.7", "@types/mock-require": "^2.0.0", - "@types/node": "^12.12.7", - "@typescript-eslint/eslint-plugin": "^2.7.0", - "@typescript-eslint/parser": "^2.7.0", + "@types/node": "^12.12.11", + "@typescript-eslint/eslint-plugin": "^2.8.0", + "@typescript-eslint/parser": "^2.8.0", "acorn": "^7.1.0", "cheerio": "^1.0.0-rc.3", + "deep-diff": "^1.0.2", + "deep-equal": "^1.1.1", "eslint": "^6.6.0", - "eslint-config-prettier": "^6.5.0", + "eslint-config-prettier": "^6.7.0", "eslint-plugin-mocha": "^6.2.1", "eslint-plugin-prettier": "^3.1.1", - "husky": "^3.0.9", + "husky": "^3.1.0", "mocha": "^6.2.2", "mock-require": "^3.0.3", "npm-run-all": "^4.1.5", "prettier": "^1.19.1", - "typescript": "^3.7.0" + "typescript": "^3.7.2" }, "husky": { "hooks": { diff --git a/write.js b/write.js index e83cea4c3..fe7d1e67d 100644 --- a/write.js +++ b/write.js @@ -12,13 +12,14 @@ const path = __importStar(require("path")); const io = __importStar(require("@actions/io")); const core = __importStar(require("@actions/core")); const github = __importStar(require("@actions/github")); +const Octokit = require("@octokit/rest"); const git = __importStar(require("./git")); const default_index_html_1 = require("./default_index_html"); -const SCRIPT_PREFIX = 'window.BENCHMARK_DATA = '; +exports.SCRIPT_PREFIX = 'window.BENCHMARK_DATA = '; async function loadDataJson(dataPath) { try { const script = await fs_1.promises.readFile(dataPath, 'utf8'); - const json = script.slice(SCRIPT_PREFIX.length); + const json = script.slice(exports.SCRIPT_PREFIX.length); const parsed = JSON.parse(json); core.debug(`Loaded data.js at ${dataPath}`); return parsed; @@ -33,17 +34,10 @@ async function loadDataJson(dataPath) { } } async function storeDataJson(dataPath, data) { - const script = SCRIPT_PREFIX + JSON.stringify(data, null, 2); + const script = exports.SCRIPT_PREFIX + JSON.stringify(data, null, 2); await fs_1.promises.writeFile(dataPath, script, 'utf8'); core.debug(`Overwrote ${dataPath} for adding new data`); } -function addBenchmark(entries, name, bench) { - if (entries[name] === undefined) { - entries[name] = []; - core.debug(`No entry found for benchmark '${name}'. Created.`); - } - entries[name].push(bench); -} async function addIndexHtmlIfNeeded(dir) { const indexHtml = path.join(dir, 'index.html'); try { @@ -75,9 +69,128 @@ async function pushGitHubPages(token, branch) { await git.push(token, branch); core.debug('Retrying auto push was successfully done'); } +function biggerIsBetter(tool) { + switch (tool) { + case 'cargo': + return false; + case 'go': + return false; + case 'benchmarkjs': + return true; + case 'pytest': + return true; + } +} +function findAlerts(curEntry, prevEntry, threshold) { + core.debug(`Comparing current:${curEntry.commit.id} and prev:${prevEntry.commit.id} for alert`); + const alerts = []; + for (const current of curEntry.benches) { + const prev = prevEntry.benches.find(b => b.name === current.name); + if (prev === undefined) { + core.debug(`Skipped because benchmark '${current.name}' is not found in previous benchmarks`); + continue; + } + const ratio = biggerIsBetter(curEntry.tool) + ? prev.value / current.value // e.g. current=100, prev=200 + : current.value / prev.value; // e.g. current=200, prev=100 + if (ratio > threshold) { + core.warning(`Performance alert! Previous value was ${prev.value} and current value is ${current.value}. Ratio ${ratio} is bigger than threshold ${threshold}`); + alerts.push({ current, prev, ratio }); + } + } + return alerts; +} +function getCurrentRepo() { + const repo = github.context.payload.repository; + if (!repo) { + throw new Error(`Repository information is not available in payload: ${JSON.stringify(github.context.payload, null, 2)}`); + } + return repo; +} +function buildAlertComment(alerts, benchName, curEntry, prevEntry, threshold, cc) { + // Do not show benchmark name if it is the default value 'Benchmark'. + const benchmarkText = benchName === 'Benchmark' ? '' : ` '${benchName}'`; + const title = threshold === 0 ? '# Performance Report' : '# :warning: **Performance Alert!!** :warning:'; + const lines = [ + title, + '', + `Possible performance regression was detected for benchmark${benchmarkText}.`, + `Benchmark result of this commit is worse than the previous benchmark result exceeding threshold ${threshold}.`, + '', + `| Benchmark suite | Current: ${curEntry.commit.id} | Previous: ${prevEntry.commit.id} | Ratio |`, + '|-|-|-|-|', + ]; + function strOfValue(b) { + let s = `\`${b.value}\` ${b.unit}`; + if (b.range) { + s += ` (\`${b.range}\`)`; + } + return s; + } + for (const alert of alerts) { + const { current, prev, ratio } = alert; + const line = `| \`${current.name}\` | ${strOfValue(current)} | ${strOfValue(prev)} | \`${ratio}\` |`; + lines.push(line); + } + const repo = getCurrentRepo(); + // eslint-disable-next-line @typescript-eslint/camelcase + const repoUrl = repo.html_url; + const actionUrl = repoUrl + '/actions?query=workflow%3A' + github.context.workflow; + core.debug(`Action URL: ${actionUrl}`); + // Footer + lines.push('', `This comment was automatically generated by [workflow](${actionUrl}) using [github-action-benchmark](https://github.com/rhysd/github-action-benchmark).`); + if (cc.length > 0) { + lines.push('', `CC: ${cc.join(' ')}`); + } + return lines.join('\n'); +} +async function leaveComment(commitId, body, token) { + core.debug('Sending alert comment:\n' + body); + const repo = getCurrentRepo(); + // eslint-disable-next-line @typescript-eslint/camelcase + const repoUrl = repo.html_url; + const client = new Octokit({ auth: token }); + const res = await client.repos.createCommitComment({ + owner: repo.owner.login, + repo: repo.name, + // eslint-disable-next-line @typescript-eslint/camelcase + commit_sha: commitId, + body, + }); + const commitUrl = `${repoUrl}/commit/${commitId}`; + console.log(`Alert comment was sent to ${commitUrl}. Response:`, res.status, res.data); + return res; +} +async function alert(benchName, curEntry, prevEntry, threshold, token, shouldComment, shouldFail, ccUsers) { + if (!shouldComment && !shouldFail) { + core.debug('Alert check was skipped because both comment-on-alert and fail-on-alert were disabled'); + return; + } + const alerts = findAlerts(curEntry, prevEntry, threshold); + if (alerts.length === 0) { + core.debug('No performance alert found happily'); + return; + } + core.debug(`Found ${alerts.length} alerts`); + const body = buildAlertComment(alerts, benchName, curEntry, prevEntry, threshold, ccUsers); + let message = body; + if (shouldComment) { + if (!token) { + throw new Error("'comment-on-alert' is set but github-token is not set"); + } + const res = await leaveComment(curEntry.commit.id, body, token); + // eslint-disable-next-line @typescript-eslint/camelcase + const url = res.data.html_url; + message = body + `\nComment was generated at ${url}`; + } + if (shouldFail) { + core.debug('Mark this workflow as fail since one or more alerts found'); + throw new Error(message); + } +} async function writeBenchmark(bench, config) { var _a, _b, _c, _d; - const { name, tool, ghPagesBranch, benchmarkDataDirPath, githubToken, autoPush } = config; + const { name, tool, ghPagesBranch, benchmarkDataDirPath, githubToken, autoPush, skipFetchGhPages, commentOnAlert, alertThreshold, failOnAlert, alertCommentCcUsers, } = config; const dataPath = path.join(benchmarkDataDirPath, 'data.js'); /* eslint-disable @typescript-eslint/camelcase */ const htmlUrl = (_b = (_a = github.context.payload.repository) === null || _a === void 0 ? void 0 : _a.html_url, (_b !== null && _b !== void 0 ? _b : '')); @@ -85,7 +198,7 @@ async function writeBenchmark(bench, config) { /* eslint-enable @typescript-eslint/camelcase */ await git.cmd('switch', ghPagesBranch); try { - if (!isPrivateRepo || githubToken) { + if (!skipFetchGhPages && (!isPrivateRepo || githubToken)) { await git.pull(githubToken, ghPagesBranch); } else if (isPrivateRepo) { @@ -93,10 +206,26 @@ async function writeBenchmark(bench, config) { "before generating a commit, please set 'github-token' input to pull GitHub pages branch"); } await io.mkdirP(benchmarkDataDirPath); + let prevBench = null; const data = await loadDataJson(dataPath); data.lastUpdate = Date.now(); data.repoUrl = htmlUrl; - addBenchmark(data.entries, name, bench); + // Add benchmark result + if (data.entries[name] === undefined) { + data.entries[name] = [bench]; + core.debug(`No entry found for benchmark '${name}'. Created.`); + } + else { + const entries = data.entries[name]; + // Get last entry which has different commit ID for alert comment + for (const e of entries.slice().reverse()) { + if (e.commit.id !== bench.commit.id) { + prevBench = e; + break; + } + } + entries.push(bench); + } await storeDataJson(dataPath, data); await git.cmd('add', dataPath); await addIndexHtmlIfNeeded(benchmarkDataDirPath); @@ -108,6 +237,14 @@ async function writeBenchmark(bench, config) { else { core.debug(`Auto-push to ${ghPagesBranch} is skipped because it requires both github-token and auto-push`); } + // Put this after `git push` for reducing possibility to get conflict on push. Since sending + // comment take time due to API call, do it after updating remote branch. + if (prevBench === null) { + core.debug('Alert check was skipped because previous benchmark result was not found'); + } + else { + await alert(name, bench, prevBench, alertThreshold, githubToken, commentOnAlert, failOnAlert, alertCommentCcUsers); + } } finally { // `git switch` does not work for backing to detached head