From 764cf7aa19194d0cfc4264d7da2226dfbb03caea Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 03:48:11 +0900 Subject: [PATCH 01/21] [action] Update parameters description --- action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index d8068862..6dcc4c84 100644 --- a/action.yml +++ b/action.yml @@ -3,7 +3,7 @@ description: 'Slack Notification for Github Actions' author: 'homoluctus' inputs: type: - description: 'job status (success or failure)' + description: 'job status (success, failure or cancelled)' required: true job_name: description: 'job name of workflow (format: markdown)' @@ -12,7 +12,7 @@ inputs: description: 'slack mention' required: false mention_if: - description: 'the condition to mention' + description: 'the condition for mention' required: false username: description: 'slack username' From f103191ee8bc392bc3b79ed768d7bc7f56b21556 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 03:50:42 +0900 Subject: [PATCH 02/21] [utils] Create isAllowedStatus function --- src/utils.ts | 40 +++++++++------------------------------- 1 file changed, 9 insertions(+), 31 deletions(-) diff --git a/src/utils.ts b/src/utils.ts index 5d0cf783..e7ef53ff 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,36 +1,14 @@ /** - * Convert status string to number - * Return 1 (Status.Success) if argument word contains "success" - * Return 0 (Status.Failure) if argument word contains "fail" - * @param status {string} + * Check if status entered by user is allowed by GitHub Actions. + * @param {string} status - job status + * @returns {string} */ -export function getStatus(status: string): Status { - const lowercase_status: string = status.toLowerCase(); +export function isAllowedStatus(status: string): string { + const lowercaseStatus: string = status.toLowerCase(); + const jobStatusList: string[] = ['success', 'failure', 'cancelled']; - if (lowercase_status.includes('success')) { - return Status.Success; - } else if (lowercase_status.includes('fail')) { - return Status.Failure; - } else if (lowercase_status.includes('cancel')) { - return Status.Cancel; - } else if (lowercase_status === 'always') { - return Status.Always; - } else { - throw new Error(` - The argument includes an unacceptable word. - "type" parameter allows to include "success", "fail" or "cancel". - "mention_if" parameter can include "always" in addition to the above. - `); + if (!jobStatusList.includes(lowercaseStatus)) { + throw new Error('Invalid value input'); } -} - -/** - * Job status - */ -export enum Status { - Failure = 0, - Success = 1, - Cancel = 2, - Always = 3, - None = 100 + return status; } \ No newline at end of file From 9d7e744f6e04b0760aad468fe9f6b832ce61427a Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 03:52:30 +0900 Subject: [PATCH 03/21] [slack] Integrate from kebab-case to camel-case --- src/slack.ts | 82 ++++++++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 38 deletions(-) diff --git a/src/slack.ts b/src/slack.ts index cdc54c2f..34ab2ef2 100644 --- a/src/slack.ts +++ b/src/slack.ts @@ -1,6 +1,5 @@ import * as github from '@actions/github'; import * as core from '@actions/core'; -import { Status } from './utils'; import { SectionBlock, MessageAttachment } from '@slack/types'; import { IncomingWebhook, IncomingWebhookSendArguments, @@ -10,58 +9,59 @@ import { export class Slack extends IncomingWebhook { static readonly accessory: object[] = [ { - // failure - color: '#cb2431', - mark: ':x:', - result: 'Failed', + failure: { + color: '#cb2431', + result: 'Failed' + } }, { - // success - color: '#2cbe4e', - mark: ':white_check_mark:', - result: 'Succeeded', + success: { + color: '#2cbe4e', + result: 'Succeeded' + } }, { - // cancel - color: '#ffc107', - mark: ':warning:', - result: 'Canceled', + cancelled: { + color: '#ffc107', + result: 'Cancelled' + } } ]; constructor( url: string, username: string, - icon_emoji: string, + iconEmoji: string, channel: string ) { - super(url, {username, icon_emoji, channel}); + super(url, {username, icon_emoji: iconEmoji, channel}); } /** * Get slack blocks UI + * @returns {SectionBlock} blocks */ protected get blocks(): SectionBlock { const context = github.context; const { sha, eventName, workflow, ref } = context; const { owner, repo } = context.repo; const { number } = context.issue; - const repo_url: string = `https://github.com/${owner}/${repo}`; - let action_url: string = repo_url; + const repoUrl: string = `https://github.com/${owner}/${repo}`; + let actionUrl: string = repoUrl; if (eventName === 'pull_request') { - action_url += `/pull/${number}/checks` + actionUrl += `/pull/${number}/checks` } else { - action_url += `/commit/${sha}/checks`; + actionUrl += `/commit/${sha}/checks`; } const blocks: SectionBlock = { type: 'section', fields: [ - { type: 'mrkdwn', text: `*repository*\n<${repo_url}|${owner}/${repo}>` }, + { type: 'mrkdwn', text: `*repository*\n<${repoUrl}|${owner}/${repo}>` }, { type: 'mrkdwn', text: `*ref*\n${ref}` }, { type: 'mrkdwn', text: `*event name*\n${eventName}` }, - { type: 'mrkdwn', text: `*workflow*\n<${action_url}|${workflow}>` }, + { type: 'mrkdwn', text: `*workflow*\n<${actionUrl}|${workflow}>` }, ] } @@ -69,38 +69,44 @@ export class Slack extends IncomingWebhook { } /** - * Create mention for slack message + * Check if message mention is needed + * @param {string} mentionCondition - mention condition + * @param {string} status - job status + * @returns {boolean} */ - protected createMention(mention: string, mention_if: Status, status: Status): string { - if (mention_if === Status.Always || mention_if === status) { - return mention; - } else { - return ''; + protected isMention(mentionCondition: string, status: string): boolean { + if (mentionCondition === 'always' || mentionCondition === status) { + return true; } + return false; } /** * Generate slack payload + * @param {string} jobName + * @param {string} mention + * @param {string} mentionCondition + * @param {string} status + * @returns {IncomingWebhookSendArguments} payload */ public generatePayload( - job_name: string, + jobName: string, mention: string, - mention_if: Status, - status: Status + mentionCondition: string, + status: string ): IncomingWebhookSendArguments { - if (status === Status.Always) { + if (status === 'always') { throw new Error('"always" cannot be specified with "type" parameter') } const color: string = Slack.accessory[status]['color']; - const mark: string = Slack.accessory[status]['mark']; const result: string = Slack.accessory[status]['result']; - const mention_text: string = this.createMention(mention, mention_if, status); - let text: string = `${mark} ${job_name} ${result}`; + const mentionText: string = this.isMention(mentionCondition, status) ? mention : ''; + let text: string = `${jobName} ${result}`; - if (mention_text !== '') { - text += ` `; + if (mentionText !== '') { + text = ` ${text}`; } const attachments: MessageAttachment = { @@ -121,13 +127,13 @@ export class Slack extends IncomingWebhook { /** * Notify information about github actions to Slack + * @param {IncomingWebhookSendArguments} payload + * @returns {Promise} result */ public async notify(payload: IncomingWebhookSendArguments): Promise { try { const result = await this.send(payload); - core.debug('Sent message to Slack'); - return result; } catch (err) { throw err; From bf56552a205e33b09fcfb40754f718e12f439426 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 03:53:13 +0900 Subject: [PATCH 04/21] [main] Integrate from kebab-case to camel-case and remove no need code --- src/main.ts | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/main.ts b/src/main.ts index 76f93e45..c6e81550 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,15 +1,15 @@ import * as core from '@actions/core'; import { Slack } from './slack'; -import { Status, getStatus } from './utils'; +import { isAllowedStatus } from './utils'; async function run() { try { - const status: Status = getStatus(core.getInput('type', { required: true })); - const job_name: string = core.getInput('job_name', { required: true }); + const status: string = isAllowedStatus(core.getInput('type', { required: true })); + const jobName: string = core.getInput('job_name', { required: true }); const mention: string = core.getInput('mention'); - const tmp_mention_if: string = core.getInput('mention_if'); + const mentionCondition: string = core.getInput('mention_if'); const username: string = core.getInput('username'); - const icon_emoji: string = core.getInput('icon_emoji'); + const iconEmoji: string = core.getInput('icon_emoji'); const channel: string = core.getInput('channel'); const url: string = core.getInput('url') || process.env.SLACK_WEBHOOK || ''; @@ -21,15 +21,8 @@ async function run() { `); } - let mention_if: Status; - if (tmp_mention_if === '') { - mention_if = Status.None; - } else { - mention_if = getStatus(tmp_mention_if); - } - - const slack = new Slack(url, username, icon_emoji, channel); - const payload = slack.generatePayload(job_name, mention, mention_if, status); + const slack = new Slack(url, username, iconEmoji, channel); + const payload = slack.generatePayload(jobName, mention, mentionCondition, status); const result = await slack.notify(payload); core.debug(`Response from Slack: ${JSON.stringify(result)}`); From 9c3634855f7068a56ac8c7a6a53207ae8f89bb7f Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 03:55:36 +0900 Subject: [PATCH 05/21] [readme] Modify type parameter description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 824de95e..d41fffdc 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ You can customize the following parameters: |with parameter|required/optional|default|description| |:--:|:--:|:--|:--| -|type|required|N/A|The result of GitHub Actions job
This parameter value must contain the following word:
- `success`
- `fail`
- `cancel`
We recommend using ${{ job.status }}| +|type|required|N/A|The result of GitHub Actions job
This parameter value must contain the following word:
- `success`
- `failure`
- `cancelled`
We recommend using ${{ job.status }}| |job_name|required|N/A|Means slack notification title| |url|required|N/A|Slack Incoming Webhooks URL
Please specify this key or SLACK_WEBHOOK environment variable
※SLACK_WEBHOOK will be deprecated| |mention|optional|N/A|Slack message mention| From 437a1b19d6ecaa965357353f9583a99612cdd82b Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 03:57:03 +0900 Subject: [PATCH 06/21] [lint] Change target branch --- .github/workflows/lint.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 135870a6..4e60a375 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -3,8 +3,7 @@ name: TS Lint Check on: pull_request: branches: - - develop - - releases/* + - master paths: - src/* From 23d650046a2b9ad783293bd5e2e82a1393a8df3b Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 04:05:46 +0900 Subject: [PATCH 07/21] [test] Add dependencies installation step --- .github/workflows/develop.yml | 22 ------------- .github/workflows/release.yml | 3 +- .github/workflows/test.yml | 60 +++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 24 deletions(-) delete mode 100644 .github/workflows/develop.yml diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml deleted file mode 100644 index 0f93bf51..00000000 --- a/.github/workflows/develop.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Check works - -on: - push: - branches: - - test - -jobs: - success: - name: Check works - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@master - - - name: Slack Notification - uses: homoluctus/slatify@master - if: always() - with: - type: ${{ job.status }} - job_name: ' :robot_face: *Check action*' - channel: '#develop' - url: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 92c72e06..62ab20d1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,8 +20,7 @@ jobs: - name: Git checkout run: git checkout -b releases/v1 - - name: Setup Node - uses: actions/setup-node@v1 + - uses: actions/setup-node@v1 with: node-version: '10.x' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c2220be3..7e493156 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,6 +12,21 @@ jobs: steps: - uses: actions/checkout@master + - uses: actions/setup-node@v1 + with: + node-version: '10.x' + + - name: Install dependencies + run: npm install + + - name: NPM build + run: npm run build + + - name: Install dependencies for production + run: | + rm -rf node_modules + npm install --production + - name: Slack Notification uses: homoluctus/slatify@releases/v1 if: always() @@ -29,6 +44,21 @@ jobs: steps: - uses: actions/checkout@master + - uses: actions/setup-node@v1 + with: + node-version: '10.x' + + - name: Install dependencies + run: npm install + + - name: NPM build + run: npm run build + + - name: Install dependencies for production + run: | + rm -rf node_modules + npm install --production + - name: Slack Notification uses: homoluctus/slatify@releases/v1 if: always() @@ -44,6 +74,21 @@ jobs: steps: - uses: actions/checkout@master + - uses: actions/setup-node@v1 + with: + node-version: '10.x' + + - name: Install dependencies + run: npm install + + - name: NPM build + run: npm run build + + - name: Install dependencies for production + run: | + rm -rf node_modules + npm install --production + - name: Exit 1 run: exit 1 @@ -66,6 +111,21 @@ jobs: steps: - uses: actions/checkout@master + - uses: actions/setup-node@v1 + with: + node-version: '10.x' + + - name: Install dependencies + run: npm install + + - name: NPM build + run: npm run build + + - name: Install dependencies for production + run: | + rm -rf node_modules + npm install --production + - name: Wait run: sleep 60 From 3c26d68ae743d220bc10f3959812c4802224fb6d Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 04:18:02 +0900 Subject: [PATCH 08/21] [test] Remove no need code --- .github/workflows/test.yml | 68 +++----------------------------------- 1 file changed, 4 insertions(+), 64 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7e493156..f6e9481c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,23 +12,8 @@ jobs: steps: - uses: actions/checkout@master - - uses: actions/setup-node@v1 - with: - node-version: '10.x' - - - name: Install dependencies - run: npm install - - - name: NPM build - run: npm run build - - - name: Install dependencies for production - run: | - rm -rf node_modules - npm install --production - - name: Slack Notification - uses: homoluctus/slatify@releases/v1 + uses: homoluctus/slatify@${{ github.head_ref }} if: always() with: type: ${{ job.status }} @@ -44,23 +29,8 @@ jobs: steps: - uses: actions/checkout@master - - uses: actions/setup-node@v1 - with: - node-version: '10.x' - - - name: Install dependencies - run: npm install - - - name: NPM build - run: npm run build - - - name: Install dependencies for production - run: | - rm -rf node_modules - npm install --production - - name: Slack Notification - uses: homoluctus/slatify@releases/v1 + uses: homoluctus/slatify@${{ github.head_ref }} if: always() with: type: ${{ job.status }} @@ -74,26 +44,11 @@ jobs: steps: - uses: actions/checkout@master - - uses: actions/setup-node@v1 - with: - node-version: '10.x' - - - name: Install dependencies - run: npm install - - - name: NPM build - run: npm run build - - - name: Install dependencies for production - run: | - rm -rf node_modules - npm install --production - - name: Exit 1 run: exit 1 - name: Slack Notification - uses: homoluctus/slatify@releases/v1 + uses: homoluctus/slatify@${{ github.head_ref }} if: always() with: type: ${{ job.status }} @@ -111,26 +66,11 @@ jobs: steps: - uses: actions/checkout@master - - uses: actions/setup-node@v1 - with: - node-version: '10.x' - - - name: Install dependencies - run: npm install - - - name: NPM build - run: npm run build - - - name: Install dependencies for production - run: | - rm -rf node_modules - npm install --production - - name: Wait run: sleep 60 - name: Slack Notification - uses: homoluctus/slatify@releases/v1 + uses: homoluctus/slatify@${{ github.head_ref }} if: always() with: type: ${{ job.status }} From cd5e29ac1ce4b158ea4a9b53aefeaf583d7d2470 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:12:19 +0900 Subject: [PATCH 09/21] [gitignore] Add package-lock.json --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 1830ac14..deeb3c7e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .node_repl_history .config/ .npm/ -node_modules/ \ No newline at end of file +node_modules/ +package-lock.json \ No newline at end of file From dfd03e99e200cd5b4ce679cb73c177aa07ad2cfc Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:14:20 +0900 Subject: [PATCH 10/21] [release] Use actions/create-release --- .github/workflows/release.yml | 74 ++++++----------------------------- 1 file changed, 12 insertions(+), 62 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 62ab20d1..d4810d96 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,11 +2,8 @@ name: Prepare for release on: push: - branches: - - releases/* - - paths: - - src/* + tags: + - 'v*' jobs: release: @@ -14,73 +11,26 @@ jobs: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - with: - ref: remotes/origin/releases/v1 - - - name: Git checkout - run: git checkout -b releases/v1 - uses: actions/setup-node@v1 with: node-version: '10.x' - - name: Install dependencies - run: npm install - - - name: NPM build - run: npm run build - - - name: Not ignore node_modules - run: sed -i '/node_modules*/d' .gitignore - - - name: Install dependencies for production - run: | - rm -rf node_modules - npm install --production - - - name: Setup git + - name: Create Release + uses: actions/create-release@v1.0.0 env: - ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} - run: | - git config --local user.name homoluctus - git config --local user.email w.slife18sy@gmail.com - git remote set-url origin https://homoluctus:${ACCESS_TOKEN}@github.com/homoluctus/slatify.git - - - name: Git commit - run: | - git add -A - - DIFF=`git diff --cached --numstat | wc -l` - if [ $DIFF -eq 0 ]; then - exit 0 - fi - - git commit -am '[UPDATE] prepare for release' - - - name: Git push - run: git push origin HEAD - - - name: Slack Notification - uses: homoluctus/slatify@master - if: always() + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - type: ${{ job.status }} - job_name: ':truck: *Prepare for release*' - channel: '#develop' - url: ${{ secrets.SLACK_WEBHOOK }} - - check: - name: Check action - runs-on: ubuntu-18.04 - needs: release - steps: - - uses: actions/checkout@master + tag_name: ${{ github.ref }} + release_name: ${{ github.ref }} + draft: 'false' + prerelease: 'false' - name: Slack Notification - uses: homoluctus/slatify@releases/v1 + uses: homoluctus/slatify@master if: always() with: type: ${{ job.status }} - job_name: ':robot_face: *Check action*' + job_name: ':rocket: *Publish new release ${{ github.ref }}*' channel: '#develop' - url: ${{ secrets.SLACK_WEBHOOK }} + url: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file From 0dff1ba002060c0a136a74341ffe1b0996703ecc Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:14:57 +0900 Subject: [PATCH 11/21] [action] Modify main script path --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 6dcc4c84..290fae23 100644 --- a/action.yml +++ b/action.yml @@ -28,7 +28,7 @@ inputs: required: false runs: using: 'node12' - main: 'lib/main.js' + main: 'dist/index.js' branding: icon: 'bell' color: 'green' \ No newline at end of file From f4fc4a15577c6637b9d145abc3619f90d048012f Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:15:32 +0900 Subject: [PATCH 12/21] [package] Modify build script and add precommit script --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 8a410fc0..7f5fa96c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,8 @@ "description": "Container template action using actions/toolkit", "main": "lib/main.js", "scripts": { - "build": "tsc", + "build": "ncc build src/index.ts", + "precommit": "npm run build && git add dist/", "format": "prettier --write **/*.ts", "test": "jest" }, @@ -35,6 +36,7 @@ "devDependencies": { "@types/jest": "^24.0.13", "@types/node": "^12.0.4", + "@zeit/ncc": "^0.20.5", "jest": "^24.8.0", "jest-circus": "^24.7.1", "prettier": "^1.17.1", From 33a4139e5037031f361225839e5143c5a0fb64d0 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:15:49 +0900 Subject: [PATCH 13/21] Remove no need script and renmae --- .github/workflows/deploy.yml | 22 - dist/index.js | 14573 +++++++++++++++++++++++++++++++++ lib/main.js | 48 - lib/slack.js | 92 - lib/utils.js | 33 - package-lock.json | 5275 ------------ src/{main.ts => index.ts} | 0 7 files changed, 14573 insertions(+), 5470 deletions(-) delete mode 100644 .github/workflows/deploy.yml create mode 100644 dist/index.js delete mode 100644 lib/main.js delete mode 100644 lib/slack.js delete mode 100644 lib/utils.js delete mode 100644 package-lock.json rename src/{main.ts => index.ts} (100%) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index d6972568..00000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Works properly - -on: - push: - branches: - - master - -jobs: - success: - name: Works properly - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@master - - - name: Slack Notification - uses: homoluctus/slatify@master - if: always() - with: - type: ${{ job.status }} - job_name: ':robot_face: *Check action*' - channel: '#develop' - url: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 00000000..24208b72 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,14573 @@ +module.exports = +/******/ (function(modules, runtime) { // webpackBootstrap +/******/ "use strict"; +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ __webpack_require__.ab = __dirname + "/"; +/******/ +/******/ // the startup function +/******/ function startup() { +/******/ // Load entry module and return exports +/******/ return __webpack_require__(325); +/******/ }; +/******/ +/******/ // run startup +/******/ return startup(); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 0: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = withDefaults + +const graphql = __webpack_require__(500) + +function withDefaults (request, newDefaults) { + const newRequest = request.defaults(newDefaults) + const newApi = function (query, options) { + return graphql(newRequest, query, options) + } + + newApi.defaults = withDefaults.bind(null, newRequest) + return newApi +} + + +/***/ }), + +/***/ 2: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const os = __webpack_require__(87); +const macosRelease = __webpack_require__(118); +const winRelease = __webpack_require__(49); + +const osName = (platform, release) => { + if (!platform && release) { + throw new Error('You can\'t specify a `release` without specifying `platform`'); + } + + platform = platform || os.platform(); + + let id; + + if (platform === 'darwin') { + if (!release && os.platform() === 'darwin') { + release = os.release(); + } + + const prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS'; + id = release ? macosRelease(release).name : ''; + return prefix + (id ? ' ' + id : ''); + } + + if (platform === 'linux') { + if (!release && os.platform() === 'linux') { + release = os.release(); + } + + id = release ? release.replace(/^(\d+\.\d+).*/, '$1') : ''; + return 'Linux' + (id ? ' ' + id : ''); + } + + if (platform === 'win32') { + if (!release && os.platform() === 'win32') { + release = os.release(); + } + + id = release ? winRelease(release) : ''; + return 'Windows' + (id ? ' ' + id : ''); + } + + return platform; +}; + +module.exports = osName; + + +/***/ }), + +/***/ 8: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = iterator + +const normalizePaginatedListResponse = __webpack_require__(301) + +function iterator (octokit, options) { + const headers = options.headers + let url = octokit.request.endpoint(options).url + + return { + [Symbol.asyncIterator]: () => ({ + next () { + if (!url) { + return Promise.resolve({ done: true }) + } + + return octokit.request({ url, headers }) + + .then((response) => { + normalizePaginatedListResponse(octokit, url, response) + + // `response.headers.link` format: + // '; rel="next", ; rel="last"' + // sets `url` to undefined if "next" URL is not present or `link` header is not set + url = ((response.headers.link || '').match(/<([^>]+)>;\s*rel="next"/) || [])[1] + + return { value: response } + }) + } + }) + } +} + + +/***/ }), + +/***/ 9: +/***/ (function(module, __unusedexports, __webpack_require__) { + +var once = __webpack_require__(969); + +var noop = function() {}; + +var isRequest = function(stream) { + return stream.setHeader && typeof stream.abort === 'function'; +}; + +var isChildProcess = function(stream) { + return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3 +}; + +var eos = function(stream, opts, callback) { + if (typeof opts === 'function') return eos(stream, null, opts); + if (!opts) opts = {}; + + callback = once(callback || noop); + + var ws = stream._writableState; + var rs = stream._readableState; + var readable = opts.readable || (opts.readable !== false && stream.readable); + var writable = opts.writable || (opts.writable !== false && stream.writable); + + var onlegacyfinish = function() { + if (!stream.writable) onfinish(); + }; + + var onfinish = function() { + writable = false; + if (!readable) callback.call(stream); + }; + + var onend = function() { + readable = false; + if (!writable) callback.call(stream); + }; + + var onexit = function(exitCode) { + callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null); + }; + + var onerror = function(err) { + callback.call(stream, err); + }; + + var onclose = function() { + if (readable && !(rs && rs.ended)) return callback.call(stream, new Error('premature close')); + if (writable && !(ws && ws.ended)) return callback.call(stream, new Error('premature close')); + }; + + var onrequest = function() { + stream.req.on('finish', onfinish); + }; + + if (isRequest(stream)) { + stream.on('complete', onfinish); + stream.on('abort', onclose); + if (stream.req) onrequest(); + else stream.on('request', onrequest); + } else if (writable && !ws) { // legacy streams + stream.on('end', onlegacyfinish); + stream.on('close', onlegacyfinish); + } + + if (isChildProcess(stream)) stream.on('exit', onexit); + + stream.on('end', onend); + stream.on('finish', onfinish); + if (opts.error !== false) stream.on('error', onerror); + stream.on('close', onclose); + + return function() { + stream.removeListener('complete', onfinish); + stream.removeListener('abort', onclose); + stream.removeListener('request', onrequest); + if (stream.req) stream.req.removeListener('finish', onfinish); + stream.removeListener('end', onlegacyfinish); + stream.removeListener('close', onlegacyfinish); + stream.removeListener('finish', onfinish); + stream.removeListener('exit', onexit); + stream.removeListener('end', onend); + stream.removeListener('error', onerror); + stream.removeListener('close', onclose); + }; +}; + +module.exports = eos; + + +/***/ }), + +/***/ 11: +/***/ (function(module) { + +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} + + +/***/ }), + +/***/ 18: +/***/ (function() { + +eval("require")("encoding"); + + +/***/ }), + +/***/ 19: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = authenticationPlugin + +const { Deprecation } = __webpack_require__(692) +const once = __webpack_require__(969) + +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)) + +const authenticate = __webpack_require__(674) +const beforeRequest = __webpack_require__(471) +const requestError = __webpack_require__(349) + +function authenticationPlugin (octokit, options) { + if (options.auth) { + octokit.authenticate = () => { + deprecateAuthenticate(octokit.log, new Deprecation('[@octokit/rest] octokit.authenticate() is deprecated and has no effect when "auth" option is set on Octokit constructor')) + } + return + } + const state = { + octokit, + auth: false + } + octokit.authenticate = authenticate.bind(null, state) + octokit.hook.before('request', beforeRequest.bind(null, state)) + octokit.hook.error('request', requestError.bind(null, state)) +} + + +/***/ }), + +/***/ 20: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +const cp = __webpack_require__(129); +const parse = __webpack_require__(568); +const enoent = __webpack_require__(881); + +function spawn(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); + + // Spawn the child process + const spawned = cp.spawn(parsed.command, parsed.args, parsed.options); + + // Hook into child process "exit" event to emit an error if the command + // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + enoent.hookChildProcess(spawned, parsed); + + return spawned; +} + +function spawnSync(command, args, options) { + // Parse the arguments + const parsed = parse(command, args, options); + + // Spawn the child process + const result = cp.spawnSync(parsed.command, parsed.args, parsed.options); + + // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16 + result.error = result.error || enoent.verifyENOENTSync(result.status, parsed); + + return result; +} + +module.exports = spawn; +module.exports.spawn = spawn; +module.exports.sync = spawnSync; + +module.exports._parse = parse; +module.exports._enoent = enoent; + + +/***/ }), + +/***/ 26: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var enhanceError = __webpack_require__(369); + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ +module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); +}; + + +/***/ }), + +/***/ 35: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var bind = __webpack_require__(727); +var isBuffer = __webpack_require__(480); + +/*global toString:true*/ + +// utils is a library of generic helper functions non-specific to axios + +var toString = Object.prototype.toString; + +/** + * Determine if a value is an Array + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Array, otherwise false + */ +function isArray(val) { + return toString.call(val) === '[object Array]'; +} + +/** + * Determine if a value is an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an ArrayBuffer, otherwise false + */ +function isArrayBuffer(val) { + return toString.call(val) === '[object ArrayBuffer]'; +} + +/** + * Determine if a value is a FormData + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an FormData, otherwise false + */ +function isFormData(val) { + return (typeof FormData !== 'undefined') && (val instanceof FormData); +} + +/** + * Determine if a value is a view on an ArrayBuffer + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false + */ +function isArrayBufferView(val) { + var result; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } else { + result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer); + } + return result; +} + +/** + * Determine if a value is a String + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a String, otherwise false + */ +function isString(val) { + return typeof val === 'string'; +} + +/** + * Determine if a value is a Number + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Number, otherwise false + */ +function isNumber(val) { + return typeof val === 'number'; +} + +/** + * Determine if a value is undefined + * + * @param {Object} val The value to test + * @returns {boolean} True if the value is undefined, otherwise false + */ +function isUndefined(val) { + return typeof val === 'undefined'; +} + +/** + * Determine if a value is an Object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is an Object, otherwise false + */ +function isObject(val) { + return val !== null && typeof val === 'object'; +} + +/** + * Determine if a value is a Date + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Date, otherwise false + */ +function isDate(val) { + return toString.call(val) === '[object Date]'; +} + +/** + * Determine if a value is a File + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a File, otherwise false + */ +function isFile(val) { + return toString.call(val) === '[object File]'; +} + +/** + * Determine if a value is a Blob + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Blob, otherwise false + */ +function isBlob(val) { + return toString.call(val) === '[object Blob]'; +} + +/** + * Determine if a value is a Function + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Function, otherwise false + */ +function isFunction(val) { + return toString.call(val) === '[object Function]'; +} + +/** + * Determine if a value is a Stream + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a Stream, otherwise false + */ +function isStream(val) { + return isObject(val) && isFunction(val.pipe); +} + +/** + * Determine if a value is a URLSearchParams object + * + * @param {Object} val The value to test + * @returns {boolean} True if value is a URLSearchParams object, otherwise false + */ +function isURLSearchParams(val) { + return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams; +} + +/** + * Trim excess whitespace off the beginning and end of a string + * + * @param {String} str The String to trim + * @returns {String} The String freed of excess whitespace + */ +function trim(str) { + return str.replace(/^\s*/, '').replace(/\s*$/, ''); +} + +/** + * Determine if we're running in a standard browser environment + * + * This allows axios to run in a web worker, and react-native. + * Both environments support XMLHttpRequest, but not fully standard globals. + * + * web workers: + * typeof window -> undefined + * typeof document -> undefined + * + * react-native: + * navigator.product -> 'ReactNative' + */ +function isStandardBrowserEnv() { + if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { + return false; + } + return ( + typeof window !== 'undefined' && + typeof document !== 'undefined' + ); +} + +/** + * Iterate over an Array or an Object invoking a function for each item. + * + * If `obj` is an Array callback will be called passing + * the value, index, and complete array for each item. + * + * If 'obj' is an Object callback will be called passing + * the value, key, and complete object for each property. + * + * @param {Object|Array} obj The object to iterate + * @param {Function} fn The callback to invoke for each item + */ +function forEach(obj, fn) { + // Don't bother if no value provided + if (obj === null || typeof obj === 'undefined') { + return; + } + + // Force an array if not already something iterable + if (typeof obj !== 'object') { + /*eslint no-param-reassign:0*/ + obj = [obj]; + } + + if (isArray(obj)) { + // Iterate over array values + for (var i = 0, l = obj.length; i < l; i++) { + fn.call(null, obj[i], i, obj); + } + } else { + // Iterate over object keys + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + fn.call(null, obj[key], key, obj); + } + } + } +} + +/** + * Accepts varargs expecting each argument to be an object, then + * immutably merges the properties of each object and returns result. + * + * When multiple objects contain the same key the later object in + * the arguments list will take precedence. + * + * Example: + * + * ```js + * var result = merge({foo: 123}, {foo: 456}); + * console.log(result.foo); // outputs 456 + * ``` + * + * @param {Object} obj1 Object to merge + * @returns {Object} Result of all merge properties + */ +function merge(/* obj1, obj2, obj3, ... */) { + var result = {}; + function assignValue(val, key) { + if (typeof result[key] === 'object' && typeof val === 'object') { + result[key] = merge(result[key], val); + } else { + result[key] = val; + } + } + + for (var i = 0, l = arguments.length; i < l; i++) { + forEach(arguments[i], assignValue); + } + return result; +} + +/** + * Extends object a by mutably adding to it the properties of object b. + * + * @param {Object} a The object to be extended + * @param {Object} b The object to copy properties from + * @param {Object} thisArg The object to bind function to + * @return {Object} The resulting value of object a + */ +function extend(a, b, thisArg) { + forEach(b, function assignValue(val, key) { + if (thisArg && typeof val === 'function') { + a[key] = bind(val, thisArg); + } else { + a[key] = val; + } + }); + return a; +} + +module.exports = { + isArray: isArray, + isArrayBuffer: isArrayBuffer, + isBuffer: isBuffer, + isFormData: isFormData, + isArrayBufferView: isArrayBufferView, + isString: isString, + isNumber: isNumber, + isObject: isObject, + isUndefined: isUndefined, + isDate: isDate, + isFile: isFile, + isBlob: isBlob, + isFunction: isFunction, + isStream: isStream, + isURLSearchParams: isURLSearchParams, + isStandardBrowserEnv: isStandardBrowserEnv, + forEach: forEach, + merge: merge, + extend: extend, + trim: trim +}; + + +/***/ }), + +/***/ 39: +/***/ (function(module) { + +"use strict"; + +module.exports = opts => { + opts = opts || {}; + + const env = opts.env || process.env; + const platform = opts.platform || process.platform; + + if (platform !== 'win32') { + return 'PATH'; + } + + return Object.keys(env).find(x => x.toUpperCase() === 'PATH') || 'Path'; +}; + + +/***/ }), + +/***/ 46: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getUserAgentNode + +const osName = __webpack_require__(2) + +function getUserAgentNode () { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})` + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return 'Windows ' + } + + throw error + } +} + + +/***/ }), + +/***/ 47: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = factory + +const Octokit = __webpack_require__(402) +const registerPlugin = __webpack_require__(855) + +function factory (plugins) { + const Api = Octokit.bind(null, plugins || []) + Api.plugin = registerPlugin.bind(null, plugins || []) + return Api +} + + +/***/ }), + +/***/ 49: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const os = __webpack_require__(87); +const execa = __webpack_require__(955); + +// Reference: https://www.gaijin.at/en/lstwinver.php +const names = new Map([ + ['10.0', '10'], + ['6.3', '8.1'], + ['6.2', '8'], + ['6.1', '7'], + ['6.0', 'Vista'], + ['5.2', 'Server 2003'], + ['5.1', 'XP'], + ['5.0', '2000'], + ['4.9', 'ME'], + ['4.1', '98'], + ['4.0', '95'] +]); + +const windowsRelease = release => { + const version = /\d+\.\d/.exec(release || os.release()); + + if (release && !version) { + throw new Error('`release` argument doesn\'t match `n.n`'); + } + + const ver = (version || [])[0]; + + // Server 2008, 2012 and 2016 versions are ambiguous with desktop versions and must be detected at runtime. + // If `release` is omitted or we're on a Windows system, and the version number is an ambiguous version + // then use `wmic` to get the OS caption: https://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx + // If the resulting caption contains the year 2008, 2012 or 2016, it is a server version, so return a server OS name. + if ((!release || release === os.release()) && ['6.1', '6.2', '6.3', '10.0'].includes(ver)) { + const stdout = execa.sync('wmic', ['os', 'get', 'Caption']).stdout || ''; + const year = (stdout.match(/2008|2012|2016/) || [])[0]; + if (year) { + return `Server ${year}`; + } + } + + return names.get(ver); +}; + +module.exports = windowsRelease; + + +/***/ }), + +/***/ 53: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = __webpack_require__(352); + +/***/ }), + +/***/ 64: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getFirstPage + +const getPage = __webpack_require__(265) + +function getFirstPage (octokit, link, headers) { + return getPage(octokit, link, 'first', headers) +} + + +/***/ }), + +/***/ 87: +/***/ (function(module) { + +module.exports = require("os"); + +/***/ }), + +/***/ 118: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const os = __webpack_require__(87); + +const nameMap = new Map([ + [19, 'Catalina'], + [18, 'Mojave'], + [17, 'High Sierra'], + [16, 'Sierra'], + [15, 'El Capitan'], + [14, 'Yosemite'], + [13, 'Mavericks'], + [12, 'Mountain Lion'], + [11, 'Lion'], + [10, 'Snow Leopard'], + [9, 'Leopard'], + [8, 'Tiger'], + [7, 'Panther'], + [6, 'Jaguar'], + [5, 'Puma'] +]); + +const macosRelease = release => { + release = Number((release || os.release()).split('.')[0]); + return { + name: nameMap.get(release), + version: '10.' + (release - 4) + }; +}; + +module.exports = macosRelease; +// TODO: remove this in the next major version +module.exports.default = macosRelease; + + +/***/ }), + +/***/ 126: +/***/ (function(module) { + +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** `Object#toString` result references. */ +var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** + * A specialized version of `_.includes` for arrays without support for + * specifying an index to search from. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludes(array, value) { + var length = array ? array.length : 0; + return !!length && baseIndexOf(array, value, 0) > -1; +} + +/** + * This function is like `arrayIncludes` except that it accepts a comparator. + * + * @private + * @param {Array} [array] The array to inspect. + * @param {*} target The value to search for. + * @param {Function} comparator The comparator invoked per element. + * @returns {boolean} Returns `true` if `target` is found, else `false`. + */ +function arrayIncludesWith(array, value, comparator) { + var index = -1, + length = array ? array.length : 0; + + while (++index < length) { + if (comparator(value, array[index])) { + return true; + } + } + return false; +} + +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +/** + * The base implementation of `_.indexOf` without `fromIndex` bounds checks. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} value The value to search for. + * @param {number} fromIndex The index to search from. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseIndexOf(array, value, fromIndex) { + if (value !== value) { + return baseFindIndex(array, baseIsNaN, fromIndex); + } + var index = fromIndex - 1, + length = array.length; + + while (++index < length) { + if (array[index] === value) { + return index; + } + } + return -1; +} + +/** + * The base implementation of `_.isNaN` without support for number objects. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. + */ +function baseIsNaN(value) { + return value !== value; +} + +/** + * Checks if a cache value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'), + Set = getNative(root, 'Set'), + nativeCreate = getNative(Object, 'create'); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values ? values.length : 0; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.uniqBy` without support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} [iteratee] The iteratee invoked per element. + * @param {Function} [comparator] The comparator invoked per element. + * @returns {Array} Returns the new duplicate free array. + */ +function baseUniq(array, iteratee, comparator) { + var index = -1, + includes = arrayIncludes, + length = array.length, + isCommon = true, + result = [], + seen = result; + + if (comparator) { + isCommon = false; + includes = arrayIncludesWith; + } + else if (length >= LARGE_ARRAY_SIZE) { + var set = iteratee ? null : createSet(array); + if (set) { + return setToArray(set); + } + isCommon = false; + includes = cacheHas; + seen = new SetCache; + } + else { + seen = iteratee ? [] : result; + } + outer: + while (++index < length) { + var value = array[index], + computed = iteratee ? iteratee(value) : value; + + value = (comparator || value !== 0) ? value : 0; + if (isCommon && computed === computed) { + var seenIndex = seen.length; + while (seenIndex--) { + if (seen[seenIndex] === computed) { + continue outer; + } + } + if (iteratee) { + seen.push(computed); + } + result.push(value); + } + else if (!includes(seen, computed, comparator)) { + if (seen !== result) { + seen.push(computed); + } + result.push(value); + } + } + return result; +} + +/** + * Creates a set object of `values`. + * + * @private + * @param {Array} values The values to add to the set. + * @returns {Object} Returns the new set. + */ +var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { + return new Set(values); +}; + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Creates a duplicate-free version of an array, using + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons, in which only the first occurrence of each + * element is kept. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @returns {Array} Returns the new duplicate free array. + * @example + * + * _.uniq([2, 1, 2]); + * // => [2, 1] + */ +function uniq(array) { + return (array && array.length) + ? baseUniq(array) + : []; +} + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * This method returns `undefined`. + * + * @static + * @memberOf _ + * @since 2.3.0 + * @category Util + * @example + * + * _.times(2, _.noop); + * // => [undefined, undefined] + */ +function noop() { + // No operation performed. +} + +module.exports = uniq; + + +/***/ }), + +/***/ 129: +/***/ (function(module) { + +module.exports = require("child_process"); + +/***/ }), + +/***/ 133: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); + +function encode(val) { + return encodeURIComponent(val). + replace(/%40/gi, '@'). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +}; + + +/***/ }), + +/***/ 137: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var Cancel = __webpack_require__(826); + +/** + * A `CancelToken` is an object that can be used to request cancellation of an operation. + * + * @class + * @param {Function} executor The executor function. + */ +function CancelToken(executor) { + if (typeof executor !== 'function') { + throw new TypeError('executor must be a function.'); + } + + var resolvePromise; + this.promise = new Promise(function promiseExecutor(resolve) { + resolvePromise = resolve; + }); + + var token = this; + executor(function cancel(message) { + if (token.reason) { + // Cancellation has already been requested + return; + } + + token.reason = new Cancel(message); + resolvePromise(token.reason); + }); +} + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +CancelToken.prototype.throwIfRequested = function throwIfRequested() { + if (this.reason) { + throw this.reason; + } +}; + +/** + * Returns an object that contains a new `CancelToken` and a function that, when called, + * cancels the `CancelToken`. + */ +CancelToken.source = function source() { + var cancel; + var token = new CancelToken(function executor(c) { + cancel = c; + }); + return { + token: token, + cancel: cancel + }; +}; + +module.exports = CancelToken; + + +/***/ }), + +/***/ 138: +/***/ (function(module, exports, __webpack_require__) { + + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = __webpack_require__(317); + +/** + * Active `debug` instances. + */ +exports.instances = []; + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + var prevTime; + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + exports.instances.push(debug); + + return debug; +} + +function destroy () { + var index = exports.instances.indexOf(this); + if (index !== -1) { + exports.instances.splice(index, 1); + return true; + } else { + return false; + } +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < exports.instances.length; i++) { + var instance = exports.instances[i]; + instance.enabled = exports.enabled(instance.namespace); + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} + + +/***/ }), + +/***/ 143: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = withAuthorizationPrefix + +const atob = __webpack_require__(368) + +const REGEX_IS_BASIC_AUTH = /^[\w-]+:/ + +function withAuthorizationPrefix (authorization) { + if (/^(basic|bearer|token) /i.test(authorization)) { + return authorization + } + + try { + if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) { + return `basic ${authorization}` + } + } catch (error) { } + + if (authorization.split(/\./).length === 3) { + return `bearer ${authorization}` + } + + return `token ${authorization}` +} + + +/***/ }), + +/***/ 145: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const pump = __webpack_require__(453); +const bufferStream = __webpack_require__(966); + +class MaxBufferError extends Error { + constructor() { + super('maxBuffer exceeded'); + this.name = 'MaxBufferError'; + } +} + +function getStream(inputStream, options) { + if (!inputStream) { + return Promise.reject(new Error('Expected a stream')); + } + + options = Object.assign({maxBuffer: Infinity}, options); + + const {maxBuffer} = options; + + let stream; + return new Promise((resolve, reject) => { + const rejectPromise = error => { + if (error) { // A null check + error.bufferedData = stream.getBufferedValue(); + } + reject(error); + }; + + stream = pump(inputStream, bufferStream(options), error => { + if (error) { + rejectPromise(error); + return; + } + + resolve(); + }); + + stream.on('data', () => { + if (stream.getBufferedLength() > maxBuffer) { + rejectPromise(new MaxBufferError()); + } + }); + }).then(() => stream.getBufferedValue()); +} + +module.exports = getStream; +module.exports.buffer = (stream, options) => getStream(stream, Object.assign({}, options, {encoding: 'buffer'})); +module.exports.array = (stream, options) => getStream(stream, Object.assign({}, options, {array: true})); +module.exports.MaxBufferError = MaxBufferError; + + +/***/ }), + +/***/ 148: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = paginatePlugin + +const iterator = __webpack_require__(8) +const paginate = __webpack_require__(807) + +function paginatePlugin (octokit) { + octokit.paginate = paginate.bind(null, octokit) + octokit.paginate.iterator = iterator.bind(null, octokit) +} + + +/***/ }), + +/***/ 163: +/***/ (function(__unusedmodule, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Check if status entered by user is allowed by GitHub Actions. + * @param {string} status - job status + * @returns {string} + */ +function isAllowedStatus(status) { + const lowercaseStatus = status.toLowerCase(); + const jobStatusList = ['success', 'failure', 'cancelled']; + if (!jobStatusList.includes(lowercaseStatus)) { + throw new Error('Invalid value input'); + } + return status; +} +exports.isAllowedStatus = isAllowedStatus; + + +/***/ }), + +/***/ 168: +/***/ (function(module) { + +"use strict"; + +const alias = ['stdin', 'stdout', 'stderr']; + +const hasAlias = opts => alias.some(x => Boolean(opts[x])); + +module.exports = opts => { + if (!opts) { + return null; + } + + if (opts.stdio && hasAlias(opts)) { + throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${alias.map(x => `\`${x}\``).join(', ')}`); + } + + if (typeof opts.stdio === 'string') { + return opts.stdio; + } + + const stdio = opts.stdio || []; + + if (!Array.isArray(stdio)) { + throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``); + } + + const result = []; + const len = Math.max(stdio.length, alias.length); + + for (let i = 0; i < len; i++) { + let value = null; + + if (stdio[i] !== undefined) { + value = stdio[i]; + } else if (opts[alias[i]] !== undefined) { + value = opts[alias[i]]; + } + + result[i] = value; + } + + return result; +}; + + +/***/ }), + +/***/ 190: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = authenticationPlugin + +const beforeRequest = __webpack_require__(863) +const requestError = __webpack_require__(293) +const validate = __webpack_require__(954) + +function authenticationPlugin (octokit, options) { + if (!options.auth) { + return + } + + validate(options.auth) + + const state = { + octokit, + auth: options.auth + } + + octokit.hook.before('request', beforeRequest.bind(null, state)) + octokit.hook.error('request', requestError.bind(null, state)) +} + + +/***/ }), + +/***/ 197: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = isexe +isexe.sync = sync + +var fs = __webpack_require__(747) + +function isexe (path, options, cb) { + fs.stat(path, function (er, stat) { + cb(er, er ? false : checkStat(stat, options)) + }) +} + +function sync (path, options) { + return checkStat(fs.statSync(path), options) +} + +function checkStat (stat, options) { + return stat.isFile() && checkMode(stat, options) +} + +function checkMode (stat, options) { + var mod = stat.mode + var uid = stat.uid + var gid = stat.gid + + var myUid = options.uid !== undefined ? + options.uid : process.getuid && process.getuid() + var myGid = options.gid !== undefined ? + options.gid : process.getgid && process.getgid() + + var u = parseInt('100', 8) + var g = parseInt('010', 8) + var o = parseInt('001', 8) + var ug = u | g + + var ret = (mod & o) || + (mod & g) && gid === myGid || + (mod & u) && uid === myUid || + (mod & ug) && myUid === 0 + + return ret +} + + +/***/ }), + +/***/ 211: +/***/ (function(module) { + +module.exports = require("https"); + +/***/ }), + +/***/ 215: +/***/ (function(module) { + +module.exports = {"_args":[["@octokit/rest@16.28.7","/Users/suguru/src/projects/github_actions/slatify"]],"_from":"@octokit/rest@16.28.7","_id":"@octokit/rest@16.28.7","_inBundle":false,"_integrity":"sha512-cznFSLEhh22XD3XeqJw51OLSfyL2fcFKUO+v2Ep9MTAFfFLS1cK1Zwd1yEgQJmJoDnj4/vv3+fGGZweG+xsbIA==","_location":"/@octokit/rest","_phantomChildren":{"os-name":"3.1.0"},"_requested":{"type":"version","registry":true,"raw":"@octokit/rest@16.28.7","name":"@octokit/rest","escapedName":"@octokit%2frest","scope":"@octokit","rawSpec":"16.28.7","saveSpec":null,"fetchSpec":"16.28.7"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.28.7.tgz","_spec":"16.28.7","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/rest.js/issues"},"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"dependencies":{"@octokit/request":"^5.0.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^3.0.0","url-template":"^2.0.8"},"description":"GitHub REST API client for Node.js","devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/fixtures-server":"^5.0.1","@octokit/routes":"20.9.2","@types/node":"^12.0.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.0.0","coveralls":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^2.1.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","mkdirp":"^0.5.1","mocha":"^6.0.0","mustache":"^3.0.0","nock":"^10.0.0","npm-run-all":"^4.1.2","nyc":"^14.0.0","prettier":"^1.14.2","proxy":"^0.2.4","semantic-release":"^15.0.0","sinon":"^7.2.4","sinon-chai":"^3.0.0","sort-keys":"^3.0.0","standard":"^13.0.1","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"files":["index.js","index.d.ts","lib","plugins"],"homepage":"https://github.com/octokit/rest.js#readme","keywords":["octokit","github","rest","api-client"],"license":"MIT","name":"@octokit/rest","nyc":{"ignore":["test"]},"publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/rest.js.git"},"scripts":{"build":"npm-run-all build:*","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","build:ts":"node scripts/generate-types","coverage":"nyc report --reporter=html && open coverage/index.html","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","generate-routes":"node scripts/generate-routes","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","prebuild:browser":"mkdirp dist/","pretest":"standard","prevalidate:ts":"npm run -s build:ts","start-fixtures-server":"octokit-fixtures-server","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","test:memory":"mocha test/memory-test","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts"},"standard":{"globals":["describe","before","beforeEach","afterEach","after","it","expect","cy"],"ignore":["/docs"]},"types":"index.d.ts","version":"16.28.7"}; + +/***/ }), + +/***/ 219: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); +var settle = __webpack_require__(564); +var buildURL = __webpack_require__(133); +var parseHeaders = __webpack_require__(631); +var isURLSameOrigin = __webpack_require__(688); +var createError = __webpack_require__(26); + +module.exports = function xhrAdapter(config) { + return new Promise(function dispatchXhrRequest(resolve, reject) { + var requestData = config.data; + var requestHeaders = config.headers; + + if (utils.isFormData(requestData)) { + delete requestHeaders['Content-Type']; // Let the browser set it + } + + var request = new XMLHttpRequest(); + + // HTTP basic authentication + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password); + } + + request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); + + // Set the request timeout in MS + request.timeout = config.timeout; + + // Listen for ready state + request.onreadystatechange = function handleLoad() { + if (!request || request.readyState !== 4) { + return; + } + + // The request errored out and we didn't get a response, this will be + // handled by onerror instead + // With one exception: request that using file: protocol, most browsers + // will return status as 0 even though it's a successful request + if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { + return; + } + + // Prepare the response + var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null; + var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response; + var response = { + data: responseData, + status: request.status, + statusText: request.statusText, + headers: responseHeaders, + config: config, + request: request + }; + + settle(resolve, reject, response); + + // Clean up request + request = null; + }; + + // Handle low level network errors + request.onerror = function handleError() { + // Real errors are hidden from us by the browser + // onerror should only fire if it's a network error + reject(createError('Network Error', config, null, request)); + + // Clean up request + request = null; + }; + + // Handle timeout + request.ontimeout = function handleTimeout() { + reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', + request)); + + // Clean up request + request = null; + }; + + // Add xsrf header + // This is only done if running in a standard browser environment. + // Specifically not if we're in a web worker, or react-native. + if (utils.isStandardBrowserEnv()) { + var cookies = __webpack_require__(864); + + // Add xsrf header + var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? + cookies.read(config.xsrfCookieName) : + undefined; + + if (xsrfValue) { + requestHeaders[config.xsrfHeaderName] = xsrfValue; + } + } + + // Add headers to the request + if ('setRequestHeader' in request) { + utils.forEach(requestHeaders, function setRequestHeader(val, key) { + if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') { + // Remove Content-Type if data is undefined + delete requestHeaders[key]; + } else { + // Otherwise add header to the request + request.setRequestHeader(key, val); + } + }); + } + + // Add withCredentials to request if needed + if (config.withCredentials) { + request.withCredentials = true; + } + + // Add responseType to request if needed + if (config.responseType) { + try { + request.responseType = config.responseType; + } catch (e) { + // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2. + // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function. + if (config.responseType !== 'json') { + throw e; + } + } + } + + // Handle progress if needed + if (typeof config.onDownloadProgress === 'function') { + request.addEventListener('progress', config.onDownloadProgress); + } + + // Not all browsers support upload events + if (typeof config.onUploadProgress === 'function' && request.upload) { + request.upload.addEventListener('progress', config.onUploadProgress); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (!request) { + return; + } + + request.abort(); + reject(cancel); + // Clean up request + request = null; + }); + } + + if (requestData === undefined) { + requestData = null; + } + + // Send the request + request.send(requestData); + }); +}; + + +/***/ }), + +/***/ 235: +/***/ (function(module, exports, __webpack_require__) { + +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = __webpack_require__(138); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', + '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', + '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', + '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', + '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', + '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', + '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', + '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', + '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', + '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', + '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ + +exports.enable(load()); + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} + + +/***/ }), + +/***/ 247: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const os = __webpack_require__(87); +const hasFlag = __webpack_require__(364); + +const env = process.env; + +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + forceColor = false; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = true; +} +if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + + const min = forceColor ? 1 : 0; + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + if (env.TERM === 'dumb') { + return min; + } + + return min; +} + +function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); +} + +module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) +}; + + +/***/ }), + +/***/ 248: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = octokitRegisterEndpoints + +const registerEndpoints = __webpack_require__(899) + +function octokitRegisterEndpoints (octokit) { + octokit.registerEndpoints = registerEndpoints.bind(null, octokit) +} + + +/***/ }), + +/***/ 260: +/***/ (function(module, __unusedexports, __webpack_require__) { + +// Note: since nyc uses this module to output coverage, any lines +// that are in the direct sync flow of nyc's outputCoverage are +// ignored, since we can never get coverage for them. +var assert = __webpack_require__(357) +var signals = __webpack_require__(654) + +var EE = __webpack_require__(614) +/* istanbul ignore if */ +if (typeof EE !== 'function') { + EE = EE.EventEmitter +} + +var emitter +if (process.__signal_exit_emitter__) { + emitter = process.__signal_exit_emitter__ +} else { + emitter = process.__signal_exit_emitter__ = new EE() + emitter.count = 0 + emitter.emitted = {} +} + +// Because this emitter is a global, we have to check to see if a +// previous version of this library failed to enable infinite listeners. +// I know what you're about to say. But literally everything about +// signal-exit is a compromise with evil. Get used to it. +if (!emitter.infinite) { + emitter.setMaxListeners(Infinity) + emitter.infinite = true +} + +module.exports = function (cb, opts) { + assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') + + if (loaded === false) { + load() + } + + var ev = 'exit' + if (opts && opts.alwaysLast) { + ev = 'afterexit' + } + + var remove = function () { + emitter.removeListener(ev, cb) + if (emitter.listeners('exit').length === 0 && + emitter.listeners('afterexit').length === 0) { + unload() + } + } + emitter.on(ev, cb) + + return remove +} + +module.exports.unload = unload +function unload () { + if (!loaded) { + return + } + loaded = false + + signals.forEach(function (sig) { + try { + process.removeListener(sig, sigListeners[sig]) + } catch (er) {} + }) + process.emit = originalProcessEmit + process.reallyExit = originalProcessReallyExit + emitter.count -= 1 +} + +function emit (event, code, signal) { + if (emitter.emitted[event]) { + return + } + emitter.emitted[event] = true + emitter.emit(event, code, signal) +} + +// { : , ... } +var sigListeners = {} +signals.forEach(function (sig) { + sigListeners[sig] = function listener () { + // If there are no other listeners, an exit is coming! + // Simplest way: remove us and then re-send the signal. + // We know that this will kill the process, so we can + // safely emit now. + var listeners = process.listeners(sig) + if (listeners.length === emitter.count) { + unload() + emit('exit', null, sig) + /* istanbul ignore next */ + emit('afterexit', null, sig) + /* istanbul ignore next */ + process.kill(process.pid, sig) + } + } +}) + +module.exports.signals = function () { + return signals +} + +module.exports.load = load + +var loaded = false + +function load () { + if (loaded) { + return + } + loaded = true + + // This is the number of onSignalExit's that are in play. + // It's important so that we can count the correct number of + // listeners on signals, and don't wait for the other one to + // handle it instead of us. + emitter.count += 1 + + signals = signals.filter(function (sig) { + try { + process.on(sig, sigListeners[sig]) + return true + } catch (er) { + return false + } + }) + + process.emit = processEmit + process.reallyExit = processReallyExit +} + +var originalProcessReallyExit = process.reallyExit +function processReallyExit (code) { + process.exitCode = code || 0 + emit('exit', process.exitCode, null) + /* istanbul ignore next */ + emit('afterexit', process.exitCode, null) + /* istanbul ignore next */ + originalProcessReallyExit.call(process, process.exitCode) +} + +var originalProcessEmit = process.emit +function processEmit (ev, arg) { + if (ev === 'exit') { + if (arg !== undefined) { + process.exitCode = arg + } + var ret = originalProcessEmit.apply(this, arguments) + emit('exit', process.exitCode, null) + /* istanbul ignore next */ + emit('afterexit', process.exitCode, null) + return ret + } else { + return originalProcessEmit.apply(this, arguments) + } +} + + +/***/ }), + +/***/ 261: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getUserAgentNode + +const osName = __webpack_require__(2) + +function getUserAgentNode () { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})` + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return 'Windows ' + } + + throw error + } +} + + +/***/ }), + +/***/ 262: +/***/ (function(__unusedmodule, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/* eslint-disable @typescript-eslint/no-require-imports */ +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + this.payload = process.env.GITHUB_EVENT_PATH + ? require(process.env.GITHUB_EVENT_PATH) + : {}; + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + } + get issue() { + const payload = this.payload; + return Object.assign({}, this.repo, { number: (payload.issue || payload.pullRequest || payload).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; + } + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); + } +} +exports.Context = Context; +//# sourceMappingURL=context.js.map + +/***/ }), + +/***/ 265: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getPage + +const deprecate = __webpack_require__(370) +const getPageLinks = __webpack_require__(577) +const HttpError = __webpack_require__(297) + +function getPage (octokit, link, which, headers) { + deprecate(`octokit.get${which.charAt(0).toUpperCase() + which.slice(1)}Page() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`) + const url = getPageLinks(link)[which] + + if (!url) { + const urlError = new HttpError(`No ${which} page found`, 404) + return Promise.reject(urlError) + } + + const requestOptions = { + url, + headers: applyAcceptHeader(link, headers) + } + + const promise = octokit.request(requestOptions) + + return promise +} + +function applyAcceptHeader (res, headers) { + const previous = res.headers && res.headers['x-github-media-type'] + + if (!previous || (headers && headers.accept)) { + return headers + } + headers = headers || {} + headers.accept = 'application/vnd.' + previous + .replace('; param=', '.') + .replace('; format=', '+') + + return headers +} + + +/***/ }), + +/***/ 280: +/***/ (function(module, exports) { + +exports = module.exports = SemVer + +var debug +/* istanbul ignore next */ +if (typeof process === 'object' && + process.env && + process.env.NODE_DEBUG && + /\bsemver\b/i.test(process.env.NODE_DEBUG)) { + debug = function () { + var args = Array.prototype.slice.call(arguments, 0) + args.unshift('SEMVER') + console.log.apply(console, args) + } +} else { + debug = function () {} +} + +// Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. +exports.SEMVER_SPEC_VERSION = '2.0.0' + +var MAX_LENGTH = 256 +var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || + /* istanbul ignore next */ 9007199254740991 + +// Max safe segment length for coercion. +var MAX_SAFE_COMPONENT_LENGTH = 16 + +// The actual regexps go on exports.re +var re = exports.re = [] +var src = exports.src = [] +var R = 0 + +// The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. + +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + +var NUMERICIDENTIFIER = R++ +src[NUMERICIDENTIFIER] = '0|[1-9]\\d*' +var NUMERICIDENTIFIERLOOSE = R++ +src[NUMERICIDENTIFIERLOOSE] = '[0-9]+' + +// ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +var NONNUMERICIDENTIFIER = R++ +src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*' + +// ## Main Version +// Three dot-separated numeric identifiers. + +var MAINVERSION = R++ +src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + + '(' + src[NUMERICIDENTIFIER] + ')\\.' + + '(' + src[NUMERICIDENTIFIER] + ')' + +var MAINVERSIONLOOSE = R++ +src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + + '(' + src[NUMERICIDENTIFIERLOOSE] + ')' + +// ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +var PRERELEASEIDENTIFIER = R++ +src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + + '|' + src[NONNUMERICIDENTIFIER] + ')' + +var PRERELEASEIDENTIFIERLOOSE = R++ +src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + + '|' + src[NONNUMERICIDENTIFIER] + ')' + +// ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +var PRERELEASE = R++ +src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + + '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))' + +var PRERELEASELOOSE = R++ +src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + + '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))' + +// ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +var BUILDIDENTIFIER = R++ +src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+' + +// ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +var BUILD = R++ +src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + + '(?:\\.' + src[BUILDIDENTIFIER] + ')*))' + +// ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. + +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +var FULL = R++ +var FULLPLAIN = 'v?' + src[MAINVERSION] + + src[PRERELEASE] + '?' + + src[BUILD] + '?' + +src[FULL] = '^' + FULLPLAIN + '$' + +// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. +var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + + src[PRERELEASELOOSE] + '?' + + src[BUILD] + '?' + +var LOOSE = R++ +src[LOOSE] = '^' + LOOSEPLAIN + '$' + +var GTLT = R++ +src[GTLT] = '((?:<|>)?=?)' + +// Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. +var XRANGEIDENTIFIERLOOSE = R++ +src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*' +var XRANGEIDENTIFIER = R++ +src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*' + +var XRANGEPLAIN = R++ +src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + + '(?:' + src[PRERELEASE] + ')?' + + src[BUILD] + '?' + + ')?)?' + +var XRANGEPLAINLOOSE = R++ +src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + + '(?:' + src[PRERELEASELOOSE] + ')?' + + src[BUILD] + '?' + + ')?)?' + +var XRANGE = R++ +src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$' +var XRANGELOOSE = R++ +src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$' + +// Coercion. +// Extract anything that could conceivably be a part of a valid semver +var COERCE = R++ +src[COERCE] = '(?:^|[^\\d])' + + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + + '(?:$|[^\\d])' + +// Tilde ranges. +// Meaning is "reasonably at or greater than" +var LONETILDE = R++ +src[LONETILDE] = '(?:~>?)' + +var TILDETRIM = R++ +src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+' +re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g') +var tildeTrimReplace = '$1~' + +var TILDE = R++ +src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$' +var TILDELOOSE = R++ +src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$' + +// Caret ranges. +// Meaning is "at least and backwards compatible with" +var LONECARET = R++ +src[LONECARET] = '(?:\\^)' + +var CARETTRIM = R++ +src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+' +re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g') +var caretTrimReplace = '$1^' + +var CARET = R++ +src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$' +var CARETLOOSE = R++ +src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$' + +// A simple gt/lt/eq thing, or just "" to indicate "any version" +var COMPARATORLOOSE = R++ +src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$' +var COMPARATOR = R++ +src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$' + +// An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` +var COMPARATORTRIM = R++ +src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + + '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')' + +// this one has to use the /g flag +re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g') +var comparatorTrimReplace = '$1$2$3' + +// Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. +var HYPHENRANGE = R++ +src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + + '\\s+-\\s+' + + '(' + src[XRANGEPLAIN] + ')' + + '\\s*$' + +var HYPHENRANGELOOSE = R++ +src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + + '\\s+-\\s+' + + '(' + src[XRANGEPLAINLOOSE] + ')' + + '\\s*$' + +// Star ranges basically just allow anything at all. +var STAR = R++ +src[STAR] = '(<|>)?=?\\s*\\*' + +// Compile to actual regexp objects. +// All are flag-free, unless they were created above with a flag. +for (var i = 0; i < R; i++) { + debug(i, src[i]) + if (!re[i]) { + re[i] = new RegExp(src[i]) + } +} + +exports.parse = parse +function parse (version, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (version instanceof SemVer) { + return version + } + + if (typeof version !== 'string') { + return null + } + + if (version.length > MAX_LENGTH) { + return null + } + + var r = options.loose ? re[LOOSE] : re[FULL] + if (!r.test(version)) { + return null + } + + try { + return new SemVer(version, options) + } catch (er) { + return null + } +} + +exports.valid = valid +function valid (version, options) { + var v = parse(version, options) + return v ? v.version : null +} + +exports.clean = clean +function clean (version, options) { + var s = parse(version.trim().replace(/^[=v]+/, ''), options) + return s ? s.version : null +} + +exports.SemVer = SemVer + +function SemVer (version, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + if (version instanceof SemVer) { + if (version.loose === options.loose) { + return version + } else { + version = version.version + } + } else if (typeof version !== 'string') { + throw new TypeError('Invalid Version: ' + version) + } + + if (version.length > MAX_LENGTH) { + throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') + } + + if (!(this instanceof SemVer)) { + return new SemVer(version, options) + } + + debug('SemVer', version, options) + this.options = options + this.loose = !!options.loose + + var m = version.trim().match(options.loose ? re[LOOSE] : re[FULL]) + + if (!m) { + throw new TypeError('Invalid Version: ' + version) + } + + this.raw = version + + // these are actually numbers + this.major = +m[1] + this.minor = +m[2] + this.patch = +m[3] + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version') + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version') + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version') + } + + // numberify any prerelease numeric ids + if (!m[4]) { + this.prerelease = [] + } else { + this.prerelease = m[4].split('.').map(function (id) { + if (/^[0-9]+$/.test(id)) { + var num = +id + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num + } + } + return id + }) + } + + this.build = m[5] ? m[5].split('.') : [] + this.format() +} + +SemVer.prototype.format = function () { + this.version = this.major + '.' + this.minor + '.' + this.patch + if (this.prerelease.length) { + this.version += '-' + this.prerelease.join('.') + } + return this.version +} + +SemVer.prototype.toString = function () { + return this.version +} + +SemVer.prototype.compare = function (other) { + debug('SemVer.compare', this.version, this.options, other) + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return this.compareMain(other) || this.comparePre(other) +} + +SemVer.prototype.compareMain = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + return compareIdentifiers(this.major, other.major) || + compareIdentifiers(this.minor, other.minor) || + compareIdentifiers(this.patch, other.patch) +} + +SemVer.prototype.comparePre = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options) + } + + // NOT having a prerelease is > having one + if (this.prerelease.length && !other.prerelease.length) { + return -1 + } else if (!this.prerelease.length && other.prerelease.length) { + return 1 + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0 + } + + var i = 0 + do { + var a = this.prerelease[i] + var b = other.prerelease[i] + debug('prerelease compare', i, a, b) + if (a === undefined && b === undefined) { + return 0 + } else if (b === undefined) { + return 1 + } else if (a === undefined) { + return -1 + } else if (a === b) { + continue + } else { + return compareIdentifiers(a, b) + } + } while (++i) +} + +// preminor will bump the version up to the next minor release, and immediately +// down to pre-release. premajor and prepatch work the same way. +SemVer.prototype.inc = function (release, identifier) { + switch (release) { + case 'premajor': + this.prerelease.length = 0 + this.patch = 0 + this.minor = 0 + this.major++ + this.inc('pre', identifier) + break + case 'preminor': + this.prerelease.length = 0 + this.patch = 0 + this.minor++ + this.inc('pre', identifier) + break + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0 + this.inc('patch', identifier) + this.inc('pre', identifier) + break + // If the input is a non-prerelease version, this acts the same as + // prepatch. + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier) + } + this.inc('pre', identifier) + break + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if (this.minor !== 0 || + this.patch !== 0 || + this.prerelease.length === 0) { + this.major++ + } + this.minor = 0 + this.patch = 0 + this.prerelease = [] + break + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++ + } + this.patch = 0 + this.prerelease = [] + break + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++ + } + this.prerelease = [] + break + // This probably shouldn't be used publicly. + // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. + case 'pre': + if (this.prerelease.length === 0) { + this.prerelease = [0] + } else { + var i = this.prerelease.length + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++ + i = -2 + } + } + if (i === -1) { + // didn't increment anything + this.prerelease.push(0) + } + } + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) { + this.prerelease = [identifier, 0] + } + } else { + this.prerelease = [identifier, 0] + } + } + break + + default: + throw new Error('invalid increment argument: ' + release) + } + this.format() + this.raw = this.version + return this +} + +exports.inc = inc +function inc (version, release, loose, identifier) { + if (typeof (loose) === 'string') { + identifier = loose + loose = undefined + } + + try { + return new SemVer(version, loose).inc(release, identifier).version + } catch (er) { + return null + } +} + +exports.diff = diff +function diff (version1, version2) { + if (eq(version1, version2)) { + return null + } else { + var v1 = parse(version1) + var v2 = parse(version2) + var prefix = '' + if (v1.prerelease.length || v2.prerelease.length) { + prefix = 'pre' + var defaultResult = 'prerelease' + } + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return prefix + key + } + } + } + return defaultResult // may be undefined + } +} + +exports.compareIdentifiers = compareIdentifiers + +var numeric = /^[0-9]+$/ +function compareIdentifiers (a, b) { + var anum = numeric.test(a) + var bnum = numeric.test(b) + + if (anum && bnum) { + a = +a + b = +b + } + + return a === b ? 0 + : (anum && !bnum) ? -1 + : (bnum && !anum) ? 1 + : a < b ? -1 + : 1 +} + +exports.rcompareIdentifiers = rcompareIdentifiers +function rcompareIdentifiers (a, b) { + return compareIdentifiers(b, a) +} + +exports.major = major +function major (a, loose) { + return new SemVer(a, loose).major +} + +exports.minor = minor +function minor (a, loose) { + return new SemVer(a, loose).minor +} + +exports.patch = patch +function patch (a, loose) { + return new SemVer(a, loose).patch +} + +exports.compare = compare +function compare (a, b, loose) { + return new SemVer(a, loose).compare(new SemVer(b, loose)) +} + +exports.compareLoose = compareLoose +function compareLoose (a, b) { + return compare(a, b, true) +} + +exports.rcompare = rcompare +function rcompare (a, b, loose) { + return compare(b, a, loose) +} + +exports.sort = sort +function sort (list, loose) { + return list.sort(function (a, b) { + return exports.compare(a, b, loose) + }) +} + +exports.rsort = rsort +function rsort (list, loose) { + return list.sort(function (a, b) { + return exports.rcompare(a, b, loose) + }) +} + +exports.gt = gt +function gt (a, b, loose) { + return compare(a, b, loose) > 0 +} + +exports.lt = lt +function lt (a, b, loose) { + return compare(a, b, loose) < 0 +} + +exports.eq = eq +function eq (a, b, loose) { + return compare(a, b, loose) === 0 +} + +exports.neq = neq +function neq (a, b, loose) { + return compare(a, b, loose) !== 0 +} + +exports.gte = gte +function gte (a, b, loose) { + return compare(a, b, loose) >= 0 +} + +exports.lte = lte +function lte (a, b, loose) { + return compare(a, b, loose) <= 0 +} + +exports.cmp = cmp +function cmp (a, op, b, loose) { + switch (op) { + case '===': + if (typeof a === 'object') + a = a.version + if (typeof b === 'object') + b = b.version + return a === b + + case '!==': + if (typeof a === 'object') + a = a.version + if (typeof b === 'object') + b = b.version + return a !== b + + case '': + case '=': + case '==': + return eq(a, b, loose) + + case '!=': + return neq(a, b, loose) + + case '>': + return gt(a, b, loose) + + case '>=': + return gte(a, b, loose) + + case '<': + return lt(a, b, loose) + + case '<=': + return lte(a, b, loose) + + default: + throw new TypeError('Invalid operator: ' + op) + } +} + +exports.Comparator = Comparator +function Comparator (comp, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp + } else { + comp = comp.value + } + } + + if (!(this instanceof Comparator)) { + return new Comparator(comp, options) + } + + debug('comparator', comp, options) + this.options = options + this.loose = !!options.loose + this.parse(comp) + + if (this.semver === ANY) { + this.value = '' + } else { + this.value = this.operator + this.semver.version + } + + debug('comp', this) +} + +var ANY = {} +Comparator.prototype.parse = function (comp) { + var r = this.options.loose ? re[COMPARATORLOOSE] : re[COMPARATOR] + var m = comp.match(r) + + if (!m) { + throw new TypeError('Invalid comparator: ' + comp) + } + + this.operator = m[1] + if (this.operator === '=') { + this.operator = '' + } + + // if it literally is just '>' or '' then allow anything. + if (!m[2]) { + this.semver = ANY + } else { + this.semver = new SemVer(m[2], this.options.loose) + } +} + +Comparator.prototype.toString = function () { + return this.value +} + +Comparator.prototype.test = function (version) { + debug('Comparator.test', version, this.options.loose) + + if (this.semver === ANY) { + return true + } + + if (typeof version === 'string') { + version = new SemVer(version, this.options) + } + + return cmp(version, this.operator, this.semver, this.options) +} + +Comparator.prototype.intersects = function (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required') + } + + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + var rangeTmp + + if (this.operator === '') { + rangeTmp = new Range(comp.value, options) + return satisfies(this.value, rangeTmp, options) + } else if (comp.operator === '') { + rangeTmp = new Range(this.value, options) + return satisfies(comp.semver, rangeTmp, options) + } + + var sameDirectionIncreasing = + (this.operator === '>=' || this.operator === '>') && + (comp.operator === '>=' || comp.operator === '>') + var sameDirectionDecreasing = + (this.operator === '<=' || this.operator === '<') && + (comp.operator === '<=' || comp.operator === '<') + var sameSemVer = this.semver.version === comp.semver.version + var differentDirectionsInclusive = + (this.operator === '>=' || this.operator === '<=') && + (comp.operator === '>=' || comp.operator === '<=') + var oppositeDirectionsLessThan = + cmp(this.semver, '<', comp.semver, options) && + ((this.operator === '>=' || this.operator === '>') && + (comp.operator === '<=' || comp.operator === '<')) + var oppositeDirectionsGreaterThan = + cmp(this.semver, '>', comp.semver, options) && + ((this.operator === '<=' || this.operator === '<') && + (comp.operator === '>=' || comp.operator === '>')) + + return sameDirectionIncreasing || sameDirectionDecreasing || + (sameSemVer && differentDirectionsInclusive) || + oppositeDirectionsLessThan || oppositeDirectionsGreaterThan +} + +exports.Range = Range +function Range (range, options) { + if (!options || typeof options !== 'object') { + options = { + loose: !!options, + includePrerelease: false + } + } + + if (range instanceof Range) { + if (range.loose === !!options.loose && + range.includePrerelease === !!options.includePrerelease) { + return range + } else { + return new Range(range.raw, options) + } + } + + if (range instanceof Comparator) { + return new Range(range.value, options) + } + + if (!(this instanceof Range)) { + return new Range(range, options) + } + + this.options = options + this.loose = !!options.loose + this.includePrerelease = !!options.includePrerelease + + // First, split based on boolean or || + this.raw = range + this.set = range.split(/\s*\|\|\s*/).map(function (range) { + return this.parseRange(range.trim()) + }, this).filter(function (c) { + // throw out any that are not relevant for whatever reason + return c.length + }) + + if (!this.set.length) { + throw new TypeError('Invalid SemVer Range: ' + range) + } + + this.format() +} + +Range.prototype.format = function () { + this.range = this.set.map(function (comps) { + return comps.join(' ').trim() + }).join('||').trim() + return this.range +} + +Range.prototype.toString = function () { + return this.range +} + +Range.prototype.parseRange = function (range) { + var loose = this.options.loose + range = range.trim() + // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE] + range = range.replace(hr, hyphenReplace) + debug('hyphen replace', range) + // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace) + debug('comparator trim', range, re[COMPARATORTRIM]) + + // `~ 1.2.3` => `~1.2.3` + range = range.replace(re[TILDETRIM], tildeTrimReplace) + + // `^ 1.2.3` => `^1.2.3` + range = range.replace(re[CARETTRIM], caretTrimReplace) + + // normalize spaces + range = range.split(/\s+/).join(' ') + + // At this point, the range is completely trimmed and + // ready to be split into comparators. + + var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR] + var set = range.split(' ').map(function (comp) { + return parseComparator(comp, this.options) + }, this).join(' ').split(/\s+/) + if (this.options.loose) { + // in loose mode, throw out any that are not valid comparators + set = set.filter(function (comp) { + return !!comp.match(compRe) + }) + } + set = set.map(function (comp) { + return new Comparator(comp, this.options) + }, this) + + return set +} + +Range.prototype.intersects = function (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required') + } + + return this.set.some(function (thisComparators) { + return thisComparators.every(function (thisComparator) { + return range.set.some(function (rangeComparators) { + return rangeComparators.every(function (rangeComparator) { + return thisComparator.intersects(rangeComparator, options) + }) + }) + }) + }) +} + +// Mostly just for testing and legacy API reasons +exports.toComparators = toComparators +function toComparators (range, options) { + return new Range(range, options).set.map(function (comp) { + return comp.map(function (c) { + return c.value + }).join(' ').trim().split(' ') + }) +} + +// comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. +function parseComparator (comp, options) { + debug('comp', comp, options) + comp = replaceCarets(comp, options) + debug('caret', comp) + comp = replaceTildes(comp, options) + debug('tildes', comp) + comp = replaceXRanges(comp, options) + debug('xrange', comp) + comp = replaceStars(comp, options) + debug('stars', comp) + return comp +} + +function isX (id) { + return !id || id.toLowerCase() === 'x' || id === '*' +} + +// ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 +function replaceTildes (comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceTilde(comp, options) + }).join(' ') +} + +function replaceTilde (comp, options) { + var r = options.loose ? re[TILDELOOSE] : re[TILDE] + return comp.replace(r, function (_, M, m, p, pr) { + debug('tilde', comp, _, M, m, p, pr) + var ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' + } else if (pr) { + debug('replaceTilde pr', pr) + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + (+m + 1) + '.0' + } else { + // ~1.2.3 == >=1.2.3 <1.3.0 + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0' + } + + debug('tilde return', ret) + return ret + }) +} + +// ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 +// ^1.2.3 --> >=1.2.3 <2.0.0 +// ^1.2.0 --> >=1.2.0 <2.0.0 +function replaceCarets (comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceCaret(comp, options) + }).join(' ') +} + +function replaceCaret (comp, options) { + debug('caret', comp, options) + var r = options.loose ? re[CARETLOOSE] : re[CARET] + return comp.replace(r, function (_, M, m, p, pr) { + debug('caret', comp, _, M, m, p, pr) + var ret + + if (isX(M)) { + ret = '' + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' + } else if (isX(p)) { + if (M === '0') { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' + } else { + ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0' + } + } else if (pr) { + debug('replaceCaret pr', pr) + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + m + '.' + (+p + 1) + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + M + '.' + (+m + 1) + '.0' + } + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + + ' <' + (+M + 1) + '.0.0' + } + } else { + debug('no pr') + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + m + '.' + (+p + 1) + } else { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + M + '.' + (+m + 1) + '.0' + } + } else { + ret = '>=' + M + '.' + m + '.' + p + + ' <' + (+M + 1) + '.0.0' + } + } + + debug('caret return', ret) + return ret + }) +} + +function replaceXRanges (comp, options) { + debug('replaceXRanges', comp, options) + return comp.split(/\s+/).map(function (comp) { + return replaceXRange(comp, options) + }).join(' ') +} + +function replaceXRange (comp, options) { + comp = comp.trim() + var r = options.loose ? re[XRANGELOOSE] : re[XRANGE] + return comp.replace(r, function (ret, gtlt, M, m, p, pr) { + debug('xRange', comp, ret, gtlt, M, m, p, pr) + var xM = isX(M) + var xm = xM || isX(m) + var xp = xm || isX(p) + var anyX = xp + + if (gtlt === '=' && anyX) { + gtlt = '' + } + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0' + } else { + // nothing is forbidden + ret = '*' + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0 + } + p = 0 + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + // >1.2.3 => >= 1.2.4 + gtlt = '>=' + if (xm) { + M = +M + 1 + m = 0 + p = 0 + } else { + m = +m + 1 + p = 0 + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<' + if (xm) { + M = +M + 1 + } else { + m = +m + 1 + } + } + + ret = gtlt + M + '.' + m + '.' + p + } else if (xm) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0' + } else if (xp) { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0' + } + + debug('xRange return', ret) + + return ret + }) +} + +// Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. +function replaceStars (comp, options) { + debug('replaceStars', comp, options) + // Looseness is ignored here. star is always as loose as it gets! + return comp.trim().replace(re[STAR], '') +} + +// This function is passed to string.replace(re[HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0 +function hyphenReplace ($0, + from, fM, fm, fp, fpr, fb, + to, tM, tm, tp, tpr, tb) { + if (isX(fM)) { + from = '' + } else if (isX(fm)) { + from = '>=' + fM + '.0.0' + } else if (isX(fp)) { + from = '>=' + fM + '.' + fm + '.0' + } else { + from = '>=' + from + } + + if (isX(tM)) { + to = '' + } else if (isX(tm)) { + to = '<' + (+tM + 1) + '.0.0' + } else if (isX(tp)) { + to = '<' + tM + '.' + (+tm + 1) + '.0' + } else if (tpr) { + to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr + } else { + to = '<=' + to + } + + return (from + ' ' + to).trim() +} + +// if ANY of the sets match ALL of its comparators, then pass +Range.prototype.test = function (version) { + if (!version) { + return false + } + + if (typeof version === 'string') { + version = new SemVer(version, this.options) + } + + for (var i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true + } + } + return false +} + +function testSet (set, version, options) { + for (var i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (i = 0; i < set.length; i++) { + debug(set[i].semver) + if (set[i].semver === ANY) { + continue + } + + if (set[i].semver.prerelease.length > 0) { + var allowed = set[i].semver + if (allowed.major === version.major && + allowed.minor === version.minor && + allowed.patch === version.patch) { + return true + } + } + } + + // Version has a -pre, but it's not one of the ones we like. + return false + } + + return true +} + +exports.satisfies = satisfies +function satisfies (version, range, options) { + try { + range = new Range(range, options) + } catch (er) { + return false + } + return range.test(version) +} + +exports.maxSatisfying = maxSatisfying +function maxSatisfying (versions, range, options) { + var max = null + var maxSV = null + try { + var rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v + maxSV = new SemVer(max, options) + } + } + }) + return max +} + +exports.minSatisfying = minSatisfying +function minSatisfying (versions, range, options) { + var min = null + var minSV = null + try { + var rangeObj = new Range(range, options) + } catch (er) { + return null + } + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v + minSV = new SemVer(min, options) + } + } + }) + return min +} + +exports.minVersion = minVersion +function minVersion (range, loose) { + range = new Range(range, loose) + + var minver = new SemVer('0.0.0') + if (range.test(minver)) { + return minver + } + + minver = new SemVer('0.0.0-0') + if (range.test(minver)) { + return minver + } + + minver = null + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i] + + comparators.forEach(function (comparator) { + // Clone to avoid manipulating the comparator's semver object. + var compver = new SemVer(comparator.semver.version) + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++ + } else { + compver.prerelease.push(0) + } + compver.raw = compver.format() + /* fallthrough */ + case '': + case '>=': + if (!minver || gt(minver, compver)) { + minver = compver + } + break + case '<': + case '<=': + /* Ignore maximum versions */ + break + /* istanbul ignore next */ + default: + throw new Error('Unexpected operation: ' + comparator.operator) + } + }) + } + + if (minver && range.test(minver)) { + return minver + } + + return null +} + +exports.validRange = validRange +function validRange (range, options) { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*' + } catch (er) { + return null + } +} + +// Determine if version is less than all the versions possible in the range +exports.ltr = ltr +function ltr (version, range, options) { + return outside(version, range, '<', options) +} + +// Determine if version is greater than all the versions possible in the range. +exports.gtr = gtr +function gtr (version, range, options) { + return outside(version, range, '>', options) +} + +exports.outside = outside +function outside (version, range, hilo, options) { + version = new SemVer(version, options) + range = new Range(range, options) + + var gtfn, ltefn, ltfn, comp, ecomp + switch (hilo) { + case '>': + gtfn = gt + ltefn = lte + ltfn = lt + comp = '>' + ecomp = '>=' + break + case '<': + gtfn = lt + ltefn = gte + ltfn = gt + comp = '<' + ecomp = '<=' + break + default: + throw new TypeError('Must provide a hilo val of "<" or ">"') + } + + // If it satisifes the range it is not outside + if (satisfies(version, range, options)) { + return false + } + + // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i] + + var high = null + var low = null + + comparators.forEach(function (comparator) { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0') + } + high = high || comparator + low = low || comparator + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator + } + }) + + // If the edge version comparator has a operator then our version + // isn't outside it + if (high.operator === comp || high.operator === ecomp) { + return false + } + + // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + if ((!low.operator || low.operator === comp) && + ltefn(version, low.semver)) { + return false + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false + } + } + return true +} + +exports.prerelease = prerelease +function prerelease (version, options) { + var parsed = parse(version, options) + return (parsed && parsed.prerelease.length) ? parsed.prerelease : null +} + +exports.intersects = intersects +function intersects (r1, r2, options) { + r1 = new Range(r1, options) + r2 = new Range(r2, options) + return r1.intersects(r2) +} + +exports.coerce = coerce +function coerce (version) { + if (version instanceof SemVer) { + return version + } + + if (typeof version !== 'string') { + return null + } + + var match = version.match(re[COERCE]) + + if (match == null) { + return null + } + + return parse(match[1] + + '.' + (match[2] || '0') + + '.' + (match[3] || '0')) +} + + +/***/ }), + +/***/ 283: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); + +function InterceptorManager() { + this.handlers = []; +} + +/** + * Add a new interceptor to the stack + * + * @param {Function} fulfilled The function to handle `then` for a `Promise` + * @param {Function} rejected The function to handle `reject` for a `Promise` + * + * @return {Number} An ID used to remove interceptor later + */ +InterceptorManager.prototype.use = function use(fulfilled, rejected) { + this.handlers.push({ + fulfilled: fulfilled, + rejected: rejected + }); + return this.handlers.length - 1; +}; + +/** + * Remove an interceptor from the stack + * + * @param {Number} id The ID that was returned by `use` + */ +InterceptorManager.prototype.eject = function eject(id) { + if (this.handlers[id]) { + this.handlers[id] = null; + } +}; + +/** + * Iterate over all the registered interceptors + * + * This method is particularly useful for skipping over any + * interceptors that may have become `null` calling `eject`. + * + * @param {Function} fn The function to call for each interceptor + */ +InterceptorManager.prototype.forEach = function forEach(fn) { + utils.forEach(this.handlers, function forEachHandler(h) { + if (h !== null) { + fn(h); + } + }); +}; + +module.exports = InterceptorManager; + + +/***/ }), + +/***/ 293: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = authenticationRequestError + +const { RequestError } = __webpack_require__(463) + +function authenticationRequestError (state, error, options) { + if (!error.headers) throw error + + const otpRequired = /required/.test(error.headers['x-github-otp'] || '') + // handle "2FA required" error only + if (error.status !== 401 || !otpRequired) { + throw error + } + + if (error.status === 401 && otpRequired && error.request && error.request.headers['x-github-otp']) { + if (state.otp) { + delete state.otp // no longer valid, request again + } else { + throw new RequestError('Invalid one-time password for two-factor authentication', 401, { + headers: error.headers, + request: options + }) + } + } + + if (typeof state.auth.on2fa !== 'function') { + throw new RequestError('2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication', 401, { + headers: error.headers, + request: options + }) + } + + return Promise.resolve() + .then(() => { + return state.auth.on2fa() + }) + .then((oneTimePassword) => { + const newOptions = Object.assign(options, { + headers: Object.assign(options.headers, { 'x-github-otp': oneTimePassword }) + }) + return state.octokit.request(newOptions) + .then(response => { + // If OTP still valid, then persist it for following requests + state.otp = oneTimePassword + return response + }) + }) +} + + +/***/ }), + +/***/ 294: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = parseOptions + +const { Deprecation } = __webpack_require__(692) +const getUserAgent = __webpack_require__(794) +const once = __webpack_require__(969) + +const pkg = __webpack_require__(215) + +const deprecateOptionsTimeout = once((log, deprecation) => log.warn(deprecation)) +const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation)) +const deprecateOptionsHeaders = once((log, deprecation) => log.warn(deprecation)) + +function parseOptions (options, log, hook) { + if (options.headers) { + options.headers = Object.keys(options.headers).reduce((newObj, key) => { + newObj[key.toLowerCase()] = options.headers[key] + return newObj + }, {}) + } + + const clientDefaults = { + headers: options.headers || {}, + request: options.request || {}, + mediaType: { + previews: [], + format: '' + } + } + + if (options.baseUrl) { + clientDefaults.baseUrl = options.baseUrl + } + + if (options.userAgent) { + clientDefaults.headers['user-agent'] = options.userAgent + } + + if (options.previews) { + clientDefaults.mediaType.previews = options.previews + } + + if (options.timeout) { + deprecateOptionsTimeout(log, new Deprecation('[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request')) + clientDefaults.request.timeout = options.timeout + } + + if (options.agent) { + deprecateOptionsAgent(log, new Deprecation('[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request')) + clientDefaults.request.agent = options.agent + } + + if (options.headers) { + deprecateOptionsHeaders(log, new Deprecation('[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request')) + } + + const userAgentOption = clientDefaults.headers['user-agent'] + const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}` + + clientDefaults.headers['user-agent'] = [userAgentOption, defaultUserAgent].filter(Boolean).join(' ') + + clientDefaults.request.hook = hook.bind(null, 'request') + + return clientDefaults +} + + +/***/ }), + +/***/ 297: +/***/ (function(module) { + +module.exports = class HttpError extends Error { + constructor (message, code, headers) { + super(message) + + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor) + } + + this.name = 'HttpError' + this.code = code + this.headers = headers + } +} + + +/***/ }), + +/***/ 301: +/***/ (function(module, __unusedexports, __webpack_require__) { + +/** + * Some “list” response that can be paginated have a different response structure + * + * They have a `total_count` key in the response (search also has `incomplete_results`, + * /installation/repositories also has `repository_selection`), as well as a key with + * the list of the items which name varies from endpoint to endpoint: + * + * - https://developer.github.com/v3/search/#example (key `items`) + * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`) + * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`) + * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`) + * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`) + * + * Octokit normalizes these responses so that paginated results are always returned following + * the same structure. One challenge is that if the list response has only one page, no Link + * header is provided, so this header alone is not sufficient to check wether a response is + * paginated or not. For the exceptions with the namespace, a fallback check for the route + * paths has to be added in order to normalize the response. We cannot check for the total_count + * property because it also exists in the response of Get the combined status for a specific ref. + */ + +module.exports = normalizePaginatedListResponse + +const { Deprecation } = __webpack_require__(692) +const once = __webpack_require__(969) + +const deprecateIncompleteResults = once((log, deprecation) => log.warn(deprecation)) +const deprecateTotalCount = once((log, deprecation) => log.warn(deprecation)) +const deprecateNamespace = once((log, deprecation) => log.warn(deprecation)) + +const REGEX_IS_SEARCH_PATH = /^\/search\// +const REGEX_IS_CHECKS_PATH = /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)/ +const REGEX_IS_INSTALLATION_REPOSITORIES_PATH = /^\/installation\/repositories/ +const REGEX_IS_USER_INSTALLATIONS_PATH = /^\/user\/installations/ + +function normalizePaginatedListResponse (octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, '') + if ( + !REGEX_IS_SEARCH_PATH.test(path) && + !REGEX_IS_CHECKS_PATH.test(path) && + !REGEX_IS_INSTALLATION_REPOSITORIES_PATH.test(path) && + !REGEX_IS_USER_INSTALLATIONS_PATH.test(path) + ) { + return + } + + // keep the additional properties intact to avoid a breaking change, + // but log a deprecation warning when accessed + const incompleteResults = response.data.incomplete_results + const repositorySelection = response.data.repository_selection + const totalCount = response.data.total_count + delete response.data.incomplete_results + delete response.data.repository_selection + delete response.data.total_count + + const namespaceKey = Object.keys(response.data)[0] + + response.data = response.data[namespaceKey] + + Object.defineProperty(response.data, namespaceKey, { + get () { + deprecateNamespace(octokit.log, new Deprecation(`[@octokit/rest] "result.data.${namespaceKey}" is deprecated. Use "result.data" instead`)) + return response.data + } + }) + + if (typeof incompleteResults !== 'undefined') { + Object.defineProperty(response.data, 'incomplete_results', { + get () { + deprecateIncompleteResults(octokit.log, new Deprecation('[@octokit/rest] "result.data.incomplete_results" is deprecated.')) + return incompleteResults + } + }) + } + + if (typeof repositorySelection !== 'undefined') { + Object.defineProperty(response.data, 'repository_selection', { + get () { + deprecateTotalCount(octokit.log, new Deprecation('[@octokit/rest] "result.data.repository_selection" is deprecated.')) + return repositorySelection + } + }) + } + + Object.defineProperty(response.data, 'total_count', { + get () { + deprecateTotalCount(octokit.log, new Deprecation('[@octokit/rest] "result.data.total_count" is deprecated.')) + return totalCount + } + }) +} + + +/***/ }), + +/***/ 309: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = octokitRestNormalizeGitReferenceResponses + +const { RequestError } = __webpack_require__(463) + +function octokitRestNormalizeGitReferenceResponses (octokit) { + octokit.hook.wrap('request', (request, options) => { + const isGetOrListRefRequest = /\/repos\/:?\w+\/:?\w+\/git\/refs\/:?\w+/.test(options.url) + + if (!isGetOrListRefRequest) { + return request(options) + } + + const isGetRefRequest = 'ref' in options + + return request(options) + .then(response => { + // request single reference + if (isGetRefRequest) { + if (Array.isArray(response.data)) { + throw new RequestError(`More than one reference found for "${options.ref}"`, 404, { + request: options + }) + } + + // ✅ received single reference + return response + } + + // request list of references + if (!Array.isArray(response.data)) { + response.data = [response.data] + } + + return response + }) + + .catch(error => { + if (isGetRefRequest) { + throw error + } + + if (error.status === 404) { + return { + status: 200, + headers: error.headers, + data: [] + } + } + + throw error + }) + }) +} + + +/***/ }), + +/***/ 314: +/***/ (function(module) { + +module.exports = {"_args":[["@octokit/graphql@2.1.3","/Users/suguru/src/projects/github_actions/slatify"]],"_from":"@octokit/graphql@2.1.3","_id":"@octokit/graphql@2.1.3","_inBundle":false,"_integrity":"sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==","_location":"/@octokit/graphql","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"@octokit/graphql@2.1.3","name":"@octokit/graphql","escapedName":"@octokit%2fgraphql","scope":"@octokit","rawSpec":"2.1.3","saveSpec":null,"fetchSpec":"2.1.3"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz","_spec":"2.1.3","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/graphql.js/issues"},"bundlesize":[{"path":"./dist/octokit-graphql.min.js.gz","maxSize":"5KB"}],"dependencies":{"@octokit/request":"^5.0.0","universal-user-agent":"^2.0.3"},"description":"GitHub GraphQL API client for browsers and Node","devDependencies":{"chai":"^4.2.0","compression-webpack-plugin":"^2.0.0","coveralls":"^3.0.3","cypress":"^3.1.5","fetch-mock":"^7.3.1","mkdirp":"^0.5.1","mocha":"^6.0.0","npm-run-all":"^4.1.3","nyc":"^14.0.0","semantic-release":"^15.13.3","simple-mock":"^0.8.0","standard":"^12.0.1","webpack":"^4.29.6","webpack-bundle-analyzer":"^3.1.0","webpack-cli":"^3.2.3"},"files":["lib"],"homepage":"https://github.com/octokit/graphql.js#readme","keywords":["octokit","github","api","graphql"],"license":"MIT","main":"index.js","name":"@octokit/graphql","publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/graphql.js.git"},"scripts":{"build":"npm-run-all build:*","build:development":"webpack --mode development --entry . --output-library=octokitGraphql --output=./dist/octokit-graphql.js --profile --json > dist/bundle-stats.json","build:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=octokitGraphql --output-path=./dist --output-filename=octokit-graphql.min.js --devtool source-map","bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","coverage":"nyc report --reporter=html && open coverage/index.html","coverage:upload":"nyc report --reporter=text-lcov | coveralls","prebuild":"mkdirp dist/","pretest":"standard","test":"nyc mocha test/*-test.js","test:browser":"cypress run --browser chrome"},"standard":{"globals":["describe","before","beforeEach","afterEach","after","it","expect"]},"version":"2.1.3"}; + +/***/ }), + +/***/ 317: +/***/ (function(module) { + +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function(val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isNaN(val) === false) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + if (ms >= d) { + return Math.round(ms / d) + 'd'; + } + if (ms >= h) { + return Math.round(ms / h) + 'h'; + } + if (ms >= m) { + return Math.round(ms / m) + 'm'; + } + if (ms >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + return plural(ms, d, 'day') || + plural(ms, h, 'hour') || + plural(ms, m, 'minute') || + plural(ms, s, 'second') || + ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, n, name) { + if (ms < n) { + return; + } + if (ms < n * 1.5) { + return Math.floor(ms / n) + ' ' + name; + } + return Math.ceil(ms / n) + ' ' + name + 's'; +} + + +/***/ }), + +/***/ 323: +/***/ (function(module) { + +"use strict"; + + +var isStream = module.exports = function (stream) { + return stream !== null && typeof stream === 'object' && typeof stream.pipe === 'function'; +}; + +isStream.writable = function (stream) { + return isStream(stream) && stream.writable !== false && typeof stream._write === 'function' && typeof stream._writableState === 'object'; +}; + +isStream.readable = function (stream) { + return isStream(stream) && stream.readable !== false && typeof stream._read === 'function' && typeof stream._readableState === 'object'; +}; + +isStream.duplex = function (stream) { + return isStream.writable(stream) && isStream.readable(stream); +}; + +isStream.transform = function (stream) { + return isStream.duplex(stream) && typeof stream._transform === 'function' && typeof stream._transformState === 'object'; +}; + + +/***/ }), + +/***/ 325: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const core = __importStar(__webpack_require__(470)); +const slack_1 = __webpack_require__(777); +const utils_1 = __webpack_require__(163); +function run() { + return __awaiter(this, void 0, void 0, function* () { + try { + const status = utils_1.isAllowedStatus(core.getInput('type', { required: true })); + const jobName = core.getInput('job_name', { required: true }); + const mention = core.getInput('mention'); + const mentionCondition = core.getInput('mention_if'); + const username = core.getInput('username'); + const iconEmoji = core.getInput('icon_emoji'); + const channel = core.getInput('channel'); + const url = core.getInput('url') || process.env.SLACK_WEBHOOK || ''; + if (url === '') { + throw new Error(` + ERROR: Missing Slack Incoming Webhooks URL. + Please configure "SLACK_WEBHOOK" as environment variable or + specify the key called "url" in "with" section. + `); + } + const slack = new slack_1.Slack(url, username, iconEmoji, channel); + const payload = slack.generatePayload(jobName, mention, mentionCondition, status); + const result = yield slack.notify(payload); + core.debug(`Response from Slack: ${JSON.stringify(result)}`); + } + catch (err) { + console.log(err); + core.setFailed(err.message); + } + }); +} +run(); + + +/***/ }), + +/***/ 336: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = hasLastPage + +const deprecate = __webpack_require__(370) +const getPageLinks = __webpack_require__(577) + +function hasLastPage (link) { + deprecate(`octokit.hasLastPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`) + return getPageLinks(link).last +} + + +/***/ }), + +/***/ 337: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const axios_1 = __importDefault(__webpack_require__(53)); +const errors_1 = __webpack_require__(353); +const instrument_1 = __webpack_require__(441); +/** + * A client for Slack's Incoming Webhooks + */ +class IncomingWebhook { + constructor(url, defaults = {}) { + if (url === undefined) { + throw new Error('Incoming webhook URL is required'); + } + this.url = url; + this.defaults = defaults; + this.axios = axios_1.default.create({ + baseURL: url, + httpAgent: defaults.agent, + httpsAgent: defaults.agent, + maxRedirects: 0, + proxy: false, + headers: { + 'User-Agent': instrument_1.getUserAgent(), + }, + }); + delete this.defaults.agent; + } + /** + * Send a notification to a conversation + * @param message the message (a simple string, or an object describing the message) + */ + async send(message) { + // NOTE: no support for TLS config + let payload = Object.assign({}, this.defaults); + if (typeof message === 'string') { + payload.text = message; + } + else { + payload = Object.assign(payload, message); + } + try { + const response = await this.axios.post(this.url, payload); + return this.buildResult(response); + } + catch (error) { + // Wrap errors in this packages own error types (abstract the implementation details' types) + if (error.response !== undefined) { + throw errors_1.httpErrorWithOriginal(error); + } + else if (error.request !== undefined) { + throw errors_1.requestErrorWithOriginal(error); + } + else { + throw error; + } + } + } + /** + * Processes an HTTP response into an IncomingWebhookResult. + */ + buildResult(response) { + return { + text: response.data, + }; + } +} +exports.IncomingWebhook = IncomingWebhook; +//# sourceMappingURL=IncomingWebhook.js.map + +/***/ }), + +/***/ 348: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +module.exports = validate + +const { RequestError } = __webpack_require__(463) +const get = __webpack_require__(854) +const set = __webpack_require__(883) + +function validate (octokit, options) { + if (!options.request.validate) { + return + } + const { validate: params } = options.request + + Object.keys(params).forEach(parameterName => { + const parameter = get(params, parameterName) + + const expectedType = parameter.type + let parentParameterName + let parentValue + let parentParamIsPresent = true + let parentParameterIsArray = false + + if (/\./.test(parameterName)) { + parentParameterName = parameterName.replace(/\.[^.]+$/, '') + parentParameterIsArray = parentParameterName.slice(-2) === '[]' + if (parentParameterIsArray) { + parentParameterName = parentParameterName.slice(0, -2) + } + parentValue = get(options, parentParameterName) + parentParamIsPresent = parentParameterName === 'headers' || (typeof parentValue === 'object' && parentValue !== null) + } + + const values = parentParameterIsArray + ? (get(options, parentParameterName) || []).map(value => value[parameterName.split(/\./).pop()]) + : [get(options, parameterName)] + + values.forEach((value, i) => { + const valueIsPresent = typeof value !== 'undefined' + const valueIsNull = value === null + const currentParameterName = parentParameterIsArray + ? parameterName.replace(/\[\]/, `[${i}]`) + : parameterName + + if (!parameter.required && !valueIsPresent) { + return + } + + // if the parent parameter is of type object but allows null + // then the child parameters can be ignored + if (!parentParamIsPresent) { + return + } + + if (parameter.allowNull && valueIsNull) { + return + } + + if (!parameter.allowNull && valueIsNull) { + throw new RequestError(`'${currentParameterName}' cannot be null`, 400, { + request: options + }) + } + + if (parameter.required && !valueIsPresent) { + throw new RequestError(`Empty value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { + request: options + }) + } + + // parse to integer before checking for enum + // so that string "1" will match enum with number 1 + if (expectedType === 'integer') { + const unparsedValue = value + value = parseInt(value, 10) + if (isNaN(value)) { + throw new RequestError(`Invalid value for parameter '${currentParameterName}': ${JSON.stringify(unparsedValue)} is NaN`, 400, { + request: options + }) + } + } + + if (parameter.enum && parameter.enum.indexOf(value) === -1) { + throw new RequestError(`Invalid value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { + request: options + }) + } + + if (parameter.validation) { + const regex = new RegExp(parameter.validation) + if (!regex.test(value)) { + throw new RequestError(`Invalid value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { + request: options + }) + } + } + + if (expectedType === 'object' && typeof value === 'string') { + try { + value = JSON.parse(value) + } catch (exception) { + throw new RequestError(`JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { + request: options + }) + } + } + + set(options, parameter.mapTo || currentParameterName, value) + }) + }) + + return options +} + + +/***/ }), + +/***/ 349: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = authenticationRequestError + +const { RequestError } = __webpack_require__(463) + +function authenticationRequestError (state, error, options) { + /* istanbul ignore next */ + if (!error.headers) throw error + + const otpRequired = /required/.test(error.headers['x-github-otp'] || '') + // handle "2FA required" error only + if (error.status !== 401 || !otpRequired) { + throw error + } + + if (error.status === 401 && otpRequired && error.request && error.request.headers['x-github-otp']) { + throw new RequestError('Invalid one-time password for two-factor authentication', 401, { + headers: error.headers, + request: options + }) + } + + if (typeof state.auth.on2fa !== 'function') { + throw new RequestError('2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication', 401, { + headers: error.headers, + request: options + }) + } + + return Promise.resolve() + .then(() => { + return state.auth.on2fa() + }) + .then((oneTimePassword) => { + const newOptions = Object.assign(options, { + headers: Object.assign({ 'x-github-otp': oneTimePassword }, options.headers) + }) + return state.octokit.request(newOptions) + }) +} + + +/***/ }), + +/***/ 352: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); +var bind = __webpack_require__(727); +var Axios = __webpack_require__(779); +var defaults = __webpack_require__(774); + +/** + * Create an instance of Axios + * + * @param {Object} defaultConfig The default config for the instance + * @return {Axios} A new instance of Axios + */ +function createInstance(defaultConfig) { + var context = new Axios(defaultConfig); + var instance = bind(Axios.prototype.request, context); + + // Copy axios.prototype to instance + utils.extend(instance, Axios.prototype, context); + + // Copy context to instance + utils.extend(instance, context); + + return instance; +} + +// Create the default instance to be exported +var axios = createInstance(defaults); + +// Expose Axios class to allow class inheritance +axios.Axios = Axios; + +// Factory for creating new instances +axios.create = function create(instanceConfig) { + return createInstance(utils.merge(defaults, instanceConfig)); +}; + +// Expose Cancel & CancelToken +axios.Cancel = __webpack_require__(826); +axios.CancelToken = __webpack_require__(137); +axios.isCancel = __webpack_require__(492); + +// Expose all/spread +axios.all = function all(promises) { + return Promise.all(promises); +}; +axios.spread = __webpack_require__(825); + +module.exports = axios; + +// Allow use of default import syntax in TypeScript +module.exports.default = axios; + + +/***/ }), + +/***/ 353: +/***/ (function(__unusedmodule, exports) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * A dictionary of codes for errors produced by this package + */ +var ErrorCode; +(function (ErrorCode) { + ErrorCode["RequestError"] = "slack_webhook_request_error"; + ErrorCode["HTTPError"] = "slack_webhook_http_error"; +})(ErrorCode = exports.ErrorCode || (exports.ErrorCode = {})); +/** + * Factory for producing a {@link CodedError} from a generic error + */ +function errorWithCode(error, code) { + // NOTE: might be able to return something more specific than a CodedError with conditional typing + const codedError = error; + codedError.code = code; + return codedError; +} +/** + * A factory to create IncomingWebhookRequestError objects + * @param original The original error + */ +function requestErrorWithOriginal(original) { + const error = errorWithCode(new Error(`A request error occurred: ${original.message}`), ErrorCode.RequestError); + error.original = original; + return error; +} +exports.requestErrorWithOriginal = requestErrorWithOriginal; +/** + * A factory to create IncomingWebhookHTTPError objects + * @param original The original error + */ +function httpErrorWithOriginal(original) { + const error = errorWithCode(new Error(`An HTTP protocol error occurred: statusCode = ${original.code}`), ErrorCode.HTTPError); + error.original = original; + return error; +} +exports.httpErrorWithOriginal = httpErrorWithOriginal; +//# sourceMappingURL=errors.js.map + +/***/ }), + +/***/ 357: +/***/ (function(module) { + +module.exports = require("assert"); + +/***/ }), + +/***/ 361: +/***/ (function(module) { + +module.exports = {"_args":[["axios@0.18.1","/Users/suguru/src/projects/github_actions/slatify"]],"_from":"axios@0.18.1","_id":"axios@0.18.1","_inBundle":false,"_integrity":"sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==","_location":"/axios","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"axios@0.18.1","name":"axios","escapedName":"axios","rawSpec":"0.18.1","saveSpec":null,"fetchSpec":"0.18.1"},"_requiredBy":["/@slack/webhook"],"_resolved":"https://registry.npmjs.org/axios/-/axios-0.18.1.tgz","_spec":"0.18.1","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Matt Zabriskie"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"bugs":{"url":"https://github.com/axios/axios/issues"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}],"dependencies":{"follow-redirects":"1.5.10","is-buffer":"^2.0.2"},"description":"Promise based HTTP client for the browser and node.js","devDependencies":{"bundlesize":"^0.5.7","coveralls":"^2.11.9","es6-promise":"^4.0.5","grunt":"^1.0.1","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^19.0.0","grunt-karma":"^2.0.0","grunt-ts":"^6.0.0-beta.3","grunt-webpack":"^1.0.18","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^1.3.0","karma-chrome-launcher":"^2.0.0","karma-coverage":"^1.0.0","karma-firefox-launcher":"^1.0.0","karma-jasmine":"^1.0.2","karma-jasmine-ajax":"^0.1.13","karma-opera-launcher":"^1.0.0","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^1.1.0","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.7.0","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","sinon":"^1.17.4","typescript":"^2.0.3","url-search-params":"^0.6.1","webpack":"^1.13.1","webpack-dev-server":"^1.14.1"},"homepage":"https://github.com/axios/axios","keywords":["xhr","http","ajax","promise","node"],"license":"MIT","main":"index.js","name":"axios","repository":{"type":"git","url":"git+https://github.com/axios/axios.git"},"scripts":{"build":"NODE_ENV=production grunt build","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","examples":"node ./examples/server.js","postversion":"git push && git push --tags","preversion":"npm test","start":"node ./sandbox/server.js","test":"grunt test && bundlesize","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json"},"typings":"./index.d.ts","version":"0.18.1"}; + +/***/ }), + +/***/ 363: +/***/ (function(module) { + +module.exports = register + +function register (state, name, method, options) { + if (typeof method !== 'function') { + throw new Error('method for before hook must be a function') + } + + if (!options) { + options = {} + } + + if (Array.isArray(name)) { + return name.reverse().reduce(function (callback, name) { + return register.bind(null, state, name, callback, options) + }, method)() + } + + return Promise.resolve() + .then(function () { + if (!state.registry[name]) { + return method(options) + } + + return (state.registry[name]).reduce(function (method, registered) { + return registered.hook.bind(null, method, options) + }, method)() + }) +} + + +/***/ }), + +/***/ 364: +/***/ (function(module) { + +"use strict"; + +module.exports = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); +}; + + +/***/ }), + +/***/ 368: +/***/ (function(module) { + +module.exports = function atob(str) { + return Buffer.from(str, 'base64').toString('binary') +} + + +/***/ }), + +/***/ 369: +/***/ (function(module) { + +"use strict"; + + +/** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ +module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + error.request = request; + error.response = response; + return error; +}; + + +/***/ }), + +/***/ 370: +/***/ (function(module) { + +module.exports = deprecate + +const loggedMessages = {} + +function deprecate (message) { + if (loggedMessages[message]) { + return + } + + console.warn(`DEPRECATED (@octokit/rest): ${message}`) + loggedMessages[message] = 1 +} + + +/***/ }), + +/***/ 372: +/***/ (function(module) { + +module.exports = octokitDebug + +function octokitDebug (octokit) { + octokit.hook.wrap('request', (request, options) => { + octokit.log.debug(`request`, options) + const start = Date.now() + const requestOptions = octokit.request.endpoint.parse(options) + const path = requestOptions.url.replace(options.baseUrl, '') + + return request(options) + + .then(response => { + octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`) + return response + }) + + .catch(error => { + octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`) + throw error + }) + }) +} + + +/***/ }), + +/***/ 385: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deepmerge = _interopDefault(__webpack_require__(867)); +var isPlainObject = _interopDefault(__webpack_require__(696)); +var urlTemplate = _interopDefault(__webpack_require__(714)); +var getUserAgent = _interopDefault(__webpack_require__(746)); + +function lowercaseKeys(object) { + if (!object) { + return {}; + } + + return Object.keys(object).reduce((newObj, key) => { + newObj[key.toLowerCase()] = object[key]; + return newObj; + }, {}); +} + +function merge(defaults, route, options) { + if (typeof route === "string") { + let [method, url] = route.split(" "); + options = Object.assign(url ? { + method, + url + } : { + url: method + }, options); + } else { + options = route || {}; + } // lowercase header names before merging with defaults to avoid duplicates + + + options.headers = lowercaseKeys(options.headers); + const mergedOptions = deepmerge.all([defaults, options].filter(Boolean), { + isMergeableObject: isPlainObject + }); // mediaType.previews arrays are merged, instead of overwritten + + if (defaults && defaults.mediaType.previews.length) { + mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); + } + + mergedOptions.mediaType.previews = mergedOptions.mediaType.previews.map(preview => preview.replace(/-preview/, "")); + return mergedOptions; +} + +function addQueryParameters(url, parameters) { + const separator = /\?/.test(url) ? "&" : "?"; + const names = Object.keys(parameters); + + if (names.length === 0) { + return url; + } + + return url + separator + names.map(name => { + if (name === "q") { + return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+"); + } + + return `${name}=${encodeURIComponent(parameters[name])}`; + }).join("&"); +} + +const urlVariableRegex = /\{[^}]+\}/g; + +function removeNonChars(variableName) { + return variableName.replace(/^\W+|\W+$/g, "").split(/,/); +} + +function extractUrlVariableNames(url) { + const matches = url.match(urlVariableRegex); + + if (!matches) { + return []; + } + + return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []); +} + +function omit(object, keysToOmit) { + return Object.keys(object).filter(option => !keysToOmit.includes(option)).reduce((obj, key) => { + obj[key] = object[key]; + return obj; + }, {}); +} + +function parse(options) { + // https://fetch.spec.whatwg.org/#methods + let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible + + let url = options.url.replace(/:([a-z]\w+)/g, "{+$1}"); + let headers = Object.assign({}, options.headers); + let body; + let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later + + const urlVariableNames = extractUrlVariableNames(url); + url = urlTemplate.parse(url).expand(parameters); + + if (!/^http/.test(url)) { + url = options.baseUrl + url; + } + + const omittedParameters = Object.keys(options).filter(option => urlVariableNames.includes(option)).concat("baseUrl"); + const remainingParameters = omit(parameters, omittedParameters); + const isBinaryRequset = /application\/octet-stream/i.test(headers.accept); + + if (!isBinaryRequset) { + if (options.mediaType.format) { + // e.g. application/vnd.github.v3+json => application/vnd.github.v3.raw + headers.accept = headers.accept.split(/,/).map(preview => preview.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/, `application/vnd$1$2.${options.mediaType.format}`)).join(","); + } + + if (options.mediaType.previews.length) { + const previewsFromAcceptHeader = headers.accept.match(/[\w-]+(?=-preview)/g) || []; + headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map(preview => { + const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json"; + return `application/vnd.github.${preview}-preview${format}`; + }).join(","); + } + } // for GET/HEAD requests, set URL query parameters from remaining parameters + // for PATCH/POST/PUT/DELETE requests, set request body from remaining parameters + + + if (["GET", "HEAD"].includes(method)) { + url = addQueryParameters(url, remainingParameters); + } else { + if ("data" in remainingParameters) { + body = remainingParameters.data; + } else { + if (Object.keys(remainingParameters).length) { + body = remainingParameters; + } else { + headers["content-length"] = 0; + } + } + } // default content-type for JSON if body is set + + + if (!headers["content-type"] && typeof body !== "undefined") { + headers["content-type"] = "application/json; charset=utf-8"; + } // GitHub expects 'content-length: 0' header for PUT/PATCH requests without body. + // fetch does not allow to set `content-length` header, but we can set body to an empty string + + + if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") { + body = ""; + } // Only return body/request keys if present + + + return Object.assign({ + method, + url, + headers + }, typeof body !== "undefined" ? { + body + } : null, options.request ? { + request: options.request + } : null); +} + +function endpointWithDefaults(defaults, route, options) { + return parse(merge(defaults, route, options)); +} + +function withDefaults(oldDefaults, newDefaults) { + const DEFAULTS = merge(oldDefaults, newDefaults); + const endpoint = endpointWithDefaults.bind(null, DEFAULTS); + return Object.assign(endpoint, { + DEFAULTS, + defaults: withDefaults.bind(null, DEFAULTS), + merge: merge.bind(null, DEFAULTS), + parse + }); +} + +const VERSION = "0.0.0-development"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; +const DEFAULTS = { + method: "GET", + baseUrl: "https://api.github.com", + headers: { + accept: "application/vnd.github.v3+json", + "user-agent": userAgent + }, + mediaType: { + format: "", + previews: [] + } +}; + +const endpoint = withDefaults(null, DEFAULTS); + +exports.endpoint = endpoint; + + +/***/ }), + +/***/ 389: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +const fs = __webpack_require__(747); +const shebangCommand = __webpack_require__(866); + +function readShebang(command) { + // Read the first 150 bytes from the file + const size = 150; + let buffer; + + if (Buffer.alloc) { + // Node.js v4.5+ / v5.10+ + buffer = Buffer.alloc(size); + } else { + // Old Node.js API + buffer = new Buffer(size); + buffer.fill(0); // zero-fill + } + + let fd; + + try { + fd = fs.openSync(command, 'r'); + fs.readSync(fd, buffer, 0, size, 0); + fs.closeSync(fd); + } catch (e) { /* Empty */ } + + // Attempt to extract shebang (null is returned if not a shebang) + return shebangCommand(buffer.toString()); +} + +module.exports = readShebang; + + +/***/ }), + +/***/ 402: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = Octokit + +const { request } = __webpack_require__(753) +const Hook = __webpack_require__(523) + +const parseClientOptions = __webpack_require__(294) + +function Octokit (plugins, options) { + options = options || {} + const hook = new Hook.Collection() + const log = Object.assign({ + debug: () => {}, + info: () => {}, + warn: console.warn, + error: console.error + }, options && options.log) + const api = { + hook, + log, + request: request.defaults(parseClientOptions(options, log, hook)) + } + + plugins.forEach(pluginFunction => pluginFunction(api, options)) + + return api +} + + +/***/ }), + +/***/ 411: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); + +module.exports = function normalizeHeaderName(headers, normalizedName) { + utils.forEach(headers, function processHeader(value, name) { + if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) { + headers[normalizedName] = value; + delete headers[name]; + } + }); +}; + + +/***/ }), + +/***/ 413: +/***/ (function(module) { + +module.exports = require("stream"); + +/***/ }), + +/***/ 427: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +// Older verions of Node.js might not have `util.getSystemErrorName()`. +// In that case, fall back to a deprecated internal. +const util = __webpack_require__(669); + +let uv; + +if (typeof util.getSystemErrorName === 'function') { + module.exports = util.getSystemErrorName; +} else { + try { + uv = process.binding('uv'); + + if (typeof uv.errname !== 'function') { + throw new TypeError('uv.errname is not a function'); + } + } catch (err) { + console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err); + uv = null; + } + + module.exports = code => errname(uv, code); +} + +// Used for testing the fallback behavior +module.exports.__test__ = errname; + +function errname(uv, code) { + if (uv) { + return uv.errname(code); + } + + if (!(code < 0)) { + throw new Error('err >= 0'); + } + + return `Unknown system error ${code}`; +} + + + +/***/ }), + +/***/ 430: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = octokitValidate + +const validate = __webpack_require__(348) + +function octokitValidate (octokit) { + octokit.hook.before('request', validate.bind(null, octokit)) +} + + +/***/ }), + +/***/ 431: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const os = __webpack_require__(87); +/** + * Commands + * + * Command Format: + * ##[name key=value;key=value]message + * + * Examples: + * ##[warning]This is the user warning message + * ##[set-secret name=mypassword]definatelyNotAPassword! + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message) { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_PREFIX = '##['; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_PREFIX + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + // safely append the val - avoid blowing up when attempting to + // call .replace() if message is not a string for some reason + cmdStr += `${key}=${escape(`${val || ''}`)};`; + } + } + } + } + cmdStr += ']'; + // safely append the message - avoid blowing up when attempting to + // call .replace() if message is not a string for some reason + const message = `${this.message || ''}`; + cmdStr += escapeData(message); + return cmdStr; + } +} +function escapeData(s) { + return s.replace(/\r/g, '%0D').replace(/\n/g, '%0A'); +} +function escape(s) { + return s + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/]/g, '%5D') + .replace(/;/g, '%3B'); +} +//# sourceMappingURL=command.js.map + +/***/ }), + +/***/ 441: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const os = __importStar(__webpack_require__(87)); +const packageJson = __webpack_require__(698); // tslint:disable-line:no-require-imports no-var-requires +/** + * Replaces occurrences of '/' with ':' in a string, since '/' is meaningful inside User-Agent strings as a separator. + */ +function replaceSlashes(s) { + return s.replace('/', ':'); +} +const baseUserAgent = `${replaceSlashes(packageJson.name)}/${packageJson.version} ` + + `node/${process.version.replace('v', '')} ` + + `${os.platform()}/${os.release()}`; +const appMetadata = {}; +/** + * Appends the app metadata into the User-Agent value + * @param appMetadata.name name of tool to be counted in instrumentation + * @param appMetadata.version version of tool to be counted in instrumentation + */ +function addAppMetadata({ name, version }) { + appMetadata[replaceSlashes(name)] = version; +} +exports.addAppMetadata = addAppMetadata; +/** + * Returns the current User-Agent value for instrumentation + */ +function getUserAgent() { + const appIdentifier = Object.entries(appMetadata).map(([name, version]) => `${name}/${version}`).join(' '); + // only prepend the appIdentifier when its not empty + return ((appIdentifier.length > 0) ? `${appIdentifier} ` : '') + baseUserAgent; +} +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=instrument.js.map + +/***/ }), + +/***/ 453: +/***/ (function(module, __unusedexports, __webpack_require__) { + +var once = __webpack_require__(969) +var eos = __webpack_require__(9) +var fs = __webpack_require__(747) // we only need fs to get the ReadStream and WriteStream prototypes + +var noop = function () {} +var ancient = /^v?\.0/.test(process.version) + +var isFn = function (fn) { + return typeof fn === 'function' +} + +var isFS = function (stream) { + if (!ancient) return false // newer node version do not need to care about fs is a special way + if (!fs) return false // browser + return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close) +} + +var isRequest = function (stream) { + return stream.setHeader && isFn(stream.abort) +} + +var destroyer = function (stream, reading, writing, callback) { + callback = once(callback) + + var closed = false + stream.on('close', function () { + closed = true + }) + + eos(stream, {readable: reading, writable: writing}, function (err) { + if (err) return callback(err) + closed = true + callback() + }) + + var destroyed = false + return function (err) { + if (closed) return + if (destroyed) return + destroyed = true + + if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks + if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want + + if (isFn(stream.destroy)) return stream.destroy() + + callback(err || new Error('stream was destroyed')) + } +} + +var call = function (fn) { + fn() +} + +var pipe = function (from, to) { + return from.pipe(to) +} + +var pump = function () { + var streams = Array.prototype.slice.call(arguments) + var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop + + if (Array.isArray(streams[0])) streams = streams[0] + if (streams.length < 2) throw new Error('pump requires two streams per minimum') + + var error + var destroys = streams.map(function (stream, i) { + var reading = i < streams.length - 1 + var writing = i > 0 + return destroyer(stream, reading, writing, function (err) { + if (!error) error = err + if (err) destroys.forEach(call) + if (reading) return + destroys.forEach(call) + callback(error) + }) + }) + + return streams.reduce(pipe) +} + +module.exports = pump + + +/***/ }), + +/***/ 454: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var Stream = _interopDefault(__webpack_require__(413)); +var http = _interopDefault(__webpack_require__(605)); +var Url = _interopDefault(__webpack_require__(835)); +var https = _interopDefault(__webpack_require__(211)); +var zlib = _interopDefault(__webpack_require__(761)); + +// Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js + +// fix for "Readable" isn't a named export issue +const Readable = Stream.Readable; + +const BUFFER = Symbol('buffer'); +const TYPE = Symbol('type'); + +class Blob { + constructor() { + this[TYPE] = ''; + + const blobParts = arguments[0]; + const options = arguments[1]; + + const buffers = []; + let size = 0; + + if (blobParts) { + const a = blobParts; + const length = Number(a.length); + for (let i = 0; i < length; i++) { + const element = a[i]; + let buffer; + if (element instanceof Buffer) { + buffer = element; + } else if (ArrayBuffer.isView(element)) { + buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength); + } else if (element instanceof ArrayBuffer) { + buffer = Buffer.from(element); + } else if (element instanceof Blob) { + buffer = element[BUFFER]; + } else { + buffer = Buffer.from(typeof element === 'string' ? element : String(element)); + } + size += buffer.length; + buffers.push(buffer); + } + } + + this[BUFFER] = Buffer.concat(buffers); + + let type = options && options.type !== undefined && String(options.type).toLowerCase(); + if (type && !/[^\u0020-\u007E]/.test(type)) { + this[TYPE] = type; + } + } + get size() { + return this[BUFFER].length; + } + get type() { + return this[TYPE]; + } + text() { + return Promise.resolve(this[BUFFER].toString()); + } + arrayBuffer() { + const buf = this[BUFFER]; + const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + return Promise.resolve(ab); + } + stream() { + const readable = new Readable(); + readable._read = function () {}; + readable.push(this[BUFFER]); + readable.push(null); + return readable; + } + toString() { + return '[object Blob]'; + } + slice() { + const size = this.size; + + const start = arguments[0]; + const end = arguments[1]; + let relativeStart, relativeEnd; + if (start === undefined) { + relativeStart = 0; + } else if (start < 0) { + relativeStart = Math.max(size + start, 0); + } else { + relativeStart = Math.min(start, size); + } + if (end === undefined) { + relativeEnd = size; + } else if (end < 0) { + relativeEnd = Math.max(size + end, 0); + } else { + relativeEnd = Math.min(end, size); + } + const span = Math.max(relativeEnd - relativeStart, 0); + + const buffer = this[BUFFER]; + const slicedBuffer = buffer.slice(relativeStart, relativeStart + span); + const blob = new Blob([], { type: arguments[2] }); + blob[BUFFER] = slicedBuffer; + return blob; + } +} + +Object.defineProperties(Blob.prototype, { + size: { enumerable: true }, + type: { enumerable: true }, + slice: { enumerable: true } +}); + +Object.defineProperty(Blob.prototype, Symbol.toStringTag, { + value: 'Blob', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * fetch-error.js + * + * FetchError interface for operational errors + */ + +/** + * Create FetchError instance + * + * @param String message Error message for human + * @param String type Error type for machine + * @param String systemError For Node.js system error + * @return FetchError + */ +function FetchError(message, type, systemError) { + Error.call(this, message); + + this.message = message; + this.type = type; + + // when err.type is `system`, err.code contains system error code + if (systemError) { + this.code = this.errno = systemError.code; + } + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +FetchError.prototype = Object.create(Error.prototype); +FetchError.prototype.constructor = FetchError; +FetchError.prototype.name = 'FetchError'; + +let convert; +try { + convert = __webpack_require__(18).convert; +} catch (e) {} + +const INTERNALS = Symbol('Body internals'); + +// fix an issue where "PassThrough" isn't a named export for node <10 +const PassThrough = Stream.PassThrough; + +/** + * Body mixin + * + * Ref: https://fetch.spec.whatwg.org/#body + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +function Body(body) { + var _this = this; + + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$size = _ref.size; + + let size = _ref$size === undefined ? 0 : _ref$size; + var _ref$timeout = _ref.timeout; + let timeout = _ref$timeout === undefined ? 0 : _ref$timeout; + + if (body == null) { + // body is undefined or null + body = null; + } else if (isURLSearchParams(body)) { + // body is a URLSearchParams + body = Buffer.from(body.toString()); + } else if (isBlob(body)) ; else if (Buffer.isBuffer(body)) ; else if (Object.prototype.toString.call(body) === '[object ArrayBuffer]') { + // body is ArrayBuffer + body = Buffer.from(body); + } else if (ArrayBuffer.isView(body)) { + // body is ArrayBufferView + body = Buffer.from(body.buffer, body.byteOffset, body.byteLength); + } else if (body instanceof Stream) ; else { + // none of the above + // coerce to string then buffer + body = Buffer.from(String(body)); + } + this[INTERNALS] = { + body, + disturbed: false, + error: null + }; + this.size = size; + this.timeout = timeout; + + if (body instanceof Stream) { + body.on('error', function (err) { + const error = err.name === 'AbortError' ? err : new FetchError(`Invalid response body while trying to fetch ${_this.url}: ${err.message}`, 'system', err); + _this[INTERNALS].error = error; + }); + } +} + +Body.prototype = { + get body() { + return this[INTERNALS].body; + }, + + get bodyUsed() { + return this[INTERNALS].disturbed; + }, + + /** + * Decode response as ArrayBuffer + * + * @return Promise + */ + arrayBuffer() { + return consumeBody.call(this).then(function (buf) { + return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength); + }); + }, + + /** + * Return raw response as Blob + * + * @return Promise + */ + blob() { + let ct = this.headers && this.headers.get('content-type') || ''; + return consumeBody.call(this).then(function (buf) { + return Object.assign( + // Prevent copying + new Blob([], { + type: ct.toLowerCase() + }), { + [BUFFER]: buf + }); + }); + }, + + /** + * Decode response as json + * + * @return Promise + */ + json() { + var _this2 = this; + + return consumeBody.call(this).then(function (buffer) { + try { + return JSON.parse(buffer.toString()); + } catch (err) { + return Body.Promise.reject(new FetchError(`invalid json response body at ${_this2.url} reason: ${err.message}`, 'invalid-json')); + } + }); + }, + + /** + * Decode response as text + * + * @return Promise + */ + text() { + return consumeBody.call(this).then(function (buffer) { + return buffer.toString(); + }); + }, + + /** + * Decode response as buffer (non-spec api) + * + * @return Promise + */ + buffer() { + return consumeBody.call(this); + }, + + /** + * Decode response as text, while automatically detecting the encoding and + * trying to decode to UTF-8 (non-spec api) + * + * @return Promise + */ + textConverted() { + var _this3 = this; + + return consumeBody.call(this).then(function (buffer) { + return convertBody(buffer, _this3.headers); + }); + } +}; + +// In browsers, all properties are enumerable. +Object.defineProperties(Body.prototype, { + body: { enumerable: true }, + bodyUsed: { enumerable: true }, + arrayBuffer: { enumerable: true }, + blob: { enumerable: true }, + json: { enumerable: true }, + text: { enumerable: true } +}); + +Body.mixIn = function (proto) { + for (const name of Object.getOwnPropertyNames(Body.prototype)) { + // istanbul ignore else: future proof + if (!(name in proto)) { + const desc = Object.getOwnPropertyDescriptor(Body.prototype, name); + Object.defineProperty(proto, name, desc); + } + } +}; + +/** + * Consume and convert an entire Body to a Buffer. + * + * Ref: https://fetch.spec.whatwg.org/#concept-body-consume-body + * + * @return Promise + */ +function consumeBody() { + var _this4 = this; + + if (this[INTERNALS].disturbed) { + return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`)); + } + + this[INTERNALS].disturbed = true; + + if (this[INTERNALS].error) { + return Body.Promise.reject(this[INTERNALS].error); + } + + let body = this.body; + + // body is null + if (body === null) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is blob + if (isBlob(body)) { + body = body.stream(); + } + + // body is buffer + if (Buffer.isBuffer(body)) { + return Body.Promise.resolve(body); + } + + // istanbul ignore if: should never happen + if (!(body instanceof Stream)) { + return Body.Promise.resolve(Buffer.alloc(0)); + } + + // body is stream + // get ready to actually consume the body + let accum = []; + let accumBytes = 0; + let abort = false; + + return new Body.Promise(function (resolve, reject) { + let resTimeout; + + // allow timeout on slow response body + if (_this4.timeout) { + resTimeout = setTimeout(function () { + abort = true; + reject(new FetchError(`Response timeout while trying to fetch ${_this4.url} (over ${_this4.timeout}ms)`, 'body-timeout')); + }, _this4.timeout); + } + + // handle stream errors + body.on('error', function (err) { + if (err.name === 'AbortError') { + // if the request was aborted, reject with this Error + abort = true; + reject(err); + } else { + // other errors, such as incorrect content-encoding + reject(new FetchError(`Invalid response body while trying to fetch ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + + body.on('data', function (chunk) { + if (abort || chunk === null) { + return; + } + + if (_this4.size && accumBytes + chunk.length > _this4.size) { + abort = true; + reject(new FetchError(`content size at ${_this4.url} over limit: ${_this4.size}`, 'max-size')); + return; + } + + accumBytes += chunk.length; + accum.push(chunk); + }); + + body.on('end', function () { + if (abort) { + return; + } + + clearTimeout(resTimeout); + + try { + resolve(Buffer.concat(accum, accumBytes)); + } catch (err) { + // handle streams that have accumulated too much data (issue #414) + reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, 'system', err)); + } + }); + }); +} + +/** + * Detect buffer encoding and convert to target encoding + * ref: http://www.w3.org/TR/2011/WD-html5-20110113/parsing.html#determining-the-character-encoding + * + * @param Buffer buffer Incoming buffer + * @param String encoding Target encoding + * @return String + */ +function convertBody(buffer, headers) { + if (typeof convert !== 'function') { + throw new Error('The package `encoding` must be installed to use the textConverted() function'); + } + + const ct = headers.get('content-type'); + let charset = 'utf-8'; + let res, str; + + // header + if (ct) { + res = /charset=([^;]*)/i.exec(ct); + } + + // no charset in content type, peek at response body for at most 1024 bytes + str = buffer.slice(0, 1024).toString(); + + // html5 + if (!res && str) { + res = / 0 && arguments[0] !== undefined ? arguments[0] : undefined; + + this[MAP] = Object.create(null); + + if (init instanceof Headers) { + const rawHeaders = init.raw(); + const headerNames = Object.keys(rawHeaders); + + for (const headerName of headerNames) { + for (const value of rawHeaders[headerName]) { + this.append(headerName, value); + } + } + + return; + } + + // We don't worry about converting prop to ByteString here as append() + // will handle it. + if (init == null) ; else if (typeof init === 'object') { + const method = init[Symbol.iterator]; + if (method != null) { + if (typeof method !== 'function') { + throw new TypeError('Header pairs must be iterable'); + } + + // sequence> + // Note: per spec we have to first exhaust the lists then process them + const pairs = []; + for (const pair of init) { + if (typeof pair !== 'object' || typeof pair[Symbol.iterator] !== 'function') { + throw new TypeError('Each header pair must be iterable'); + } + pairs.push(Array.from(pair)); + } + + for (const pair of pairs) { + if (pair.length !== 2) { + throw new TypeError('Each header pair must be a name/value tuple'); + } + this.append(pair[0], pair[1]); + } + } else { + // record + for (const key of Object.keys(init)) { + const value = init[key]; + this.append(key, value); + } + } + } else { + throw new TypeError('Provided initializer must be an object'); + } + } + + /** + * Return combined header value given name + * + * @param String name Header name + * @return Mixed + */ + get(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key === undefined) { + return null; + } + + return this[MAP][key].join(', '); + } + + /** + * Iterate over all headers + * + * @param Function callback Executed for each item with parameters (value, name, thisArg) + * @param Boolean thisArg `this` context for callback function + * @return Void + */ + forEach(callback) { + let thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined; + + let pairs = getHeaders(this); + let i = 0; + while (i < pairs.length) { + var _pairs$i = pairs[i]; + const name = _pairs$i[0], + value = _pairs$i[1]; + + callback.call(thisArg, value, name, this); + pairs = getHeaders(this); + i++; + } + } + + /** + * Overwrite header values given name + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + set(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + this[MAP][key !== undefined ? key : name] = [value]; + } + + /** + * Append a value onto existing header + * + * @param String name Header name + * @param String value Header value + * @return Void + */ + append(name, value) { + name = `${name}`; + value = `${value}`; + validateName(name); + validateValue(value); + const key = find(this[MAP], name); + if (key !== undefined) { + this[MAP][key].push(value); + } else { + this[MAP][name] = [value]; + } + } + + /** + * Check for header name existence + * + * @param String name Header name + * @return Boolean + */ + has(name) { + name = `${name}`; + validateName(name); + return find(this[MAP], name) !== undefined; + } + + /** + * Delete all header values given name + * + * @param String name Header name + * @return Void + */ + delete(name) { + name = `${name}`; + validateName(name); + const key = find(this[MAP], name); + if (key !== undefined) { + delete this[MAP][key]; + } + } + + /** + * Return raw headers (non-spec api) + * + * @return Object + */ + raw() { + return this[MAP]; + } + + /** + * Get an iterator on keys. + * + * @return Iterator + */ + keys() { + return createHeadersIterator(this, 'key'); + } + + /** + * Get an iterator on values. + * + * @return Iterator + */ + values() { + return createHeadersIterator(this, 'value'); + } + + /** + * Get an iterator on entries. + * + * This is the default iterator of the Headers object. + * + * @return Iterator + */ + [Symbol.iterator]() { + return createHeadersIterator(this, 'key+value'); + } +} +Headers.prototype.entries = Headers.prototype[Symbol.iterator]; + +Object.defineProperty(Headers.prototype, Symbol.toStringTag, { + value: 'Headers', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Headers.prototype, { + get: { enumerable: true }, + forEach: { enumerable: true }, + set: { enumerable: true }, + append: { enumerable: true }, + has: { enumerable: true }, + delete: { enumerable: true }, + keys: { enumerable: true }, + values: { enumerable: true }, + entries: { enumerable: true } +}); + +function getHeaders(headers) { + let kind = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'key+value'; + + const keys = Object.keys(headers[MAP]).sort(); + return keys.map(kind === 'key' ? function (k) { + return k.toLowerCase(); + } : kind === 'value' ? function (k) { + return headers[MAP][k].join(', '); + } : function (k) { + return [k.toLowerCase(), headers[MAP][k].join(', ')]; + }); +} + +const INTERNAL = Symbol('internal'); + +function createHeadersIterator(target, kind) { + const iterator = Object.create(HeadersIteratorPrototype); + iterator[INTERNAL] = { + target, + kind, + index: 0 + }; + return iterator; +} + +const HeadersIteratorPrototype = Object.setPrototypeOf({ + next() { + // istanbul ignore if + if (!this || Object.getPrototypeOf(this) !== HeadersIteratorPrototype) { + throw new TypeError('Value of `this` is not a HeadersIterator'); + } + + var _INTERNAL = this[INTERNAL]; + const target = _INTERNAL.target, + kind = _INTERNAL.kind, + index = _INTERNAL.index; + + const values = getHeaders(target, kind); + const len = values.length; + if (index >= len) { + return { + value: undefined, + done: true + }; + } + + this[INTERNAL].index = index + 1; + + return { + value: values[index], + done: false + }; + } +}, Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()))); + +Object.defineProperty(HeadersIteratorPrototype, Symbol.toStringTag, { + value: 'HeadersIterator', + writable: false, + enumerable: false, + configurable: true +}); + +/** + * Export the Headers object in a form that Node.js can consume. + * + * @param Headers headers + * @return Object + */ +function exportNodeCompatibleHeaders(headers) { + const obj = Object.assign({ __proto__: null }, headers[MAP]); + + // http.request() only supports string as Host header. This hack makes + // specifying custom Host header possible. + const hostHeaderKey = find(headers[MAP], 'Host'); + if (hostHeaderKey !== undefined) { + obj[hostHeaderKey] = obj[hostHeaderKey][0]; + } + + return obj; +} + +/** + * Create a Headers object from an object of headers, ignoring those that do + * not conform to HTTP grammar productions. + * + * @param Object obj Object of headers + * @return Headers + */ +function createHeadersLenient(obj) { + const headers = new Headers(); + for (const name of Object.keys(obj)) { + if (invalidTokenRegex.test(name)) { + continue; + } + if (Array.isArray(obj[name])) { + for (const val of obj[name]) { + if (invalidHeaderCharRegex.test(val)) { + continue; + } + if (headers[MAP][name] === undefined) { + headers[MAP][name] = [val]; + } else { + headers[MAP][name].push(val); + } + } + } else if (!invalidHeaderCharRegex.test(obj[name])) { + headers[MAP][name] = [obj[name]]; + } + } + return headers; +} + +const INTERNALS$1 = Symbol('Response internals'); + +// fix an issue where "STATUS_CODES" aren't a named export for node <10 +const STATUS_CODES = http.STATUS_CODES; + +/** + * Response class + * + * @param Stream body Readable stream + * @param Object opts Response options + * @return Void + */ +class Response { + constructor() { + let body = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + Body.call(this, body, opts); + + const status = opts.status || 200; + const headers = new Headers(opts.headers); + + if (body != null && !headers.has('Content-Type')) { + const contentType = extractContentType(body); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + this[INTERNALS$1] = { + url: opts.url, + status, + statusText: opts.statusText || STATUS_CODES[status], + headers, + counter: opts.counter + }; + } + + get url() { + return this[INTERNALS$1].url || ''; + } + + get status() { + return this[INTERNALS$1].status; + } + + /** + * Convenience property representing if the request ended normally + */ + get ok() { + return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300; + } + + get redirected() { + return this[INTERNALS$1].counter > 0; + } + + get statusText() { + return this[INTERNALS$1].statusText; + } + + get headers() { + return this[INTERNALS$1].headers; + } + + /** + * Clone this response + * + * @return Response + */ + clone() { + return new Response(clone(this), { + url: this.url, + status: this.status, + statusText: this.statusText, + headers: this.headers, + ok: this.ok, + redirected: this.redirected + }); + } +} + +Body.mixIn(Response.prototype); + +Object.defineProperties(Response.prototype, { + url: { enumerable: true }, + status: { enumerable: true }, + ok: { enumerable: true }, + redirected: { enumerable: true }, + statusText: { enumerable: true }, + headers: { enumerable: true }, + clone: { enumerable: true } +}); + +Object.defineProperty(Response.prototype, Symbol.toStringTag, { + value: 'Response', + writable: false, + enumerable: false, + configurable: true +}); + +const INTERNALS$2 = Symbol('Request internals'); + +// fix an issue where "format", "parse" aren't a named export for node <10 +const parse_url = Url.parse; +const format_url = Url.format; + +const streamDestructionSupported = 'destroy' in Stream.Readable.prototype; + +/** + * Check if a value is an instance of Request. + * + * @param Mixed input + * @return Boolean + */ +function isRequest(input) { + return typeof input === 'object' && typeof input[INTERNALS$2] === 'object'; +} + +function isAbortSignal(signal) { + const proto = signal && typeof signal === 'object' && Object.getPrototypeOf(signal); + return !!(proto && proto.constructor.name === 'AbortSignal'); +} + +/** + * Request class + * + * @param Mixed input Url or Request instance + * @param Object init Custom options + * @return Void + */ +class Request { + constructor(input) { + let init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + let parsedURL; + + // normalize input + if (!isRequest(input)) { + if (input && input.href) { + // in order to support Node.js' Url objects; though WHATWG's URL objects + // will fall into this branch also (since their `toString()` will return + // `href` property anyway) + parsedURL = parse_url(input.href); + } else { + // coerce input to a string before attempting to parse + parsedURL = parse_url(`${input}`); + } + input = {}; + } else { + parsedURL = parse_url(input.url); + } + + let method = init.method || input.method || 'GET'; + method = method.toUpperCase(); + + if ((init.body != null || isRequest(input) && input.body !== null) && (method === 'GET' || method === 'HEAD')) { + throw new TypeError('Request with GET/HEAD method cannot have body'); + } + + let inputBody = init.body != null ? init.body : isRequest(input) && input.body !== null ? clone(input) : null; + + Body.call(this, inputBody, { + timeout: init.timeout || input.timeout || 0, + size: init.size || input.size || 0 + }); + + const headers = new Headers(init.headers || input.headers || {}); + + if (inputBody != null && !headers.has('Content-Type')) { + const contentType = extractContentType(inputBody); + if (contentType) { + headers.append('Content-Type', contentType); + } + } + + let signal = isRequest(input) ? input.signal : null; + if ('signal' in init) signal = init.signal; + + if (signal != null && !isAbortSignal(signal)) { + throw new TypeError('Expected signal to be an instanceof AbortSignal'); + } + + this[INTERNALS$2] = { + method, + redirect: init.redirect || input.redirect || 'follow', + headers, + parsedURL, + signal + }; + + // node-fetch-only options + this.follow = init.follow !== undefined ? init.follow : input.follow !== undefined ? input.follow : 20; + this.compress = init.compress !== undefined ? init.compress : input.compress !== undefined ? input.compress : true; + this.counter = init.counter || input.counter || 0; + this.agent = init.agent || input.agent; + } + + get method() { + return this[INTERNALS$2].method; + } + + get url() { + return format_url(this[INTERNALS$2].parsedURL); + } + + get headers() { + return this[INTERNALS$2].headers; + } + + get redirect() { + return this[INTERNALS$2].redirect; + } + + get signal() { + return this[INTERNALS$2].signal; + } + + /** + * Clone this request + * + * @return Request + */ + clone() { + return new Request(this); + } +} + +Body.mixIn(Request.prototype); + +Object.defineProperty(Request.prototype, Symbol.toStringTag, { + value: 'Request', + writable: false, + enumerable: false, + configurable: true +}); + +Object.defineProperties(Request.prototype, { + method: { enumerable: true }, + url: { enumerable: true }, + headers: { enumerable: true }, + redirect: { enumerable: true }, + clone: { enumerable: true }, + signal: { enumerable: true } +}); + +/** + * Convert a Request to Node.js http request options. + * + * @param Request A Request instance + * @return Object The options object to be passed to http.request + */ +function getNodeRequestOptions(request) { + const parsedURL = request[INTERNALS$2].parsedURL; + const headers = new Headers(request[INTERNALS$2].headers); + + // fetch step 1.3 + if (!headers.has('Accept')) { + headers.set('Accept', '*/*'); + } + + // Basic fetch + if (!parsedURL.protocol || !parsedURL.hostname) { + throw new TypeError('Only absolute URLs are supported'); + } + + if (!/^https?:$/.test(parsedURL.protocol)) { + throw new TypeError('Only HTTP(S) protocols are supported'); + } + + if (request.signal && request.body instanceof Stream.Readable && !streamDestructionSupported) { + throw new Error('Cancellation of streamed requests with AbortSignal is not supported in node < 8'); + } + + // HTTP-network-or-cache fetch steps 2.4-2.7 + let contentLengthValue = null; + if (request.body == null && /^(POST|PUT)$/i.test(request.method)) { + contentLengthValue = '0'; + } + if (request.body != null) { + const totalBytes = getTotalBytes(request); + if (typeof totalBytes === 'number') { + contentLengthValue = String(totalBytes); + } + } + if (contentLengthValue) { + headers.set('Content-Length', contentLengthValue); + } + + // HTTP-network-or-cache fetch step 2.11 + if (!headers.has('User-Agent')) { + headers.set('User-Agent', 'node-fetch/1.0 (+https://github.com/bitinn/node-fetch)'); + } + + // HTTP-network-or-cache fetch step 2.15 + if (request.compress && !headers.has('Accept-Encoding')) { + headers.set('Accept-Encoding', 'gzip,deflate'); + } + + let agent = request.agent; + if (typeof agent === 'function') { + agent = agent(parsedURL); + } + + if (!headers.has('Connection') && !agent) { + headers.set('Connection', 'close'); + } + + // HTTP-network fetch step 4.2 + // chunked encoding is handled by Node.js + + return Object.assign({}, parsedURL, { + method: request.method, + headers: exportNodeCompatibleHeaders(headers), + agent + }); +} + +/** + * abort-error.js + * + * AbortError interface for cancelled requests + */ + +/** + * Create AbortError instance + * + * @param String message Error message for human + * @return AbortError + */ +function AbortError(message) { + Error.call(this, message); + + this.type = 'aborted'; + this.message = message; + + // hide custom error implementation details from end-users + Error.captureStackTrace(this, this.constructor); +} + +AbortError.prototype = Object.create(Error.prototype); +AbortError.prototype.constructor = AbortError; +AbortError.prototype.name = 'AbortError'; + +// fix an issue where "PassThrough", "resolve" aren't a named export for node <10 +const PassThrough$1 = Stream.PassThrough; +const resolve_url = Url.resolve; + +/** + * Fetch function + * + * @param Mixed url Absolute url or Request instance + * @param Object opts Fetch options + * @return Promise + */ +function fetch(url, opts) { + + // allow custom promise + if (!fetch.Promise) { + throw new Error('native promise missing, set fetch.Promise to your favorite alternative'); + } + + Body.Promise = fetch.Promise; + + // wrap http.request into fetch + return new fetch.Promise(function (resolve, reject) { + // build request object + const request = new Request(url, opts); + const options = getNodeRequestOptions(request); + + const send = (options.protocol === 'https:' ? https : http).request; + const signal = request.signal; + + let response = null; + + const abort = function abort() { + let error = new AbortError('The user aborted a request.'); + reject(error); + if (request.body && request.body instanceof Stream.Readable) { + request.body.destroy(error); + } + if (!response || !response.body) return; + response.body.emit('error', error); + }; + + if (signal && signal.aborted) { + abort(); + return; + } + + const abortAndFinalize = function abortAndFinalize() { + abort(); + finalize(); + }; + + // send request + const req = send(options); + let reqTimeout; + + if (signal) { + signal.addEventListener('abort', abortAndFinalize); + } + + function finalize() { + req.abort(); + if (signal) signal.removeEventListener('abort', abortAndFinalize); + clearTimeout(reqTimeout); + } + + if (request.timeout) { + req.once('socket', function (socket) { + reqTimeout = setTimeout(function () { + reject(new FetchError(`network timeout at: ${request.url}`, 'request-timeout')); + finalize(); + }, request.timeout); + }); + } + + req.on('error', function (err) { + reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, 'system', err)); + finalize(); + }); + + req.on('response', function (res) { + clearTimeout(reqTimeout); + + const headers = createHeadersLenient(res.headers); + + // HTTP fetch step 5 + if (fetch.isRedirect(res.statusCode)) { + // HTTP fetch step 5.2 + const location = headers.get('Location'); + + // HTTP fetch step 5.3 + const locationURL = location === null ? null : resolve_url(request.url, location); + + // HTTP fetch step 5.5 + switch (request.redirect) { + case 'error': + reject(new FetchError(`redirect mode is set to error: ${request.url}`, 'no-redirect')); + finalize(); + return; + case 'manual': + // node-fetch-specific step: make manual redirect a bit easier to use by setting the Location header value to the resolved URL. + if (locationURL !== null) { + // handle corrupted header + try { + headers.set('Location', locationURL); + } catch (err) { + // istanbul ignore next: nodejs server prevent invalid response headers, we can't test this through normal request + reject(err); + } + } + break; + case 'follow': + // HTTP-redirect fetch step 2 + if (locationURL === null) { + break; + } + + // HTTP-redirect fetch step 5 + if (request.counter >= request.follow) { + reject(new FetchError(`maximum redirect reached at: ${request.url}`, 'max-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 6 (counter increment) + // Create a new Request object. + const requestOpts = { + headers: new Headers(request.headers), + follow: request.follow, + counter: request.counter + 1, + agent: request.agent, + compress: request.compress, + method: request.method, + body: request.body, + signal: request.signal, + timeout: request.timeout + }; + + // HTTP-redirect fetch step 9 + if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { + reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); + finalize(); + return; + } + + // HTTP-redirect fetch step 11 + if (res.statusCode === 303 || (res.statusCode === 301 || res.statusCode === 302) && request.method === 'POST') { + requestOpts.method = 'GET'; + requestOpts.body = undefined; + requestOpts.headers.delete('content-length'); + } + + // HTTP-redirect fetch step 15 + resolve(fetch(new Request(locationURL, requestOpts))); + finalize(); + return; + } + } + + // prepare response + res.once('end', function () { + if (signal) signal.removeEventListener('abort', abortAndFinalize); + }); + let body = res.pipe(new PassThrough$1()); + + const response_options = { + url: request.url, + status: res.statusCode, + statusText: res.statusMessage, + headers: headers, + size: request.size, + timeout: request.timeout, + counter: request.counter + }; + + // HTTP-network fetch step 12.1.1.3 + const codings = headers.get('Content-Encoding'); + + // HTTP-network fetch step 12.1.1.4: handle content codings + + // in following scenarios we ignore compression support + // 1. compression support is disabled + // 2. HEAD request + // 3. no Content-Encoding header + // 4. no content response (204) + // 5. content not modified response (304) + if (!request.compress || request.method === 'HEAD' || codings === null || res.statusCode === 204 || res.statusCode === 304) { + response = new Response(body, response_options); + resolve(response); + return; + } + + // For Node v6+ + // Be less strict when decoding compressed responses, since sometimes + // servers send slightly invalid responses that are still accepted + // by common browsers. + // Always using Z_SYNC_FLUSH is what cURL does. + const zlibOptions = { + flush: zlib.Z_SYNC_FLUSH, + finishFlush: zlib.Z_SYNC_FLUSH + }; + + // for gzip + if (codings == 'gzip' || codings == 'x-gzip') { + body = body.pipe(zlib.createGunzip(zlibOptions)); + response = new Response(body, response_options); + resolve(response); + return; + } + + // for deflate + if (codings == 'deflate' || codings == 'x-deflate') { + // handle the infamous raw deflate response from old servers + // a hack for old IIS and Apache servers + const raw = res.pipe(new PassThrough$1()); + raw.once('data', function (chunk) { + // see http://stackoverflow.com/questions/37519828 + if ((chunk[0] & 0x0F) === 0x08) { + body = body.pipe(zlib.createInflate()); + } else { + body = body.pipe(zlib.createInflateRaw()); + } + response = new Response(body, response_options); + resolve(response); + }); + return; + } + + // for br + if (codings == 'br' && typeof zlib.createBrotliDecompress === 'function') { + body = body.pipe(zlib.createBrotliDecompress()); + response = new Response(body, response_options); + resolve(response); + return; + } + + // otherwise, use response as-is + response = new Response(body, response_options); + resolve(response); + }); + + writeToStream(req, request); + }); +} +/** + * Redirect code matching + * + * @param Number code Status code + * @return Boolean + */ +fetch.isRedirect = function (code) { + return code === 301 || code === 302 || code === 303 || code === 307 || code === 308; +}; + +// expose Promise +fetch.Promise = global.Promise; + +module.exports = exports = fetch; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.default = exports; +exports.Headers = Headers; +exports.Request = Request; +exports.Response = Response; +exports.FetchError = FetchError; + + +/***/ }), + +/***/ 462: +/***/ (function(module) { + +"use strict"; + + +// See http://www.robvanderwoude.com/escapechars.php +const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; + +function escapeCommand(arg) { + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + return arg; +} + +function escapeArgument(arg, doubleEscapeMetaChars) { + // Convert to string + arg = `${arg}`; + + // Algorithm below is based on https://qntm.org/cmd + + // Sequence of backslashes followed by a double quote: + // double up all the backslashes and escape the double quote + arg = arg.replace(/(\\*)"/g, '$1$1\\"'); + + // Sequence of backslashes followed by the end of the string + // (which will become a double quote later): + // double up all the backslashes + arg = arg.replace(/(\\*)$/, '$1$1'); + + // All other backslashes occur literally + + // Quote the whole thing: + arg = `"${arg}"`; + + // Escape meta chars + arg = arg.replace(metaCharsRegExp, '^$1'); + + // Double escape meta chars if necessary + if (doubleEscapeMetaChars) { + arg = arg.replace(metaCharsRegExp, '^$1'); + } + + return arg; +} + +module.exports.command = escapeCommand; +module.exports.argument = escapeArgument; + + +/***/ }), + +/***/ 463: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var deprecation = __webpack_require__(692); +var once = _interopDefault(__webpack_require__(969)); + +const logOnce = once(deprecation => console.warn(deprecation)); +/** + * Error with extra properties to help with debugging + */ + +class RequestError extends Error { + constructor(message, statusCode, options) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = "HttpError"; + this.status = statusCode; + Object.defineProperty(this, "code", { + get() { + logOnce(new deprecation.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")); + return statusCode; + } + + }); + this.headers = options.headers; // redact request credentials without mutating original request options + + const requestCopy = Object.assign({}, options.request); + + if (options.request.headers.authorization) { + requestCopy.headers = Object.assign({}, options.request.headers, { + authorization: options.request.headers.authorization.replace(/ .*$/, " [REDACTED]") + }); + } + + requestCopy.url = requestCopy.url // client_id & client_secret can be passed as URL query parameters to increase rate limit + // see https://developer.github.com/v3/#increasing-the-unauthenticated-rate-limit-for-oauth-applications + .replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]") // OAuth tokens can be passed as URL query parameters, although it is not recommended + // see https://developer.github.com/v3/#oauth2-token-sent-in-a-header + .replace(/\baccess_token=\w+/g, "access_token=[REDACTED]"); + this.request = requestCopy; + } + +} + +exports.RequestError = RequestError; + + +/***/ }), + +/***/ 469: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +// Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/master/src/github.ts +const graphql_1 = __webpack_require__(503); +const rest_1 = __importDefault(__webpack_require__(613)); +const Context = __importStar(__webpack_require__(262)); +// We need this in order to extend Octokit +rest_1.default.prototype = new rest_1.default(); +exports.context = new Context.Context(); +class GitHub extends rest_1.default { + constructor(token) { + super({ auth: `token ${token}` }); + this.graphql = graphql_1.defaults({ + headers: { authorization: `token ${token}` } + }); + } +} +exports.GitHub = GitHub; +//# sourceMappingURL=github.js.map + +/***/ }), + +/***/ 470: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const command_1 = __webpack_require__(431); +const path = __webpack_require__(622); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable + */ +function exportVariable(name, val) { + process.env[name] = val; + command_1.issueCommand('set-env', { name }, val); +} +exports.exportVariable = exportVariable; +/** + * exports the variable and registers a secret which will get masked from logs + * @param name the name of the variable to set + * @param val value of the secret + */ +function exportSecret(name, val) { + exportVariable(name, val); + command_1.issueCommand('set-secret', {}, val); +} +exports.exportSecret = exportSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + command_1.issueCommand('add-path', {}, inputPath); + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. The value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(' ', '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store + */ +function setOutput(name, value) { + command_1.issueCommand('set-output', { name }, value); +} +exports.setOutput = setOutput; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message + */ +function error(message) { + command_1.issue('error', message); +} +exports.error = error; +/** + * Adds an warning issue + * @param message warning issue message + */ +function warning(message) { + command_1.issue('warning', message); +} +exports.warning = warning; +//# sourceMappingURL=core.js.map + +/***/ }), + +/***/ 471: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = authenticationBeforeRequest + +const btoa = __webpack_require__(675) +const uniq = __webpack_require__(126) + +function authenticationBeforeRequest (state, options) { + if (!state.auth.type) { + return + } + + if (state.auth.type === 'basic') { + const hash = btoa(`${state.auth.username}:${state.auth.password}`) + options.headers['authorization'] = `Basic ${hash}` + return + } + + if (state.auth.type === 'token') { + options.headers['authorization'] = `token ${state.auth.token}` + return + } + + if (state.auth.type === 'app') { + options.headers['authorization'] = `Bearer ${state.auth.token}` + const acceptHeaders = options.headers['accept'].split(',') + .concat('application/vnd.github.machine-man-preview+json') + options.headers['accept'] = uniq(acceptHeaders).filter(Boolean).join(',') + return + } + + options.url += options.url.indexOf('?') === -1 ? '?' : '&' + + if (state.auth.token) { + options.url += `access_token=${encodeURIComponent(state.auth.token)}` + return + } + + const key = encodeURIComponent(state.auth.key) + const secret = encodeURIComponent(state.auth.secret) + options.url += `client_id=${key}&client_secret=${secret}` +} + + +/***/ }), + +/***/ 480: +/***/ (function(module) { + +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +module.exports = function isBuffer (obj) { + return obj != null && obj.constructor != null && + typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) +} + + +/***/ }), + +/***/ 489: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +const path = __webpack_require__(622); +const which = __webpack_require__(814); +const pathKey = __webpack_require__(39)(); + +function resolveCommandAttempt(parsed, withoutPathExt) { + const cwd = process.cwd(); + const hasCustomCwd = parsed.options.cwd != null; + + // If a custom `cwd` was specified, we need to change the process cwd + // because `which` will do stat calls but does not support a custom cwd + if (hasCustomCwd) { + try { + process.chdir(parsed.options.cwd); + } catch (err) { + /* Empty */ + } + } + + let resolved; + + try { + resolved = which.sync(parsed.command, { + path: (parsed.options.env || process.env)[pathKey], + pathExt: withoutPathExt ? path.delimiter : undefined, + }); + } catch (e) { + /* Empty */ + } finally { + process.chdir(cwd); + } + + // If we successfully resolved, ensure that an absolute path is returned + // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it + if (resolved) { + resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved); + } + + return resolved; +} + +function resolveCommand(parsed) { + return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true); +} + +module.exports = resolveCommand; + + +/***/ }), + +/***/ 492: +/***/ (function(module) { + +"use strict"; + + +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); +}; + + +/***/ }), + +/***/ 500: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = graphql + +const GraphqlError = __webpack_require__(862) + +const NON_VARIABLE_OPTIONS = ['method', 'baseUrl', 'url', 'headers', 'request', 'query'] + +function graphql (request, query, options) { + if (typeof query === 'string') { + options = Object.assign({ query }, options) + } else { + options = query + } + + const requestOptions = Object.keys(options).reduce((result, key) => { + if (NON_VARIABLE_OPTIONS.includes(key)) { + result[key] = options[key] + return result + } + + if (!result.variables) { + result.variables = {} + } + + result.variables[key] = options[key] + return result + }, {}) + + return request(requestOptions) + .then(response => { + if (response.data.errors) { + throw new GraphqlError(requestOptions, response) + } + + return response.data.data + }) +} + + +/***/ }), + +/***/ 503: +/***/ (function(module, __unusedexports, __webpack_require__) { + +const { request } = __webpack_require__(753) +const getUserAgent = __webpack_require__(46) + +const version = __webpack_require__(314).version +const userAgent = `octokit-graphql.js/${version} ${getUserAgent()}` + +const withDefaults = __webpack_require__(0) + +module.exports = withDefaults(request, { + method: 'POST', + url: '/graphql', + headers: { + 'user-agent': userAgent + } +}) + + +/***/ }), + +/***/ 510: +/***/ (function(module) { + +module.exports = addHook + +function addHook (state, kind, name, hook) { + var orig = hook + if (!state.registry[name]) { + state.registry[name] = [] + } + + if (kind === 'before') { + hook = function (method, options) { + return Promise.resolve() + .then(orig.bind(null, options)) + .then(method.bind(null, options)) + } + } + + if (kind === 'after') { + hook = function (method, options) { + var result + return Promise.resolve() + .then(method.bind(null, options)) + .then(function (result_) { + result = result_ + return orig(result, options) + }) + .then(function () { + return result + }) + } + } + + if (kind === 'error') { + hook = function (method, options) { + return Promise.resolve() + .then(method.bind(null, options)) + .catch(function (error) { + return orig(error, options) + }) + } + } + + state.registry[name].push({ + hook: hook, + orig: orig + }) +} + + +/***/ }), + +/***/ 523: +/***/ (function(module, __unusedexports, __webpack_require__) { + +var register = __webpack_require__(363) +var addHook = __webpack_require__(510) +var removeHook = __webpack_require__(763) + +// bind with array of arguments: https://stackoverflow.com/a/21792913 +var bind = Function.bind +var bindable = bind.bind(bind) + +function bindApi (hook, state, name) { + var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state]) + hook.api = { remove: removeHookRef } + hook.remove = removeHookRef + + ;['before', 'error', 'after', 'wrap'].forEach(function (kind) { + var args = name ? [state, kind, name] : [state, kind] + hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args) + }) +} + +function HookSingular () { + var singularHookName = 'h' + var singularHookState = { + registry: {} + } + var singularHook = register.bind(null, singularHookState, singularHookName) + bindApi(singularHook, singularHookState, singularHookName) + return singularHook +} + +function HookCollection () { + var state = { + registry: {} + } + + var hook = register.bind(null, state) + bindApi(hook, state) + + return hook +} + +var collectionHookDeprecationMessageDisplayed = false +function Hook () { + if (!collectionHookDeprecationMessageDisplayed) { + console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4') + collectionHookDeprecationMessageDisplayed = true + } + return HookCollection() +} + +Hook.Singular = HookSingular.bind() +Hook.Collection = HookCollection.bind() + +module.exports = Hook +// expose constructors as a named property for TypeScript +module.exports.Hook = Hook +module.exports.Singular = Hook.Singular +module.exports.Collection = Hook.Collection + + +/***/ }), + +/***/ 529: +/***/ (function(module, __unusedexports, __webpack_require__) { + +const factory = __webpack_require__(47) + +module.exports = factory() + + +/***/ }), + +/***/ 536: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = hasFirstPage + +const deprecate = __webpack_require__(370) +const getPageLinks = __webpack_require__(577) + +function hasFirstPage (link) { + deprecate(`octokit.hasFirstPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`) + return getPageLinks(link).first +} + + +/***/ }), + +/***/ 549: +/***/ (function(module, __unusedexports, __webpack_require__) { + +var url = __webpack_require__(835); +var http = __webpack_require__(605); +var https = __webpack_require__(211); +var assert = __webpack_require__(357); +var Writable = __webpack_require__(413).Writable; +var debug = __webpack_require__(732)("follow-redirects"); + +// RFC7231§4.2.1: Of the request methods defined by this specification, +// the GET, HEAD, OPTIONS, and TRACE methods are defined to be safe. +var SAFE_METHODS = { GET: true, HEAD: true, OPTIONS: true, TRACE: true }; + +// Create handlers that pass events from native requests +var eventHandlers = Object.create(null); +["abort", "aborted", "error", "socket", "timeout"].forEach(function (event) { + eventHandlers[event] = function (arg) { + this._redirectable.emit(event, arg); + }; +}); + +// An HTTP(S) request that can be redirected +function RedirectableRequest(options, responseCallback) { + // Initialize the request + Writable.call(this); + options.headers = options.headers || {}; + this._options = options; + this._redirectCount = 0; + this._redirects = []; + this._requestBodyLength = 0; + this._requestBodyBuffers = []; + + // Since http.request treats host as an alias of hostname, + // but the url module interprets host as hostname plus port, + // eliminate the host property to avoid confusion. + if (options.host) { + // Use hostname if set, because it has precedence + if (!options.hostname) { + options.hostname = options.host; + } + delete options.host; + } + + // Attach a callback if passed + if (responseCallback) { + this.on("response", responseCallback); + } + + // React to responses of native requests + var self = this; + this._onNativeResponse = function (response) { + self._processResponse(response); + }; + + // Complete the URL object when necessary + if (!options.pathname && options.path) { + var searchPos = options.path.indexOf("?"); + if (searchPos < 0) { + options.pathname = options.path; + } + else { + options.pathname = options.path.substring(0, searchPos); + options.search = options.path.substring(searchPos); + } + } + + // Perform the first request + this._performRequest(); +} +RedirectableRequest.prototype = Object.create(Writable.prototype); + +// Writes buffered data to the current native request +RedirectableRequest.prototype.write = function (data, encoding, callback) { + // Validate input and shift parameters if necessary + if (!(typeof data === "string" || typeof data === "object" && ("length" in data))) { + throw new Error("data should be a string, Buffer or Uint8Array"); + } + if (typeof encoding === "function") { + callback = encoding; + encoding = null; + } + + // Ignore empty buffers, since writing them doesn't invoke the callback + // https://github.com/nodejs/node/issues/22066 + if (data.length === 0) { + if (callback) { + callback(); + } + return; + } + // Only write when we don't exceed the maximum body length + if (this._requestBodyLength + data.length <= this._options.maxBodyLength) { + this._requestBodyLength += data.length; + this._requestBodyBuffers.push({ data: data, encoding: encoding }); + this._currentRequest.write(data, encoding, callback); + } + // Error when we exceed the maximum body length + else { + this.emit("error", new Error("Request body larger than maxBodyLength limit")); + this.abort(); + } +}; + +// Ends the current native request +RedirectableRequest.prototype.end = function (data, encoding, callback) { + // Shift parameters if necessary + if (typeof data === "function") { + callback = data; + data = encoding = null; + } + else if (typeof encoding === "function") { + callback = encoding; + encoding = null; + } + + // Write data and end + var currentRequest = this._currentRequest; + this.write(data || "", encoding, function () { + currentRequest.end(null, null, callback); + }); +}; + +// Sets a header value on the current native request +RedirectableRequest.prototype.setHeader = function (name, value) { + this._options.headers[name] = value; + this._currentRequest.setHeader(name, value); +}; + +// Clears a header value on the current native request +RedirectableRequest.prototype.removeHeader = function (name) { + delete this._options.headers[name]; + this._currentRequest.removeHeader(name); +}; + +// Proxy all other public ClientRequest methods +[ + "abort", "flushHeaders", "getHeader", + "setNoDelay", "setSocketKeepAlive", "setTimeout", +].forEach(function (method) { + RedirectableRequest.prototype[method] = function (a, b) { + return this._currentRequest[method](a, b); + }; +}); + +// Proxy all public ClientRequest properties +["aborted", "connection", "socket"].forEach(function (property) { + Object.defineProperty(RedirectableRequest.prototype, property, { + get: function () { return this._currentRequest[property]; }, + }); +}); + +// Executes the next native request (initial or redirect) +RedirectableRequest.prototype._performRequest = function () { + // Load the native protocol + var protocol = this._options.protocol; + var nativeProtocol = this._options.nativeProtocols[protocol]; + if (!nativeProtocol) { + this.emit("error", new Error("Unsupported protocol " + protocol)); + return; + } + + // If specified, use the agent corresponding to the protocol + // (HTTP and HTTPS use different types of agents) + if (this._options.agents) { + var scheme = protocol.substr(0, protocol.length - 1); + this._options.agent = this._options.agents[scheme]; + } + + // Create the native request + var request = this._currentRequest = + nativeProtocol.request(this._options, this._onNativeResponse); + this._currentUrl = url.format(this._options); + + // Set up event handlers + request._redirectable = this; + for (var event in eventHandlers) { + /* istanbul ignore else */ + if (event) { + request.on(event, eventHandlers[event]); + } + } + + // End a redirected request + // (The first request must be ended explicitly with RedirectableRequest#end) + if (this._isRedirect) { + // Write the request entity and end. + var i = 0; + var buffers = this._requestBodyBuffers; + (function writeNext() { + if (i < buffers.length) { + var buffer = buffers[i++]; + request.write(buffer.data, buffer.encoding, writeNext); + } + else { + request.end(); + } + }()); + } +}; + +// Processes a response from the current native request +RedirectableRequest.prototype._processResponse = function (response) { + // Store the redirected response + if (this._options.trackRedirects) { + this._redirects.push({ + url: this._currentUrl, + headers: response.headers, + statusCode: response.statusCode, + }); + } + + // RFC7231§6.4: The 3xx (Redirection) class of status code indicates + // that further action needs to be taken by the user agent in order to + // fulfill the request. If a Location header field is provided, + // the user agent MAY automatically redirect its request to the URI + // referenced by the Location field value, + // even if the specific status code is not understood. + var location = response.headers.location; + if (location && this._options.followRedirects !== false && + response.statusCode >= 300 && response.statusCode < 400) { + // RFC7231§6.4: A client SHOULD detect and intervene + // in cyclical redirections (i.e., "infinite" redirection loops). + if (++this._redirectCount > this._options.maxRedirects) { + this.emit("error", new Error("Max redirects exceeded.")); + return; + } + + // RFC7231§6.4: Automatic redirection needs to done with + // care for methods not known to be safe […], + // since the user might not wish to redirect an unsafe request. + // RFC7231§6.4.7: The 307 (Temporary Redirect) status code indicates + // that the target resource resides temporarily under a different URI + // and the user agent MUST NOT change the request method + // if it performs an automatic redirection to that URI. + var header; + var headers = this._options.headers; + if (response.statusCode !== 307 && !(this._options.method in SAFE_METHODS)) { + this._options.method = "GET"; + // Drop a possible entity and headers related to it + this._requestBodyBuffers = []; + for (header in headers) { + if (/^content-/i.test(header)) { + delete headers[header]; + } + } + } + + // Drop the Host header, as the redirect might lead to a different host + if (!this._isRedirect) { + for (header in headers) { + if (/^host$/i.test(header)) { + delete headers[header]; + } + } + } + + // Perform the redirected request + var redirectUrl = url.resolve(this._currentUrl, location); + debug("redirecting to", redirectUrl); + Object.assign(this._options, url.parse(redirectUrl)); + this._isRedirect = true; + this._performRequest(); + + // Discard the remainder of the response to avoid waiting for data + response.destroy(); + } + else { + // The response is not a redirect; return it as-is + response.responseUrl = this._currentUrl; + response.redirects = this._redirects; + this.emit("response", response); + + // Clean up + this._requestBodyBuffers = []; + } +}; + +// Wraps the key/value object of protocols with redirect functionality +function wrap(protocols) { + // Default settings + var exports = { + maxRedirects: 21, + maxBodyLength: 10 * 1024 * 1024, + }; + + // Wrap each protocol + var nativeProtocols = {}; + Object.keys(protocols).forEach(function (scheme) { + var protocol = scheme + ":"; + var nativeProtocol = nativeProtocols[protocol] = protocols[scheme]; + var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol); + + // Executes a request, following redirects + wrappedProtocol.request = function (options, callback) { + if (typeof options === "string") { + options = url.parse(options); + options.maxRedirects = exports.maxRedirects; + } + else { + options = Object.assign({ + protocol: protocol, + maxRedirects: exports.maxRedirects, + maxBodyLength: exports.maxBodyLength, + }, options); + } + options.nativeProtocols = nativeProtocols; + assert.equal(options.protocol, protocol, "protocol mismatch"); + debug("options", options); + return new RedirectableRequest(options, callback); + }; + + // Executes a GET request, following redirects + wrappedProtocol.get = function (options, callback) { + var request = wrappedProtocol.request(options, callback); + request.end(); + return request; + }; + }); + return exports; +} + +// Exports +module.exports = wrap({ http: http, https: https }); +module.exports.wrap = wrap; + + +/***/ }), + +/***/ 550: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getNextPage + +const getPage = __webpack_require__(265) + +function getNextPage (octokit, link, headers) { + return getPage(octokit, link, 'next', headers) +} + + +/***/ }), + +/***/ 558: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = hasPreviousPage + +const deprecate = __webpack_require__(370) +const getPageLinks = __webpack_require__(577) + +function hasPreviousPage (link) { + deprecate(`octokit.hasPreviousPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`) + return getPageLinks(link).prev +} + + +/***/ }), + +/***/ 563: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getPreviousPage + +const getPage = __webpack_require__(265) + +function getPreviousPage (octokit, link, headers) { + return getPage(octokit, link, 'prev', headers) +} + + +/***/ }), + +/***/ 564: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var createError = __webpack_require__(26); + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ +module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + // Note: status is not exposed by XDomainRequest + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } +}; + + +/***/ }), + +/***/ 568: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +const path = __webpack_require__(622); +const niceTry = __webpack_require__(948); +const resolveCommand = __webpack_require__(489); +const escape = __webpack_require__(462); +const readShebang = __webpack_require__(389); +const semver = __webpack_require__(280); + +const isWin = process.platform === 'win32'; +const isExecutableRegExp = /\.(?:com|exe)$/i; +const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; + +// `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0 +const supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false; + +function detectShebang(parsed) { + parsed.file = resolveCommand(parsed); + + const shebang = parsed.file && readShebang(parsed.file); + + if (shebang) { + parsed.args.unshift(parsed.file); + parsed.command = shebang; + + return resolveCommand(parsed); + } + + return parsed.file; +} + +function parseNonShell(parsed) { + if (!isWin) { + return parsed; + } + + // Detect & add support for shebangs + const commandFile = detectShebang(parsed); + + // We don't need a shell if the command filename is an executable + const needsShell = !isExecutableRegExp.test(commandFile); + + // If a shell is required, use cmd.exe and take care of escaping everything correctly + // Note that `forceShell` is an hidden option used only in tests + if (parsed.options.forceShell || needsShell) { + // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/` + // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument + // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, + // we need to double escape them + const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); + + // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) + // This is necessary otherwise it will always fail with ENOENT in those cases + parsed.command = path.normalize(parsed.command); + + // Escape command & arguments + parsed.command = escape.command(parsed.command); + parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars)); + + const shellCommand = [parsed.command].concat(parsed.args).join(' '); + + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.command = process.env.comspec || 'cmd.exe'; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } + + return parsed; +} + +function parseShell(parsed) { + // If node supports the shell option, there's no need to mimic its behavior + if (supportsShellOption) { + return parsed; + } + + // Mimic node shell option + // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335 + const shellCommand = [parsed.command].concat(parsed.args).join(' '); + + if (isWin) { + parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe'; + parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; + parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped + } else { + if (typeof parsed.options.shell === 'string') { + parsed.command = parsed.options.shell; + } else if (process.platform === 'android') { + parsed.command = '/system/bin/sh'; + } else { + parsed.command = '/bin/sh'; + } + + parsed.args = ['-c', shellCommand]; + } + + return parsed; +} + +function parse(command, args, options) { + // Normalize arguments, similar to nodejs + if (args && !Array.isArray(args)) { + options = args; + args = null; + } + + args = args ? args.slice(0) : []; // Clone array to avoid changing the original + options = Object.assign({}, options); // Clone object to avoid changing the original + + // Build our parsed object + const parsed = { + command, + args, + options, + file: undefined, + original: { + command, + args, + }, + }; + + // Delegate further parsing to shell or non-shell + return options.shell ? parseShell(parsed) : parseNonShell(parsed); +} + +module.exports = parse; + + +/***/ }), + +/***/ 577: +/***/ (function(module) { + +module.exports = getPageLinks + +function getPageLinks (link) { + link = link.link || link.headers.link || '' + + const links = {} + + // link format: + // '; rel="next", ; rel="last"' + link.replace(/<([^>]*)>;\s*rel="([\w]*)"/g, (m, uri, type) => { + links[type] = uri + }) + + return links +} + + +/***/ }), + +/***/ 586: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = octokitRestApiEndpoints + +const ROUTES = __webpack_require__(705) + +function octokitRestApiEndpoints (octokit) { + // Aliasing scopes for backward compatibility + // See https://github.com/octokit/rest.js/pull/1134 + ROUTES.gitdata = ROUTES.git + ROUTES.authorization = ROUTES.oauthAuthorizations + ROUTES.pullRequests = ROUTES.pulls + + octokit.registerEndpoints(ROUTES) +} + + +/***/ }), + +/***/ 589: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); + +/** + * Transform the data for a request or a response + * + * @param {Object|String} data The data to be transformed + * @param {Array} headers The headers for the request or response + * @param {Array|Function} fns A single function or Array of functions + * @returns {*} The resulting transformed data + */ +module.exports = function transformData(data, headers, fns) { + /*eslint no-param-reassign:0*/ + utils.forEach(fns, function transform(fn) { + data = fn(data, headers); + }); + + return data; +}; + + +/***/ }), + +/***/ 590: +/***/ (function(module) { + +"use strict"; + + +/** + * Determines whether the specified URL is absolute + * + * @param {string} url The URL to test + * @returns {boolean} True if the specified URL is absolute, otherwise false + */ +module.exports = function isAbsoluteURL(url) { + // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). + // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed + // by any combination of letters, digits, plus, period, or hyphen. + return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url); +}; + + +/***/ }), + +/***/ 605: +/***/ (function(module) { + +module.exports = require("http"); + +/***/ }), + +/***/ 613: +/***/ (function(module, __unusedexports, __webpack_require__) { + +const Octokit = __webpack_require__(529) + +const CORE_PLUGINS = [ + __webpack_require__(372), + __webpack_require__(19), // deprecated: remove in v17 + __webpack_require__(190), + __webpack_require__(148), + __webpack_require__(309), + __webpack_require__(248), + __webpack_require__(586), + __webpack_require__(430), + + __webpack_require__(850) // deprecated: remove in v17 +] + +module.exports = Octokit.plugin(CORE_PLUGINS) + + +/***/ }), + +/***/ 614: +/***/ (function(module) { + +module.exports = require("events"); + +/***/ }), + +/***/ 621: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const path = __webpack_require__(622); +const pathKey = __webpack_require__(39); + +module.exports = opts => { + opts = Object.assign({ + cwd: process.cwd(), + path: process.env[pathKey()] + }, opts); + + let prev; + let pth = path.resolve(opts.cwd); + const ret = []; + + while (prev !== pth) { + ret.push(path.join(pth, 'node_modules/.bin')); + prev = pth; + pth = path.resolve(pth, '..'); + } + + // ensure the running `node` binary is used + ret.push(path.dirname(process.execPath)); + + return ret.concat(opts.path).join(path.delimiter); +}; + +module.exports.env = opts => { + opts = Object.assign({ + env: process.env + }, opts); + + const env = Object.assign({}, opts.env); + const path = pathKey({env}); + + opts.path = env[path]; + env[path] = module.exports(opts); + + return env; +}; + + +/***/ }), + +/***/ 622: +/***/ (function(module) { + +module.exports = require("path"); + +/***/ }), + +/***/ 631: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); + +// Headers whose duplicates are ignored by node +// c.f. https://nodejs.org/api/http.html#http_message_headers +var ignoreDuplicateOf = [ + 'age', 'authorization', 'content-length', 'content-type', 'etag', + 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', + 'last-modified', 'location', 'max-forwards', 'proxy-authorization', + 'referer', 'retry-after', 'user-agent' +]; + +/** + * Parse headers into an object + * + * ``` + * Date: Wed, 27 Aug 2014 08:58:49 GMT + * Content-Type: application/json + * Connection: keep-alive + * Transfer-Encoding: chunked + * ``` + * + * @param {String} headers Headers needing to be parsed + * @returns {Object} Headers parsed into an object + */ +module.exports = function parseHeaders(headers) { + var parsed = {}; + var key; + var val; + var i; + + if (!headers) { return parsed; } + + utils.forEach(headers.split('\n'), function parser(line) { + i = line.indexOf(':'); + key = utils.trim(line.substr(0, i)).toLowerCase(); + val = utils.trim(line.substr(i + 1)); + + if (key) { + if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { + return; + } + if (key === 'set-cookie') { + parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); + } else { + parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; + } + } + }); + + return parsed; +}; + + +/***/ }), + +/***/ 649: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getLastPage + +const getPage = __webpack_require__(265) + +function getLastPage (octokit, link, headers) { + return getPage(octokit, link, 'last', headers) +} + + +/***/ }), + +/***/ 654: +/***/ (function(module) { + +// This is not the set of all possible signals. +// +// It IS, however, the set of all signals that trigger +// an exit on either Linux or BSD systems. Linux is a +// superset of the signal names supported on BSD, and +// the unknown signals just fail to register, so we can +// catch that easily enough. +// +// Don't bother with SIGKILL. It's uncatchable, which +// means that we can't fire any callbacks anyway. +// +// If a user does happen to register a handler on a non- +// fatal signal like SIGWINCH or something, and then +// exit, it'll end up firing `process.emit('exit')`, so +// the handler will be fired anyway. +// +// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised +// artificially, inherently leave the process in a +// state from which it is not safe to try and enter JS +// listeners. +module.exports = [ + 'SIGABRT', + 'SIGALRM', + 'SIGHUP', + 'SIGINT', + 'SIGTERM' +] + +if (process.platform !== 'win32') { + module.exports.push( + 'SIGVTALRM', + 'SIGXCPU', + 'SIGXFSZ', + 'SIGUSR2', + 'SIGTRAP', + 'SIGSYS', + 'SIGQUIT', + 'SIGIOT' + // should detect profiler and enable/disable accordingly. + // see #21 + // 'SIGPROF' + ) +} + +if (process.platform === 'linux') { + module.exports.push( + 'SIGIO', + 'SIGPOLL', + 'SIGPWR', + 'SIGSTKFLT', + 'SIGUNUSED' + ) +} + + +/***/ }), + +/***/ 669: +/***/ (function(module) { + +module.exports = require("util"); + +/***/ }), + +/***/ 670: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); +var settle = __webpack_require__(564); +var buildURL = __webpack_require__(133); +var http = __webpack_require__(605); +var https = __webpack_require__(211); +var httpFollow = __webpack_require__(549).http; +var httpsFollow = __webpack_require__(549).https; +var url = __webpack_require__(835); +var zlib = __webpack_require__(761); +var pkg = __webpack_require__(361); +var createError = __webpack_require__(26); +var enhanceError = __webpack_require__(369); + +/*eslint consistent-return:0*/ +module.exports = function httpAdapter(config) { + return new Promise(function dispatchHttpRequest(resolve, reject) { + var data = config.data; + var headers = config.headers; + var timer; + + // Set User-Agent (required by some servers) + // Only set header if it hasn't been set in config + // See https://github.com/axios/axios/issues/69 + if (!headers['User-Agent'] && !headers['user-agent']) { + headers['User-Agent'] = 'axios/' + pkg.version; + } + + if (data && !utils.isStream(data)) { + if (Buffer.isBuffer(data)) { + // Nothing to do... + } else if (utils.isArrayBuffer(data)) { + data = new Buffer(new Uint8Array(data)); + } else if (utils.isString(data)) { + data = new Buffer(data, 'utf-8'); + } else { + return reject(createError( + 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream', + config + )); + } + + // Add Content-Length header if data exists + headers['Content-Length'] = data.length; + } + + // HTTP basic authentication + var auth = undefined; + if (config.auth) { + var username = config.auth.username || ''; + var password = config.auth.password || ''; + auth = username + ':' + password; + } + + // Parse url + var parsed = url.parse(config.url); + var protocol = parsed.protocol || 'http:'; + + if (!auth && parsed.auth) { + var urlAuth = parsed.auth.split(':'); + var urlUsername = urlAuth[0] || ''; + var urlPassword = urlAuth[1] || ''; + auth = urlUsername + ':' + urlPassword; + } + + if (auth) { + delete headers.Authorization; + } + + var isHttps = protocol === 'https:'; + var agent = isHttps ? config.httpsAgent : config.httpAgent; + + var options = { + path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\?/, ''), + method: config.method, + headers: headers, + agent: agent, + auth: auth + }; + + if (config.socketPath) { + options.socketPath = config.socketPath; + } else { + options.hostname = parsed.hostname; + options.port = parsed.port; + } + + var proxy = config.proxy; + if (!proxy && proxy !== false) { + var proxyEnv = protocol.slice(0, -1) + '_proxy'; + var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()]; + if (proxyUrl) { + var parsedProxyUrl = url.parse(proxyUrl); + proxy = { + host: parsedProxyUrl.hostname, + port: parsedProxyUrl.port + }; + + if (parsedProxyUrl.auth) { + var proxyUrlAuth = parsedProxyUrl.auth.split(':'); + proxy.auth = { + username: proxyUrlAuth[0], + password: proxyUrlAuth[1] + }; + } + } + } + + if (proxy) { + options.hostname = proxy.host; + options.host = proxy.host; + options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : ''); + options.port = proxy.port; + options.path = protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path; + + // Basic proxy authorization + if (proxy.auth) { + var base64 = new Buffer(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64'); + options.headers['Proxy-Authorization'] = 'Basic ' + base64; + } + } + + var transport; + if (config.transport) { + transport = config.transport; + } else if (config.maxRedirects === 0) { + transport = isHttps ? https : http; + } else { + if (config.maxRedirects) { + options.maxRedirects = config.maxRedirects; + } + transport = isHttps ? httpsFollow : httpFollow; + } + + if (config.maxContentLength && config.maxContentLength > -1) { + options.maxBodyLength = config.maxContentLength; + } + + // Create the request + var req = transport.request(options, function handleResponse(res) { + if (req.aborted) return; + + // Response has been received so kill timer that handles request timeout + clearTimeout(timer); + timer = null; + + // uncompress the response body transparently if required + var stream = res; + switch (res.headers['content-encoding']) { + /*eslint default-case:0*/ + case 'gzip': + case 'compress': + case 'deflate': + // add the unzipper to the body stream processing pipeline + stream = stream.pipe(zlib.createUnzip()); + + // remove the content-encoding in order to not confuse downstream operations + delete res.headers['content-encoding']; + break; + } + + // return the last request in case of redirects + var lastRequest = res.req || req; + + var response = { + status: res.statusCode, + statusText: res.statusMessage, + headers: res.headers, + config: config, + request: lastRequest + }; + + if (config.responseType === 'stream') { + response.data = stream; + settle(resolve, reject, response); + } else { + var responseBuffer = []; + stream.on('data', function handleStreamData(chunk) { + responseBuffer.push(chunk); + + // make sure the content length is not over the maxContentLength if specified + if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) { + stream.destroy(); + reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded', + config, null, lastRequest)); + } + }); + + stream.on('error', function handleStreamError(err) { + if (req.aborted) return; + reject(enhanceError(err, config, null, lastRequest)); + }); + + stream.on('end', function handleStreamEnd() { + var responseData = Buffer.concat(responseBuffer); + if (config.responseType !== 'arraybuffer') { + responseData = responseData.toString('utf8'); + } + + response.data = responseData; + settle(resolve, reject, response); + }); + } + }); + + // Handle errors + req.on('error', function handleRequestError(err) { + if (req.aborted) return; + reject(enhanceError(err, config, null, req)); + }); + + // Handle request timeout + if (config.timeout && !timer) { + timer = setTimeout(function handleRequestTimeout() { + req.abort(); + reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req)); + }, config.timeout); + } + + if (config.cancelToken) { + // Handle cancellation + config.cancelToken.promise.then(function onCanceled(cancel) { + if (req.aborted) return; + + req.abort(); + reject(cancel); + }); + } + + // Send the request + if (utils.isStream(data)) { + data.pipe(req); + } else { + req.end(data); + } + }); +}; + + +/***/ }), + +/***/ 674: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = authenticate + +const { Deprecation } = __webpack_require__(692) +const once = __webpack_require__(969) + +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)) + +function authenticate (state, options) { + deprecateAuthenticate(state.octokit.log, new Deprecation('[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.')) + + if (!options) { + state.auth = false + return + } + + switch (options.type) { + case 'basic': + if (!options.username || !options.password) { + throw new Error('Basic authentication requires both a username and password to be set') + } + break + + case 'oauth': + if (!options.token && !(options.key && options.secret)) { + throw new Error('OAuth2 authentication requires a token or key & secret to be set') + } + break + + case 'token': + case 'app': + if (!options.token) { + throw new Error('Token authentication requires a token to be set') + } + break + + default: + throw new Error("Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'") + } + + state.auth = options +} + + +/***/ }), + +/***/ 675: +/***/ (function(module) { + +module.exports = function btoa(str) { + return new Buffer(str).toString('base64') +} + + +/***/ }), + +/***/ 688: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() +); + + +/***/ }), + +/***/ 692: +/***/ (function(__unusedmodule, exports) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +class Deprecation extends Error { + constructor(message) { + super(message); // Maintains proper stack trace (only available on V8) + + /* istanbul ignore next */ + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } + + this.name = 'Deprecation'; + } + +} + +exports.Deprecation = Deprecation; + + +/***/ }), + +/***/ 696: +/***/ (function(module) { + +"use strict"; + + +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +} + +/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObjectObject(o) { + return isObject(o) === true + && Object.prototype.toString.call(o) === '[object Object]'; +} + +function isPlainObject(o) { + var ctor,prot; + + if (isObjectObject(o) === false) return false; + + // If has modified constructor + ctor = o.constructor; + if (typeof ctor !== 'function') return false; + + // If has modified prototype + prot = ctor.prototype; + if (isObjectObject(prot) === false) return false; + + // If constructor does not have an Object-specific method + if (prot.hasOwnProperty('isPrototypeOf') === false) { + return false; + } + + // Most likely a plain Object + return true; +} + +module.exports = isPlainObject; + + +/***/ }), + +/***/ 697: +/***/ (function(module) { + +"use strict"; + +module.exports = (promise, onFinally) => { + onFinally = onFinally || (() => {}); + + return promise.then( + val => new Promise(resolve => { + resolve(onFinally()); + }).then(() => val), + err => new Promise(resolve => { + resolve(onFinally()); + }).then(() => { + throw err; + }) + ); +}; + + +/***/ }), + +/***/ 698: +/***/ (function(module) { + +module.exports = {"_args":[["@slack/webhook@5.0.1","/Users/suguru/src/projects/github_actions/slatify"]],"_from":"@slack/webhook@5.0.1","_id":"@slack/webhook@5.0.1","_inBundle":false,"_integrity":"sha512-cTp0xOdd28gbMAGR80IzcG2QtwDPO0oq7NopxbitCUiDYVC40r7syJB86MBkt9spABOl1uNjB26tA9Lhe3XBbQ==","_location":"/@slack/webhook","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"@slack/webhook@5.0.1","name":"@slack/webhook","escapedName":"@slack%2fwebhook","scope":"@slack","rawSpec":"5.0.1","saveSpec":null,"fetchSpec":"5.0.1"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/@slack/webhook/-/webhook-5.0.1.tgz","_spec":"5.0.1","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Slack Technologies, Inc."},"bugs":{"url":"https://github.com/slackapi/node-slack-sdk/issues"},"dependencies":{"@slack/types":"^1.1.0","@types/node":">=8.9.0","axios":"^0.18.0"},"description":"Official library for using the Slack Platform's Incoming Webhooks","devDependencies":{"@types/chai":"^4.1.7","@types/mocha":"^5.2.6","chai":"^4.2.0","codecov":"^3.2.0","mocha":"^6.0.2","nock":"^10.0.6","nyc":"^14.1.1","shx":"^0.3.2","sinon":"^7.2.7","source-map-support":"^0.5.10","ts-node":"^8.0.3","tslint":"^5.13.1","tslint-config-airbnb":"^5.11.1","typescript":"^3.3.3333"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"files":["dist/**/*"],"gitHead":"35b40af1dc28ef40cb00eb9a47f902e73c27b03f","homepage":"https://slack.dev/node-slack-sdk/webhook","keywords":["slack","request","client","http","api","proxy"],"license":"MIT","main":"dist/index.js","name":"@slack/webhook","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/slackapi/node-slack-sdk.git"},"scripts":{"build":"npm run build:clean && tsc","build:clean":"shx rm -rf ./dist ./coverage ./.nyc_output","coverage":"codecov -F webhook --root=$PWD","lint":"tslint --project .","prepare":"npm run build","test":"npm run build && nyc mocha --config .mocharc.json src/*.spec.js"},"types":"./dist/index.d.ts","version":"5.0.1"}; + +/***/ }), + +/***/ 705: +/***/ (function(module) { + +module.exports = {"activity":{"checkStarringRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"},"deleteRepoSubscription":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscription"},"deleteThreadSubscription":{"method":"DELETE","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"getRepoSubscription":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscription"},"getThread":{"method":"GET","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id"},"getThreadSubscription":{"method":"GET","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"listEventsForOrg":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events/orgs/:org"},"listEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events"},"listFeeds":{"method":"GET","params":{},"url":"/feeds"},"listNotifications":{"method":"GET","params":{"all":{"type":"boolean"},"before":{"type":"string"},"page":{"type":"integer"},"participating":{"type":"boolean"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/notifications"},"listNotificationsForRepo":{"method":"GET","params":{"all":{"type":"boolean"},"before":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"participating":{"type":"boolean"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/notifications"},"listPublicEvents":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/events"},"listPublicEventsForOrg":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/events"},"listPublicEventsForRepoNetwork":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/networks/:owner/:repo/events"},"listPublicEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events/public"},"listReceivedEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/received_events"},"listReceivedPublicEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/received_events/public"},"listRepoEvents":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/events"},"listReposStarredByAuthenticatedUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/user/starred"},"listReposStarredByUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/starred"},"listReposWatchedByUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/subscriptions"},"listStargazersForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stargazers"},"listWatchedReposForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/subscriptions"},"listWatchersForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscribers"},"markAsRead":{"method":"PUT","params":{"last_read_at":{"type":"string"}},"url":"/notifications"},"markNotificationsAsReadForRepo":{"method":"PUT","params":{"last_read_at":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/notifications"},"markThreadAsRead":{"method":"PATCH","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id"},"setRepoSubscription":{"method":"PUT","params":{"ignored":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"subscribed":{"type":"boolean"}},"url":"/repos/:owner/:repo/subscription"},"setThreadSubscription":{"method":"PUT","params":{"ignored":{"type":"boolean"},"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"starRepo":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"},"unstarRepo":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"}},"apps":{"addRepoToInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"PUT","params":{"installation_id":{"required":true,"type":"integer"},"repository_id":{"required":true,"type":"integer"}},"url":"/user/installations/:installation_id/repositories/:repository_id"},"checkAccountIsAssociatedWithAny":{"method":"GET","params":{"account_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/accounts/:account_id"},"checkAccountIsAssociatedWithAnyStubbed":{"method":"GET","params":{"account_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/stubbed/accounts/:account_id"},"createContentAttachment":{"headers":{"accept":"application/vnd.github.corsair-preview+json"},"method":"POST","params":{"body":{"required":true,"type":"string"},"content_reference_id":{"required":true,"type":"integer"},"title":{"required":true,"type":"string"}},"url":"/content_references/:content_reference_id/attachments"},"createFromManifest":{"headers":{"accept":"application/vnd.github.fury-preview+json"},"method":"POST","params":{"code":{"required":true,"type":"string"}},"url":"/app-manifests/:code/conversions"},"createInstallationToken":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"POST","params":{"installation_id":{"required":true,"type":"integer"},"permissions":{"type":"object"},"repository_ids":{"type":"integer[]"}},"url":"/app/installations/:installation_id/access_tokens"},"deleteInstallation":{"headers":{"accept":"application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json"},"method":"DELETE","params":{"installation_id":{"required":true,"type":"integer"}},"url":"/app/installations/:installation_id"},"findOrgInstallation":{"deprecated":"octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)","headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/installation"},"findRepoInstallation":{"deprecated":"octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)","headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/installation"},"findUserInstallation":{"deprecated":"octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)","headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username/installation"},"getAuthenticated":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{},"url":"/app"},"getBySlug":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"app_slug":{"required":true,"type":"string"}},"url":"/apps/:app_slug"},"getInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"installation_id":{"required":true,"type":"integer"}},"url":"/app/installations/:installation_id"},"getOrgInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/installation"},"getRepoInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/installation"},"getUserInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username/installation"},"listAccountsUserOrOrgOnPlan":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"plan_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/marketplace_listing/plans/:plan_id/accounts"},"listAccountsUserOrOrgOnPlanStubbed":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"plan_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/marketplace_listing/stubbed/plans/:plan_id/accounts"},"listInstallationReposForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"installation_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/installations/:installation_id/repositories"},"listInstallations":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/app/installations"},"listInstallationsForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/installations"},"listMarketplacePurchasesForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/marketplace_purchases"},"listMarketplacePurchasesForAuthenticatedUserStubbed":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/marketplace_purchases/stubbed"},"listPlans":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/plans"},"listPlansStubbed":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/stubbed/plans"},"listRepos":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/installation/repositories"},"removeRepoFromInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"DELETE","params":{"installation_id":{"required":true,"type":"integer"},"repository_id":{"required":true,"type":"integer"}},"url":"/user/installations/:installation_id/repositories/:repository_id"}},"checks":{"create":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"actions":{"type":"object[]"},"actions[].description":{"required":true,"type":"string"},"actions[].identifier":{"required":true,"type":"string"},"actions[].label":{"required":true,"type":"string"},"completed_at":{"type":"string"},"conclusion":{"enum":["success","failure","neutral","cancelled","timed_out","action_required"],"type":"string"},"details_url":{"type":"string"},"external_id":{"type":"string"},"head_sha":{"required":true,"type":"string"},"name":{"required":true,"type":"string"},"output":{"type":"object"},"output.annotations":{"type":"object[]"},"output.annotations[].annotation_level":{"enum":["notice","warning","failure"],"required":true,"type":"string"},"output.annotations[].end_column":{"type":"integer"},"output.annotations[].end_line":{"required":true,"type":"integer"},"output.annotations[].message":{"required":true,"type":"string"},"output.annotations[].path":{"required":true,"type":"string"},"output.annotations[].raw_details":{"type":"string"},"output.annotations[].start_column":{"type":"integer"},"output.annotations[].start_line":{"required":true,"type":"integer"},"output.annotations[].title":{"type":"string"},"output.images":{"type":"object[]"},"output.images[].alt":{"required":true,"type":"string"},"output.images[].caption":{"type":"string"},"output.images[].image_url":{"required":true,"type":"string"},"output.summary":{"required":true,"type":"string"},"output.text":{"type":"string"},"output.title":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"started_at":{"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-runs"},"createSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"head_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites"},"get":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_run_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id"},"getSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_suite_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id"},"listAnnotations":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_run_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id/annotations"},"listForRef":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_name":{"type":"string"},"filter":{"enum":["latest","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/check-runs"},"listForSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_name":{"type":"string"},"check_suite_id":{"required":true,"type":"integer"},"filter":{"enum":["latest","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"},"listSuitesForRef":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"app_id":{"type":"integer"},"check_name":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/check-suites"},"rerequestSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"check_suite_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"},"setSuitesPreferences":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"PATCH","params":{"auto_trigger_checks":{"type":"object[]"},"auto_trigger_checks[].app_id":{"required":true,"type":"integer"},"auto_trigger_checks[].setting":{"required":true,"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/preferences"},"update":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"PATCH","params":{"actions":{"type":"object[]"},"actions[].description":{"required":true,"type":"string"},"actions[].identifier":{"required":true,"type":"string"},"actions[].label":{"required":true,"type":"string"},"check_run_id":{"required":true,"type":"integer"},"completed_at":{"type":"string"},"conclusion":{"enum":["success","failure","neutral","cancelled","timed_out","action_required"],"type":"string"},"details_url":{"type":"string"},"external_id":{"type":"string"},"name":{"type":"string"},"output":{"type":"object"},"output.annotations":{"type":"object[]"},"output.annotations[].annotation_level":{"enum":["notice","warning","failure"],"required":true,"type":"string"},"output.annotations[].end_column":{"type":"integer"},"output.annotations[].end_line":{"required":true,"type":"integer"},"output.annotations[].message":{"required":true,"type":"string"},"output.annotations[].path":{"required":true,"type":"string"},"output.annotations[].raw_details":{"type":"string"},"output.annotations[].start_column":{"type":"integer"},"output.annotations[].start_line":{"required":true,"type":"integer"},"output.annotations[].title":{"type":"string"},"output.images":{"type":"object[]"},"output.images[].alt":{"required":true,"type":"string"},"output.images[].caption":{"type":"string"},"output.images[].image_url":{"required":true,"type":"string"},"output.summary":{"required":true,"type":"string"},"output.text":{"type":"string"},"output.title":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"started_at":{"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id"}},"codesOfConduct":{"getConductCode":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{"key":{"required":true,"type":"string"}},"url":"/codes_of_conduct/:key"},"getForRepo":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/community/code_of_conduct"},"listConductCodes":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{},"url":"/codes_of_conduct"}},"emojis":{"get":{"method":"GET","params":{},"url":"/emojis"}},"gists":{"checkIsStarred":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"create":{"method":"POST","params":{"description":{"type":"string"},"files":{"required":true,"type":"object"},"files.content":{"type":"string"},"public":{"type":"boolean"}},"url":"/gists"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments"},"delete":{"method":"DELETE","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"},"fork":{"method":"POST","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/forks"},"get":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"},"getRevision":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/gists/:gist_id/:sha"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists"},"listComments":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/comments"},"listCommits":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/commits"},"listForks":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/forks"},"listPublic":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists/public"},"listPublicForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/gists"},"listStarred":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists/starred"},"star":{"method":"PUT","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"unstar":{"method":"DELETE","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"update":{"method":"PATCH","params":{"description":{"type":"string"},"files":{"type":"object"},"files.content":{"type":"string"},"files.filename":{"type":"string"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"}},"git":{"createBlob":{"method":"POST","params":{"content":{"required":true,"type":"string"},"encoding":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/blobs"},"createCommit":{"method":"POST","params":{"author":{"type":"object"},"author.date":{"type":"string"},"author.email":{"type":"string"},"author.name":{"type":"string"},"committer":{"type":"object"},"committer.date":{"type":"string"},"committer.email":{"type":"string"},"committer.name":{"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"parents":{"required":true,"type":"string[]"},"repo":{"required":true,"type":"string"},"signature":{"type":"string"},"tree":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/commits"},"createRef":{"method":"POST","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs"},"createTag":{"method":"POST","params":{"message":{"required":true,"type":"string"},"object":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag":{"required":true,"type":"string"},"tagger":{"type":"object"},"tagger.date":{"type":"string"},"tagger.email":{"type":"string"},"tagger.name":{"type":"string"},"type":{"enum":["commit","tree","blob"],"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/tags"},"createTree":{"method":"POST","params":{"base_tree":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tree":{"required":true,"type":"object[]"},"tree[].content":{"type":"string"},"tree[].mode":{"enum":["100644","100755","040000","160000","120000"],"type":"string"},"tree[].path":{"type":"string"},"tree[].sha":{"type":"string"},"tree[].type":{"enum":["blob","tree","commit"],"type":"string"}},"url":"/repos/:owner/:repo/git/trees"},"deleteRef":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:ref"},"getBlob":{"method":"GET","params":{"file_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/blobs/:file_sha"},"getCommit":{"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/commits/:commit_sha"},"getRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:ref"},"getTag":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag_sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/tags/:tag_sha"},"getTree":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"recursive":{"enum":[1],"type":"integer"},"repo":{"required":true,"type":"string"},"tree_sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/trees/:tree_sha"},"listRefs":{"method":"GET","params":{"namespace":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:namespace"},"updateRef":{"method":"PATCH","params":{"force":{"type":"boolean"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:ref"}},"gitignore":{"getTemplate":{"method":"GET","params":{"name":{"required":true,"type":"string"}},"url":"/gitignore/templates/:name"},"listTemplates":{"method":"GET","params":{},"url":"/gitignore/templates"}},"interactions":{"addOrUpdateRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"PUT","params":{"limit":{"enum":["existing_users","contributors_only","collaborators_only"],"required":true,"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"addOrUpdateRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"PUT","params":{"limit":{"enum":["existing_users","contributors_only","collaborators_only"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"},"getRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"getRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"},"removeRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"DELETE","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"removeRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"}},"issues":{"addAssignees":{"method":"POST","params":{"assignees":{"type":"string[]"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/assignees"},"addLabels":{"method":"POST","params":{"issue_number":{"required":true,"type":"integer"},"labels":{"required":true,"type":"string[]"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"checkAssignee":{"method":"GET","params":{"assignee":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/assignees/:assignee"},"create":{"method":"POST","params":{"assignee":{"type":"string"},"assignees":{"type":"string[]"},"body":{"type":"string"},"labels":{"type":"string[]"},"milestone":{"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/comments"},"createLabel":{"method":"POST","params":{"color":{"required":true,"type":"string"},"description":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels"},"createMilestone":{"method":"POST","params":{"description":{"type":"string"},"due_on":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"deleteLabel":{"method":"DELETE","params":{"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:name"},"deleteMilestone":{"method":"DELETE","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"},"get":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"getEvent":{"method":"GET","params":{"event_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/events/:event_id"},"getLabel":{"method":"GET","params":{"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:name"},"getMilestone":{"method":"GET","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"},"list":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/issues"},"listAssignees":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/assignees"},"listComments":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/comments"},"listCommentsForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/issues/comments"},"listEvents":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/events"},"listEventsForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/events"},"listEventsForTimeline":{"headers":{"accept":"application/vnd.github.mockingbird-preview+json"},"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/timeline"},"listForAuthenticatedUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/user/issues"},"listForOrg":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/orgs/:org/issues"},"listForRepo":{"method":"GET","params":{"assignee":{"type":"string"},"creator":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"labels":{"type":"string"},"mentioned":{"type":"string"},"milestone":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/issues"},"listLabelsForMilestone":{"method":"GET","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number/labels"},"listLabelsForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels"},"listLabelsOnIssue":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"listMilestonesForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["due_on","completeness"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/milestones"},"lock":{"method":"PUT","params":{"issue_number":{"required":true,"type":"integer"},"lock_reason":{"enum":["off-topic","too heated","resolved","spam"],"type":"string"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/lock"},"removeAssignees":{"method":"DELETE","params":{"assignees":{"type":"string[]"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/assignees"},"removeLabel":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"name":{"required":true,"type":"string"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels/:name"},"removeLabels":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"replaceLabels":{"method":"PUT","params":{"issue_number":{"required":true,"type":"integer"},"labels":{"type":"string[]"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"unlock":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/lock"},"update":{"method":"PATCH","params":{"assignee":{"type":"string"},"assignees":{"type":"string[]"},"body":{"type":"string"},"issue_number":{"required":true,"type":"integer"},"labels":{"type":"string[]"},"milestone":{"allowNull":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"updateLabel":{"method":"PATCH","params":{"color":{"type":"string"},"current_name":{"required":true,"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:current_name"},"updateMilestone":{"method":"PATCH","params":{"description":{"type":"string"},"due_on":{"type":"string"},"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"}},"licenses":{"get":{"method":"GET","params":{"license":{"required":true,"type":"string"}},"url":"/licenses/:license"},"getForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/license"},"list":{"deprecated":"octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)","method":"GET","params":{},"url":"/licenses"},"listCommonlyUsed":{"method":"GET","params":{},"url":"/licenses"}},"markdown":{"render":{"method":"POST","params":{"context":{"type":"string"},"mode":{"enum":["markdown","gfm"],"type":"string"},"text":{"required":true,"type":"string"}},"url":"/markdown"},"renderRaw":{"headers":{"content-type":"text/plain; charset=utf-8"},"method":"POST","params":{"data":{"mapTo":"data","required":true,"type":"string"}},"url":"/markdown/raw"}},"meta":{"get":{"method":"GET","params":{},"url":"/meta"}},"migrations":{"cancelImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import"},"deleteArchiveForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id/archive"},"deleteArchiveForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/archive"},"getArchiveForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id/archive"},"getArchiveForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/archive"},"getCommitAuthors":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/import/authors"},"getImportProgress":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import"},"getLargeFiles":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/large_files"},"getStatusForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id"},"getStatusForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id"},"listForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/migrations"},"listForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/migrations"},"mapCommitAuthor":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"author_id":{"required":true,"type":"integer"},"email":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/authors/:author_id"},"setLfsPreference":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"use_lfs":{"enum":["opt_in","opt_out"],"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/lfs"},"startForAuthenticatedUser":{"method":"POST","params":{"exclude_attachments":{"type":"boolean"},"lock_repositories":{"type":"boolean"},"repositories":{"required":true,"type":"string[]"}},"url":"/user/migrations"},"startForOrg":{"method":"POST","params":{"exclude_attachments":{"type":"boolean"},"lock_repositories":{"type":"boolean"},"org":{"required":true,"type":"string"},"repositories":{"required":true,"type":"string[]"}},"url":"/orgs/:org/migrations"},"startImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tfvc_project":{"type":"string"},"vcs":{"enum":["subversion","git","mercurial","tfvc"],"type":"string"},"vcs_password":{"type":"string"},"vcs_url":{"required":true,"type":"string"},"vcs_username":{"type":"string"}},"url":"/repos/:owner/:repo/import"},"unlockRepoForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"repo_name":{"required":true,"type":"string"}},"url":"/user/migrations/:migration_id/repos/:repo_name/lock"},"unlockRepoForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"},"repo_name":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"},"updateImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"vcs_password":{"type":"string"},"vcs_username":{"type":"string"}},"url":"/repos/:owner/:repo/import"}},"oauthAuthorizations":{"checkAuthorization":{"method":"GET","params":{"access_token":{"required":true,"type":"string"},"client_id":{"required":true,"type":"string"}},"url":"/applications/:client_id/tokens/:access_token"},"createAuthorization":{"method":"POST","params":{"client_id":{"type":"string"},"client_secret":{"type":"string"},"fingerprint":{"type":"string"},"note":{"required":true,"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations"},"deleteAuthorization":{"method":"DELETE","params":{"authorization_id":{"required":true,"type":"integer"}},"url":"/authorizations/:authorization_id"},"deleteGrant":{"method":"DELETE","params":{"grant_id":{"required":true,"type":"integer"}},"url":"/applications/grants/:grant_id"},"getAuthorization":{"method":"GET","params":{"authorization_id":{"required":true,"type":"integer"}},"url":"/authorizations/:authorization_id"},"getGrant":{"method":"GET","params":{"grant_id":{"required":true,"type":"integer"}},"url":"/applications/grants/:grant_id"},"getOrCreateAuthorizationForApp":{"method":"PUT","params":{"client_id":{"required":true,"type":"string"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations/clients/:client_id"},"getOrCreateAuthorizationForAppAndFingerprint":{"method":"PUT","params":{"client_id":{"required":true,"type":"string"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"required":true,"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations/clients/:client_id/:fingerprint"},"getOrCreateAuthorizationForAppFingerprint":{"deprecated":"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)","method":"PUT","params":{"client_id":{"required":true,"type":"string"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"required":true,"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations/clients/:client_id/:fingerprint"},"listAuthorizations":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/authorizations"},"listGrants":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/applications/grants"},"resetAuthorization":{"method":"POST","params":{"access_token":{"required":true,"type":"string"},"client_id":{"required":true,"type":"string"}},"url":"/applications/:client_id/tokens/:access_token"},"revokeAuthorizationForApplication":{"method":"DELETE","params":{"access_token":{"required":true,"type":"string"},"client_id":{"required":true,"type":"string"}},"url":"/applications/:client_id/tokens/:access_token"},"revokeGrantForApplication":{"method":"DELETE","params":{"access_token":{"required":true,"type":"string"},"client_id":{"required":true,"type":"string"}},"url":"/applications/:client_id/grants/:access_token"},"updateAuthorization":{"method":"PATCH","params":{"add_scopes":{"type":"string[]"},"authorization_id":{"required":true,"type":"integer"},"fingerprint":{"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"remove_scopes":{"type":"string[]"},"scopes":{"type":"string[]"}},"url":"/authorizations/:authorization_id"}},"orgs":{"addOrUpdateMembership":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"role":{"enum":["admin","member"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"blockUser":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"checkBlockedUser":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"checkMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/members/:username"},"checkPublicMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"concealMembership":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"convertMemberToOutsideCollaborator":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/outside_collaborators/:username"},"createHook":{"method":"POST","params":{"active":{"type":"boolean"},"config":{"required":true,"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks"},"createInvitation":{"method":"POST","params":{"email":{"type":"string"},"invitee_id":{"type":"integer"},"org":{"required":true,"type":"string"},"role":{"enum":["admin","direct_member","billing_manager"],"type":"string"},"team_ids":{"type":"integer[]"}},"url":"/orgs/:org/invitations"},"deleteHook":{"method":"DELETE","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"get":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org"},"getHook":{"method":"GET","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"getMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"getMembershipForAuthenticatedUser":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/user/memberships/orgs/:org"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/organizations"},"listBlockedUsers":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks"},"listForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/orgs"},"listForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/orgs"},"listHooks":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/hooks"},"listInvitationTeams":{"method":"GET","params":{"invitation_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/invitations/:invitation_id/teams"},"listMembers":{"method":"GET","params":{"filter":{"enum":["2fa_disabled","all"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"role":{"enum":["all","admin","member"],"type":"string"}},"url":"/orgs/:org/members"},"listMemberships":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["active","pending"],"type":"string"}},"url":"/user/memberships/orgs"},"listOutsideCollaborators":{"method":"GET","params":{"filter":{"enum":["2fa_disabled","all"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/outside_collaborators"},"listPendingInvitations":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/invitations"},"listPublicMembers":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/public_members"},"pingHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id/pings"},"publicizeMembership":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"removeMember":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/members/:username"},"removeMembership":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"removeOutsideCollaborator":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/outside_collaborators/:username"},"unblockUser":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"update":{"method":"PATCH","params":{"billing_email":{"type":"string"},"company":{"type":"string"},"default_repository_permission":{"enum":["read","write","admin","none"],"type":"string"},"description":{"type":"string"},"email":{"type":"string"},"has_organization_projects":{"type":"boolean"},"has_repository_projects":{"type":"boolean"},"location":{"type":"string"},"members_allowed_repository_creation_type":{"enum":["all","private","none"],"type":"string"},"members_can_create_repositories":{"type":"boolean"},"name":{"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org"},"updateHook":{"method":"PATCH","params":{"active":{"type":"boolean"},"config":{"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"updateMembership":{"method":"PATCH","params":{"org":{"required":true,"type":"string"},"state":{"enum":["active"],"required":true,"type":"string"}},"url":"/user/memberships/orgs/:org"}},"projects":{"addCollaborator":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PUT","params":{"permission":{"enum":["read","write","admin"],"type":"string"},"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username"},"createCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"column_id":{"required":true,"type":"integer"},"content_id":{"type":"integer"},"content_type":{"type":"string"},"note":{"type":"string"}},"url":"/projects/columns/:column_id/cards"},"createColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"name":{"required":true,"type":"string"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/columns"},"createForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/projects"},"createForOrg":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/projects"},"createForRepo":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/projects"},"delete":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id"},"deleteCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"card_id":{"required":true,"type":"integer"}},"url":"/projects/columns/cards/:card_id"},"deleteColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"column_id":{"required":true,"type":"integer"}},"url":"/projects/columns/:column_id"},"get":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id"},"getCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"card_id":{"required":true,"type":"integer"}},"url":"/projects/columns/cards/:card_id"},"getColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"column_id":{"required":true,"type":"integer"}},"url":"/projects/columns/:column_id"},"listCards":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"archived_state":{"enum":["all","archived","not_archived"],"type":"string"},"column_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/projects/columns/:column_id/cards"},"listCollaborators":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"affiliation":{"enum":["outside","direct","all"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/collaborators"},"listColumns":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/columns"},"listForOrg":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/orgs/:org/projects"},"listForRepo":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/projects"},"listForUser":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["open","closed","all"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/projects"},"moveCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"card_id":{"required":true,"type":"integer"},"column_id":{"type":"integer"},"position":{"required":true,"type":"string","validation":"^(top|bottom|after:\\d+)$"}},"url":"/projects/columns/cards/:card_id/moves"},"moveColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"column_id":{"required":true,"type":"integer"},"position":{"required":true,"type":"string","validation":"^(first|last|after:\\d+)$"}},"url":"/projects/columns/:column_id/moves"},"removeCollaborator":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username"},"reviewUserPermissionLevel":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username/permission"},"update":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"body":{"type":"string"},"name":{"type":"string"},"organization_permission":{"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"private":{"type":"boolean"},"project_id":{"required":true,"type":"integer"},"state":{"enum":["open","closed"],"type":"string"}},"url":"/projects/:project_id"},"updateCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"archived":{"type":"boolean"},"card_id":{"required":true,"type":"integer"},"note":{"type":"string"}},"url":"/projects/columns/cards/:card_id"},"updateColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"column_id":{"required":true,"type":"integer"},"name":{"required":true,"type":"string"}},"url":"/projects/columns/:column_id"}},"pulls":{"checkIfMerged":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/merge"},"create":{"method":"POST","params":{"base":{"required":true,"type":"string"},"body":{"type":"string"},"draft":{"type":"boolean"},"head":{"required":true,"type":"string"},"maintainer_can_modify":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"commit_id":{"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"position":{"required":true,"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"createCommentReply":{"method":"POST","params":{"body":{"required":true,"type":"string"},"in_reply_to":{"required":true,"type":"integer"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"createFromIssue":{"method":"POST","params":{"base":{"required":true,"type":"string"},"draft":{"type":"boolean"},"head":{"required":true,"type":"string"},"issue":{"required":true,"type":"integer"},"maintainer_can_modify":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"createReview":{"method":"POST","params":{"body":{"type":"string"},"comments":{"type":"object[]"},"comments[].body":{"required":true,"type":"string"},"comments[].path":{"required":true,"type":"string"},"comments[].position":{"required":true,"type":"integer"},"commit_id":{"type":"string"},"event":{"enum":["APPROVE","REQUEST_CHANGES","COMMENT"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews"},"createReviewRequest":{"method":"POST","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"reviewers":{"type":"string[]"},"team_reviewers":{"type":"string[]"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"deletePendingReview":{"method":"DELETE","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"},"deleteReviewRequest":{"method":"DELETE","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"reviewers":{"type":"string[]"},"team_reviewers":{"type":"string[]"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"dismissReview":{"method":"PUT","params":{"message":{"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"},"get":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"getCommentsForReview":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"},"getReview":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"},"list":{"method":"GET","params":{"base":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"head":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["created","updated","popularity","long-running"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"listComments":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"listCommentsForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments"},"listCommits":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/commits"},"listFiles":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/files"},"listReviewRequests":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"listReviews":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews"},"merge":{"method":"PUT","params":{"commit_message":{"type":"string"},"commit_title":{"type":"string"},"merge_method":{"enum":["merge","squash","rebase"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/merge"},"submitReview":{"method":"POST","params":{"body":{"type":"string"},"event":{"enum":["APPROVE","REQUEST_CHANGES","COMMENT"],"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"},"update":{"method":"PATCH","params":{"base":{"type":"string"},"body":{"type":"string"},"maintainer_can_modify":{"type":"boolean"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number"},"updateBranch":{"headers":{"accept":"application/vnd.github.lydian-preview+json"},"method":"PUT","params":{"expected_head_sha":{"type":"string"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/update-branch"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"updateReview":{"method":"PUT","params":{"body":{"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"}},"rateLimit":{"get":{"method":"GET","params":{},"url":"/rate_limit"}},"reactions":{"createForCommitComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id/reactions"},"createForIssue":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/reactions"},"createForIssueComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id/reactions"},"createForPullRequestReviewComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id/reactions"},"createForTeamDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/reactions"},"createForTeamDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_number":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"},"delete":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"DELETE","params":{"reaction_id":{"required":true,"type":"integer"}},"url":"/reactions/:reaction_id"},"listForCommitComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id/reactions"},"listForIssue":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/reactions"},"listForIssueComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id/reactions"},"listForPullRequestReviewComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id/reactions"},"listForTeamDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/reactions"},"listForTeamDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_number":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"}},"repos":{"acceptInvitation":{"method":"PATCH","params":{"invitation_id":{"required":true,"type":"integer"}},"url":"/user/repository_invitations/:invitation_id"},"addCollaborator":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"permission":{"enum":["pull","push","admin"],"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"addDeployKey":{"method":"POST","params":{"key":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"read_only":{"type":"boolean"},"repo":{"required":true,"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/keys"},"addProtectedBranchAdminEnforcement":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"addProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"addProtectedBranchRequiredStatusChecksContexts":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"addProtectedBranchTeamRestrictions":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"addProtectedBranchUserRestrictions":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"checkCollaborator":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"checkVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"compareCommits":{"method":"GET","params":{"base":{"required":true,"type":"string"},"head":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/compare/:base...:head"},"createCommitComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"commit_sha":{"required":true,"type":"string"},"line":{"type":"integer"},"owner":{"required":true,"type":"string"},"path":{"type":"string"},"position":{"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"alias":"commit_sha","deprecated":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/comments"},"createDeployment":{"method":"POST","params":{"auto_merge":{"type":"boolean"},"description":{"type":"string"},"environment":{"type":"string"},"owner":{"required":true,"type":"string"},"payload":{"type":"string"},"production_environment":{"type":"boolean"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"required_contexts":{"type":"string[]"},"task":{"type":"string"},"transient_environment":{"type":"boolean"}},"url":"/repos/:owner/:repo/deployments"},"createDeploymentStatus":{"method":"POST","params":{"auto_inactive":{"type":"boolean"},"deployment_id":{"required":true,"type":"integer"},"description":{"type":"string"},"environment":{"enum":["production","staging","qa"],"type":"string"},"environment_url":{"type":"string"},"log_url":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["error","failure","inactive","in_progress","queued","pending","success"],"required":true,"type":"string"},"target_url":{"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses"},"createFile":{"deprecated":"octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)","method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"createForAuthenticatedUser":{"method":"POST","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"auto_init":{"type":"boolean"},"description":{"type":"string"},"gitignore_template":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"license_template":{"type":"string"},"name":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"type":"integer"}},"url":"/user/repos"},"createFork":{"method":"POST","params":{"organization":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/forks"},"createHook":{"method":"POST","params":{"active":{"type":"boolean"},"config":{"required":true,"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks"},"createInOrg":{"method":"POST","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"auto_init":{"type":"boolean"},"description":{"type":"string"},"gitignore_template":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"license_template":{"type":"string"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"type":"integer"}},"url":"/orgs/:org/repos"},"createOrUpdateFile":{"method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"createRelease":{"method":"POST","params":{"body":{"type":"string"},"draft":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"prerelease":{"type":"boolean"},"repo":{"required":true,"type":"string"},"tag_name":{"required":true,"type":"string"},"target_commitish":{"type":"string"}},"url":"/repos/:owner/:repo/releases"},"createStatus":{"method":"POST","params":{"context":{"type":"string"},"description":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"},"state":{"enum":["error","failure","pending","success"],"required":true,"type":"string"},"target_url":{"type":"string"}},"url":"/repos/:owner/:repo/statuses/:sha"},"createUsingTemplate":{"headers":{"accept":"application/vnd.github.baptiste-preview+json"},"method":"POST","params":{"description":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"type":"string"},"private":{"type":"boolean"},"template_owner":{"required":true,"type":"string"},"template_repo":{"required":true,"type":"string"}},"url":"/repos/:template_owner/:template_repo/generate"},"declineInvitation":{"method":"DELETE","params":{"invitation_id":{"required":true,"type":"integer"}},"url":"/user/repository_invitations/:invitation_id"},"delete":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"deleteCommitComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"deleteDownload":{"method":"DELETE","params":{"download_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads/:download_id"},"deleteFile":{"method":"DELETE","params":{"author":{"type":"object"},"author.email":{"type":"string"},"author.name":{"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"type":"string"},"committer.name":{"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"deleteHook":{"method":"DELETE","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"deleteInvitation":{"method":"DELETE","params":{"invitation_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations/:invitation_id"},"deleteRelease":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"deleteReleaseAsset":{"method":"DELETE","params":{"asset_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"disableAutomatedSecurityFixes":{"headers":{"accept":"application/vnd.github.london-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/automated-security-fixes"},"disablePagesSite":{"headers":{"accept":"application/vnd.github.switcheroo-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages"},"disableVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"enableAutomatedSecurityFixes":{"headers":{"accept":"application/vnd.github.london-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/automated-security-fixes"},"enablePagesSite":{"headers":{"accept":"application/vnd.github.switcheroo-preview+json"},"method":"POST","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"source":{"type":"object"},"source.branch":{"enum":["master","gh-pages"],"type":"string"},"source.path":{"type":"string"}},"url":"/repos/:owner/:repo/pages"},"enableVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"get":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"getArchiveLink":{"method":"GET","params":{"archive_format":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/:archive_format/:ref"},"getBranch":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch"},"getBranchProtection":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"getClones":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"per":{"enum":["day","week"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/clones"},"getCodeFrequencyStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/code_frequency"},"getCollaboratorPermissionLevel":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username/permission"},"getCombinedStatusForRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/status"},"getCommit":{"method":"GET","params":{"commit_sha":{"alias":"ref","deprecated":true,"type":"string"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"alias":"commit_sha","deprecated":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref"},"getCommitActivityStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/commit_activity"},"getCommitComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"getCommitRefSha":{"deprecated":"\"Get the SHA-1 of a commit reference\" will be removed. Use \"Get a single commit\" instead with media type format set to \"sha\" instead.","method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref"},"getContents":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"getContributorsStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/contributors"},"getDeployKey":{"method":"GET","params":{"key_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys/:key_id"},"getDeployment":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id"},"getDeploymentStatus":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"status_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"},"getDownload":{"method":"GET","params":{"download_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads/:download_id"},"getHook":{"method":"GET","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"getLatestPagesBuild":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds/latest"},"getLatestRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/latest"},"getPages":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages"},"getPagesBuild":{"method":"GET","params":{"build_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds/:build_id"},"getParticipationStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/participation"},"getProtectedBranchAdminEnforcement":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"getProtectedBranchPullRequestReviewEnforcement":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"getProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"getProtectedBranchRequiredStatusChecks":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"getProtectedBranchRestrictions":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions"},"getPunchCardStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/punch_card"},"getReadme":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/readme"},"getRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"getReleaseAsset":{"method":"GET","params":{"asset_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"getReleaseByTag":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/tags/:tag"},"getTopPaths":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/popular/paths"},"getTopReferrers":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/popular/referrers"},"getViews":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"per":{"enum":["day","week"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/views"},"list":{"method":"GET","params":{"affiliation":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","owner","public","private","member"],"type":"string"},"visibility":{"enum":["all","public","private"],"type":"string"}},"url":"/user/repos"},"listAssetsForRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id/assets"},"listBranches":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"protected":{"type":"boolean"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches"},"listBranchesForHeadCommit":{"headers":{"accept":"application/vnd.github.groot-preview+json"},"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/branches-where-head"},"listCollaborators":{"method":"GET","params":{"affiliation":{"enum":["outside","direct","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators"},"listCommentsForCommit":{"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"alias":"commit_sha","deprecated":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/comments"},"listCommitComments":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments"},"listCommits":{"method":"GET","params":{"author":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"path":{"type":"string"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"},"since":{"type":"string"},"until":{"type":"string"}},"url":"/repos/:owner/:repo/commits"},"listContributors":{"method":"GET","params":{"anon":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contributors"},"listDeployKeys":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys"},"listDeploymentStatuses":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses"},"listDeployments":{"method":"GET","params":{"environment":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"},"task":{"type":"string"}},"url":"/repos/:owner/:repo/deployments"},"listDownloads":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads"},"listForOrg":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","public","private","forks","sources","member"],"type":"string"}},"url":"/orgs/:org/repos"},"listForUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","owner","member"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/repos"},"listForks":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["newest","oldest","stargazers"],"type":"string"}},"url":"/repos/:owner/:repo/forks"},"listHooks":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks"},"listInvitations":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations"},"listInvitationsForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/repository_invitations"},"listLanguages":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/languages"},"listPagesBuilds":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds"},"listProtectedBranchRequiredStatusChecksContexts":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"listProtectedBranchTeamRestrictions":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"listProtectedBranchUserRestrictions":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"listPublic":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/repositories"},"listPullRequestsAssociatedWithCommit":{"headers":{"accept":"application/vnd.github.groot-preview+json"},"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/pulls"},"listReleases":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases"},"listStatusesForRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/statuses"},"listTags":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/tags"},"listTeams":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/teams"},"listTopics":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/topics"},"merge":{"method":"POST","params":{"base":{"required":true,"type":"string"},"commit_message":{"type":"string"},"head":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/merges"},"pingHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id/pings"},"removeBranchProtection":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"removeCollaborator":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"removeDeployKey":{"method":"DELETE","params":{"key_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys/:key_id"},"removeProtectedBranchAdminEnforcement":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"removeProtectedBranchPullRequestReviewEnforcement":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"removeProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"removeProtectedBranchRequiredStatusChecks":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"removeProtectedBranchRequiredStatusChecksContexts":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"removeProtectedBranchRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions"},"removeProtectedBranchTeamRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"removeProtectedBranchUserRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"replaceProtectedBranchRequiredStatusChecksContexts":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"replaceProtectedBranchTeamRestrictions":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"replaceProtectedBranchUserRestrictions":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"replaceTopics":{"method":"PUT","params":{"names":{"required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/topics"},"requestPageBuild":{"headers":{"accept":"application/vnd.github.mister-fantastic-preview+json"},"method":"POST","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds"},"retrieveCommunityProfileMetrics":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/community/profile"},"testPushHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id/tests"},"transfer":{"headers":{"accept":"application/vnd.github.nightshade-preview+json"},"method":"POST","params":{"new_owner":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_ids":{"type":"integer[]"}},"url":"/repos/:owner/:repo/transfer"},"update":{"method":"PATCH","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"archived":{"type":"boolean"},"default_branch":{"type":"string"},"description":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"private":{"type":"boolean"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"updateBranchProtection":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"enforce_admins":{"allowNull":true,"required":true,"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"required_pull_request_reviews":{"allowNull":true,"required":true,"type":"object"},"required_pull_request_reviews.dismiss_stale_reviews":{"type":"boolean"},"required_pull_request_reviews.dismissal_restrictions":{"type":"object"},"required_pull_request_reviews.dismissal_restrictions.teams":{"type":"string[]"},"required_pull_request_reviews.dismissal_restrictions.users":{"type":"string[]"},"required_pull_request_reviews.require_code_owner_reviews":{"type":"boolean"},"required_pull_request_reviews.required_approving_review_count":{"type":"integer"},"required_status_checks":{"allowNull":true,"required":true,"type":"object"},"required_status_checks.contexts":{"required":true,"type":"string[]"},"required_status_checks.strict":{"required":true,"type":"boolean"},"restrictions":{"allowNull":true,"required":true,"type":"object"},"restrictions.teams":{"type":"string[]"},"restrictions.users":{"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"updateCommitComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"updateFile":{"deprecated":"octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)","method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"updateHook":{"method":"PATCH","params":{"active":{"type":"boolean"},"add_events":{"type":"string[]"},"config":{"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"remove_events":{"type":"string[]"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"updateInformationAboutPagesSite":{"method":"PUT","params":{"cname":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"source":{"enum":["\"gh-pages\"","\"master\"","\"master /docs\""],"type":"string"}},"url":"/repos/:owner/:repo/pages"},"updateInvitation":{"method":"PATCH","params":{"invitation_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"permissions":{"enum":["read","write","admin"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations/:invitation_id"},"updateProtectedBranchPullRequestReviewEnforcement":{"method":"PATCH","params":{"branch":{"required":true,"type":"string"},"dismiss_stale_reviews":{"type":"boolean"},"dismissal_restrictions":{"type":"object"},"dismissal_restrictions.teams":{"type":"string[]"},"dismissal_restrictions.users":{"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"require_code_owner_reviews":{"type":"boolean"},"required_approving_review_count":{"type":"integer"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"updateProtectedBranchRequiredStatusChecks":{"method":"PATCH","params":{"branch":{"required":true,"type":"string"},"contexts":{"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"strict":{"type":"boolean"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"updateRelease":{"method":"PATCH","params":{"body":{"type":"string"},"draft":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"prerelease":{"type":"boolean"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"tag_name":{"type":"string"},"target_commitish":{"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"updateReleaseAsset":{"method":"PATCH","params":{"asset_id":{"required":true,"type":"integer"},"label":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"uploadReleaseAsset":{"method":"POST","params":{"file":{"mapTo":"data","required":true,"type":"string | object"},"headers":{"required":true,"type":"object"},"headers.content-length":{"required":true,"type":"integer"},"headers.content-type":{"required":true,"type":"string"},"label":{"type":"string"},"name":{"required":true,"type":"string"},"url":{"required":true,"type":"string"}},"url":":url"}},"search":{"code":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["indexed"],"type":"string"}},"url":"/search/code"},"commits":{"headers":{"accept":"application/vnd.github.cloak-preview+json"},"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["author-date","committer-date"],"type":"string"}},"url":"/search/commits"},"issues":{"deprecated":"octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)","method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["comments","reactions","reactions-+1","reactions--1","reactions-smile","reactions-thinking_face","reactions-heart","reactions-tada","interactions","created","updated"],"type":"string"}},"url":"/search/issues"},"issuesAndPullRequests":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["comments","reactions","reactions-+1","reactions--1","reactions-smile","reactions-thinking_face","reactions-heart","reactions-tada","interactions","created","updated"],"type":"string"}},"url":"/search/issues"},"labels":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"q":{"required":true,"type":"string"},"repository_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/search/labels"},"repos":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["stars","forks","help-wanted-issues","updated"],"type":"string"}},"url":"/search/repositories"},"topics":{"method":"GET","params":{"q":{"required":true,"type":"string"}},"url":"/search/topics"},"users":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["followers","repositories","joined"],"type":"string"}},"url":"/search/users"}},"teams":{"addMember":{"method":"PUT","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"addOrUpdateMembership":{"method":"PUT","params":{"role":{"enum":["member","maintainer"],"type":"string"},"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"addOrUpdateProject":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PUT","params":{"permission":{"enum":["read","write","admin"],"type":"string"},"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"addOrUpdateRepo":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"permission":{"enum":["pull","push","admin"],"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"checkManagesRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"create":{"method":"POST","params":{"description":{"type":"string"},"maintainers":{"type":"string[]"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"},"parent_team_id":{"type":"integer"},"permission":{"enum":["pull","push","admin"],"type":"string"},"privacy":{"enum":["secret","closed"],"type":"string"},"repo_names":{"type":"string[]"}},"url":"/orgs/:org/teams"},"createDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"POST","params":{"body":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"required":true,"type":"integer"},"title":{"required":true,"type":"string"}},"url":"/teams/:team_id/discussions"},"createDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"POST","params":{"body":{"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments"},"delete":{"method":"DELETE","params":{"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"deleteDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"DELETE","params":{"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number"},"deleteDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"DELETE","params":{"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"},"get":{"method":"GET","params":{"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"getByName":{"method":"GET","params":{"org":{"required":true,"type":"string"},"team_slug":{"required":true,"type":"string"}},"url":"/orgs/:org/teams/:team_slug"},"getDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number"},"getDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"},"getMember":{"method":"GET","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"getMembership":{"method":"GET","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"list":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/teams"},"listChild":{"headers":{"accept":"application/vnd.github.hellcat-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/teams"},"listDiscussionComments":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments"},"listDiscussions":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions"},"listForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/teams"},"listMembers":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"role":{"enum":["member","maintainer","all"],"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/members"},"listPendingInvitations":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/invitations"},"listProjects":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects"},"listRepos":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos"},"removeMember":{"method":"DELETE","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"removeMembership":{"method":"DELETE","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"removeProject":{"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"removeRepo":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"reviewProject":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"update":{"method":"PATCH","params":{"description":{"type":"string"},"name":{"required":true,"type":"string"},"parent_team_id":{"type":"integer"},"permission":{"enum":["pull","push","admin"],"type":"string"},"privacy":{"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"updateDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"PATCH","params":{"body":{"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"},"title":{"type":"string"}},"url":"/teams/:team_id/discussions/:discussion_number"},"updateDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"}},"users":{"addEmails":{"method":"POST","params":{"emails":{"required":true,"type":"string[]"}},"url":"/user/emails"},"block":{"method":"PUT","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"checkBlocked":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"checkFollowing":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"checkFollowingForUser":{"method":"GET","params":{"target_user":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/following/:target_user"},"createGpgKey":{"method":"POST","params":{"armored_public_key":{"type":"string"}},"url":"/user/gpg_keys"},"createPublicKey":{"method":"POST","params":{"key":{"type":"string"},"title":{"type":"string"}},"url":"/user/keys"},"deleteEmails":{"method":"DELETE","params":{"emails":{"required":true,"type":"string[]"}},"url":"/user/emails"},"deleteGpgKey":{"method":"DELETE","params":{"gpg_key_id":{"required":true,"type":"integer"}},"url":"/user/gpg_keys/:gpg_key_id"},"deletePublicKey":{"method":"DELETE","params":{"key_id":{"required":true,"type":"integer"}},"url":"/user/keys/:key_id"},"follow":{"method":"PUT","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"getAuthenticated":{"method":"GET","params":{},"url":"/user"},"getByUsername":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username"},"getContextForUser":{"headers":{"accept":"application/vnd.github.hagar-preview+json"},"method":"GET","params":{"subject_id":{"type":"string"},"subject_type":{"enum":["organization","repository","issue","pull_request"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/hovercard"},"getGpgKey":{"method":"GET","params":{"gpg_key_id":{"required":true,"type":"integer"}},"url":"/user/gpg_keys/:gpg_key_id"},"getPublicKey":{"method":"GET","params":{"key_id":{"required":true,"type":"integer"}},"url":"/user/keys/:key_id"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/users"},"listBlocked":{"method":"GET","params":{},"url":"/user/blocks"},"listEmails":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/emails"},"listFollowersForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/followers"},"listFollowersForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/followers"},"listFollowingForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/following"},"listFollowingForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/following"},"listGpgKeys":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/gpg_keys"},"listGpgKeysForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/gpg_keys"},"listPublicEmails":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/public_emails"},"listPublicKeys":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/keys"},"listPublicKeysForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/keys"},"togglePrimaryEmailVisibility":{"method":"PATCH","params":{"email":{"required":true,"type":"string"},"visibility":{"required":true,"type":"string"}},"url":"/user/email/visibility"},"unblock":{"method":"DELETE","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"unfollow":{"method":"DELETE","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"updateAuthenticated":{"method":"PATCH","params":{"bio":{"type":"string"},"blog":{"type":"string"},"company":{"type":"string"},"email":{"type":"string"},"hireable":{"type":"boolean"},"location":{"type":"string"},"name":{"type":"string"}},"url":"/user"}}}; + +/***/ }), + +/***/ 714: +/***/ (function(module) { + +(function (root, factory) { + if (true) { + module.exports = factory(); + } else {} +}(this, function () { + /** + * @constructor + */ + function UrlTemplate() { + } + + /** + * @private + * @param {string} str + * @return {string} + */ + UrlTemplate.prototype.encodeReserved = function (str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, '[').replace(/%5D/g, ']'); + } + return part; + }).join(''); + }; + + /** + * @private + * @param {string} str + * @return {string} + */ + UrlTemplate.prototype.encodeUnreserved = function (str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return '%' + c.charCodeAt(0).toString(16).toUpperCase(); + }); + } + + /** + * @private + * @param {string} operator + * @param {string} value + * @param {string} key + * @return {string} + */ + UrlTemplate.prototype.encodeValue = function (operator, value, key) { + value = (operator === '+' || operator === '#') ? this.encodeReserved(value) : this.encodeUnreserved(value); + + if (key) { + return this.encodeUnreserved(key) + '=' + value; + } else { + return value; + } + }; + + /** + * @private + * @param {*} value + * @return {boolean} + */ + UrlTemplate.prototype.isDefined = function (value) { + return value !== undefined && value !== null; + }; + + /** + * @private + * @param {string} + * @return {boolean} + */ + UrlTemplate.prototype.isKeyOperator = function (operator) { + return operator === ';' || operator === '&' || operator === '?'; + }; + + /** + * @private + * @param {Object} context + * @param {string} operator + * @param {string} key + * @param {string} modifier + */ + UrlTemplate.prototype.getValues = function (context, operator, key, modifier) { + var value = context[key], + result = []; + + if (this.isDefined(value) && value !== '') { + if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') { + value = value.toString(); + + if (modifier && modifier !== '*') { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null)); + } else { + if (modifier === '*') { + if (Array.isArray(value)) { + value.filter(this.isDefined).forEach(function (value) { + result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null)); + }, this); + } else { + Object.keys(value).forEach(function (k) { + if (this.isDefined(value[k])) { + result.push(this.encodeValue(operator, value[k], k)); + } + }, this); + } + } else { + var tmp = []; + + if (Array.isArray(value)) { + value.filter(this.isDefined).forEach(function (value) { + tmp.push(this.encodeValue(operator, value)); + }, this); + } else { + Object.keys(value).forEach(function (k) { + if (this.isDefined(value[k])) { + tmp.push(this.encodeUnreserved(k)); + tmp.push(this.encodeValue(operator, value[k].toString())); + } + }, this); + } + + if (this.isKeyOperator(operator)) { + result.push(this.encodeUnreserved(key) + '=' + tmp.join(',')); + } else if (tmp.length !== 0) { + result.push(tmp.join(',')); + } + } + } + } else { + if (operator === ';') { + if (this.isDefined(value)) { + result.push(this.encodeUnreserved(key)); + } + } else if (value === '' && (operator === '&' || operator === '?')) { + result.push(this.encodeUnreserved(key) + '='); + } else if (value === '') { + result.push(''); + } + } + return result; + }; + + /** + * @param {string} template + * @return {function(Object):string} + */ + UrlTemplate.prototype.parse = function (template) { + var that = this; + var operators = ['+', '#', '.', '/', ';', '?', '&']; + + return { + expand: function (context) { + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + var operator = null, + values = []; + + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push.apply(values, that.getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + + if (operator && operator !== '+') { + var separator = ','; + + if (operator === '?') { + separator = '&'; + } else if (operator !== '#') { + separator = operator; + } + return (values.length !== 0 ? operator : '') + values.join(separator); + } else { + return values.join(','); + } + } else { + return that.encodeReserved(literal); + } + }); + } + }; + }; + + return new UrlTemplate(); +})); + + +/***/ }), + +/***/ 727: +/***/ (function(module) { + +"use strict"; + + +module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; + + +/***/ }), + +/***/ 732: +/***/ (function(module, __unusedexports, __webpack_require__) { + +/** + * Detect Electron renderer process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer') { + module.exports = __webpack_require__(235); +} else { + module.exports = __webpack_require__(738); +} + + +/***/ }), + +/***/ 736: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +/// +Object.defineProperty(exports, "__esModule", { value: true }); +var IncomingWebhook_1 = __webpack_require__(337); +exports.IncomingWebhook = IncomingWebhook_1.IncomingWebhook; +var errors_1 = __webpack_require__(353); +exports.ErrorCode = errors_1.ErrorCode; +//# sourceMappingURL=index.js.map + +/***/ }), + +/***/ 738: +/***/ (function(module, exports, __webpack_require__) { + +/** + * Module dependencies. + */ + +var tty = __webpack_require__(993); +var util = __webpack_require__(669); + +/** + * This is the Node.js implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = __webpack_require__(138); +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [ 6, 2, 3, 4, 5, 1 ]; + +try { + var supportsColor = __webpack_require__(247); + if (supportsColor && supportsColor.level >= 2) { + exports.colors = [ + 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, + 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, + 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 214, 215, 220, 221 + ]; + } +} catch (err) { + // swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(function (key) { + return /^debug_/i.test(key); +}).reduce(function (obj, key) { + // camel-case + var prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + + // coerce string value into JS value + var val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) val = true; + else if (/^(no|off|false|disabled)$/i.test(val)) val = false; + else if (val === 'null') val = null; + else val = Number(val); + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts + ? Boolean(exports.inspectOpts.colors) + : tty.isatty(process.stderr.fd); +} + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +exports.formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n').map(function(str) { + return str.trim() + }).join(' '); +}; + +/** + * Map %o to `util.inspect()`, allowing multiple lines if needed. + */ + +exports.formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + var name = this.namespace; + var useColors = this.useColors; + + if (useColors) { + var c = this.color; + var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); + var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } else { + return new Date().toISOString() + ' '; + } +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log() { + return process.stderr.write(util.format.apply(util, arguments) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + if (null == namespaces) { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } else { + process.env.DEBUG = namespaces; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init (debug) { + debug.inspectOpts = {}; + + var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +/** + * Enable namespaces listed in `process.env.DEBUG` initially. + */ + +exports.enable(load()); + + +/***/ }), + +/***/ 742: +/***/ (function(module, __unusedexports, __webpack_require__) { + +var fs = __webpack_require__(747) +var core +if (process.platform === 'win32' || global.TESTING_WINDOWS) { + core = __webpack_require__(818) +} else { + core = __webpack_require__(197) +} + +module.exports = isexe +isexe.sync = sync + +function isexe (path, options, cb) { + if (typeof options === 'function') { + cb = options + options = {} + } + + if (!cb) { + if (typeof Promise !== 'function') { + throw new TypeError('callback not provided') + } + + return new Promise(function (resolve, reject) { + isexe(path, options || {}, function (er, is) { + if (er) { + reject(er) + } else { + resolve(is) + } + }) + }) + } + + core(path, options || {}, function (er, is) { + // ignore EACCES because that just means we aren't allowed to run it + if (er) { + if (er.code === 'EACCES' || options && options.ignoreErrors) { + er = null + is = false + } + } + cb(er, is) + }) +} + +function sync (path, options) { + // my kingdom for a filtered catch + try { + return core.sync(path, options || {}) + } catch (er) { + if (options && options.ignoreErrors || er.code === 'EACCES') { + return false + } else { + throw er + } + } +} + + +/***/ }), + +/***/ 746: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getUserAgentNode + +const osName = __webpack_require__(2) + +function getUserAgentNode () { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})` + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return 'Windows ' + } + + throw error + } +} + + +/***/ }), + +/***/ 747: +/***/ (function(module) { + +module.exports = require("fs"); + +/***/ }), + +/***/ 753: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var endpoint = __webpack_require__(385); +var getUserAgent = _interopDefault(__webpack_require__(261)); +var isPlainObject = _interopDefault(__webpack_require__(696)); +var nodeFetch = _interopDefault(__webpack_require__(454)); +var requestError = __webpack_require__(463); + +const VERSION = "0.0.0-development"; + +function getBufferResponse(response) { + return response.arrayBuffer(); +} + +function fetchWrapper(requestOptions) { + if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { + requestOptions.body = JSON.stringify(requestOptions.body); + } + + let headers = {}; + let status; + let url; + const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; + return fetch(requestOptions.url, Object.assign({ + method: requestOptions.method, + body: requestOptions.body, + headers: requestOptions.headers, + redirect: requestOptions.redirect + }, requestOptions.request)).then(response => { + url = response.url; + status = response.status; + + for (const keyAndValue of response.headers) { + headers[keyAndValue[0]] = keyAndValue[1]; + } + + if (status === 204 || status === 205) { + return; + } // GitHub API returns 200 for HEAD requsets + + + if (requestOptions.method === "HEAD") { + if (status < 400) { + return; + } + + throw new requestError.RequestError(response.statusText, status, { + headers, + request: requestOptions + }); + } + + if (status === 304) { + throw new requestError.RequestError("Not modified", status, { + headers, + request: requestOptions + }); + } + + if (status >= 400) { + return response.text().then(message => { + const error = new requestError.RequestError(message, status, { + headers, + request: requestOptions + }); + + try { + Object.assign(error, JSON.parse(error.message)); + } catch (e) {// ignore, see octokit/rest.js#684 + } + + throw error; + }); + } + + const contentType = response.headers.get("content-type"); + + if (/application\/json/.test(contentType)) { + return response.json(); + } + + if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { + return response.text(); + } + + return getBufferResponse(response); + }).then(data => { + return { + status, + url, + headers, + data + }; + }).catch(error => { + if (error instanceof requestError.RequestError) { + throw error; + } + + throw new requestError.RequestError(error.message, 500, { + headers, + request: requestOptions + }); + }); +} + +function withDefaults(oldEndpoint, newDefaults) { + const endpoint = oldEndpoint.defaults(newDefaults); + + const newApi = function (route, parameters) { + const endpointOptions = endpoint.merge(route, parameters); + + if (!endpointOptions.request || !endpointOptions.request.hook) { + return fetchWrapper(endpoint.parse(endpointOptions)); + } + + const request = (route, parameters) => { + return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); + }; + + Object.assign(request, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); + return endpointOptions.request.hook(request, endpointOptions); + }; + + return Object.assign(newApi, { + endpoint, + defaults: withDefaults.bind(null, endpoint) + }); +} + +const request = withDefaults(endpoint.endpoint, { + headers: { + "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + } +}); + +exports.request = request; + + +/***/ }), + +/***/ 761: +/***/ (function(module) { + +module.exports = require("zlib"); + +/***/ }), + +/***/ 763: +/***/ (function(module) { + +module.exports = removeHook + +function removeHook (state, name, method) { + if (!state.registry[name]) { + return + } + + var index = state.registry[name] + .map(function (registered) { return registered.orig }) + .indexOf(method) + + if (index === -1) { + return + } + + state.registry[name].splice(index, 1) +} + + +/***/ }), + +/***/ 768: +/***/ (function(module) { + +"use strict"; + +module.exports = function (x) { + var lf = typeof x === 'string' ? '\n' : '\n'.charCodeAt(); + var cr = typeof x === 'string' ? '\r' : '\r'.charCodeAt(); + + if (x[x.length - 1] === lf) { + x = x.slice(0, x.length - 1); + } + + if (x[x.length - 1] === cr) { + x = x.slice(0, x.length - 1); + } + + return x; +}; + + +/***/ }), + +/***/ 774: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); +var normalizeHeaderName = __webpack_require__(411); + +var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' +}; + +function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } +} + +function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__(219); + } else if (typeof process !== 'undefined') { + // For node use HTTP adapter + adapter = __webpack_require__(670); + } + return adapter; +} + +var defaults = { + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Content-Type'); + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data)) { + setContentTypeIfUnset(headers, 'application/json;charset=utf-8'); + return JSON.stringify(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + /*eslint no-param-reassign:0*/ + if (typeof data === 'string') { + try { + data = JSON.parse(data); + } catch (e) { /* Ignore */ } + } + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } +}; + +defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } +}; + +utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); +}); + +module.exports = defaults; + + +/***/ }), + +/***/ 777: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const github = __importStar(__webpack_require__(469)); +const core = __importStar(__webpack_require__(470)); +const webhook_1 = __webpack_require__(736); +class Slack extends webhook_1.IncomingWebhook { + constructor(url, username, iconEmoji, channel) { + super(url, { username, icon_emoji: iconEmoji, channel }); + } + /** + * Get slack blocks UI + * @returns {SectionBlock} blocks + */ + get blocks() { + const context = github.context; + const { sha, eventName, workflow, ref } = context; + const { owner, repo } = context.repo; + const { number } = context.issue; + const repoUrl = `https://github.com/${owner}/${repo}`; + let actionUrl = repoUrl; + if (eventName === 'pull_request') { + actionUrl += `/pull/${number}/checks`; + } + else { + actionUrl += `/commit/${sha}/checks`; + } + const blocks = { + type: 'section', + fields: [ + { type: 'mrkdwn', text: `*repository*\n<${repoUrl}|${owner}/${repo}>` }, + { type: 'mrkdwn', text: `*ref*\n${ref}` }, + { type: 'mrkdwn', text: `*event name*\n${eventName}` }, + { type: 'mrkdwn', text: `*workflow*\n<${actionUrl}|${workflow}>` }, + ] + }; + return blocks; + } + /** + * Check if message mention is needed + * @param {string} mentionCondition - mention condition + * @param {string} status - job status + * @returns {boolean} + */ + isMention(mentionCondition, status) { + if (mentionCondition === 'always' || mentionCondition === status) { + return true; + } + return false; + } + /** + * Generate slack payload + * @param {string} jobName + * @param {string} mention + * @param {string} mentionCondition + * @param {string} status + * @returns {IncomingWebhookSendArguments} payload + */ + generatePayload(jobName, mention, mentionCondition, status) { + if (status === 'always') { + throw new Error('"always" cannot be specified with "type" parameter'); + } + const color = Slack.accessory[status]['color']; + const result = Slack.accessory[status]['result']; + const mentionText = this.isMention(mentionCondition, status) ? mention : ''; + let text = `${jobName} ${result}`; + if (mentionText !== '') { + text = ` ${text}`; + } + const attachments = { + color, + blocks: [this.blocks] + }; + const payload = { + text, + attachments: [attachments], + unfurl_links: true + }; + core.debug(`Generated payload for slack: ${JSON.stringify(payload)}`); + return payload; + } + /** + * Notify information about github actions to Slack + * @param {IncomingWebhookSendArguments} payload + * @returns {Promise} result + */ + notify(payload) { + return __awaiter(this, void 0, void 0, function* () { + try { + const result = yield this.send(payload); + core.debug('Sent message to Slack'); + return result; + } + catch (err) { + throw err; + } + }); + } +} +Slack.accessory = [ + { + failure: { + color: '#cb2431', + result: 'Failed' + } + }, + { + success: { + color: '#2cbe4e', + result: 'Succeeded' + } + }, + { + cancelled: { + color: '#ffc107', + result: 'Cancelled' + } + } +]; +exports.Slack = Slack; + + +/***/ }), + +/***/ 779: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var defaults = __webpack_require__(774); +var utils = __webpack_require__(35); +var InterceptorManager = __webpack_require__(283); +var dispatchRequest = __webpack_require__(946); + +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ +function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} + +/** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ +Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = utils.merge({ + url: arguments[0] + }, arguments[1]); + } + + config = utils.merge(defaults, {method: 'get'}, this.defaults, config); + config.method = config.method.toLowerCase(); + + // Hook up interceptors middleware + var chain = [dispatchRequest, undefined]; + var promise = Promise.resolve(config); + + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + chain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + chain.push(interceptor.fulfilled, interceptor.rejected); + }); + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; +}; + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url, + data: data + })); + }; +}); + +module.exports = Axios; + + +/***/ }), + +/***/ 794: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = getUserAgentNode + +const osName = __webpack_require__(2) + +function getUserAgentNode () { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})` + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return 'Windows ' + } + + throw error + } +} + + +/***/ }), + +/***/ 807: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = paginate + +const iterator = __webpack_require__(8) + +function paginate (octokit, route, options, mapFn) { + if (typeof options === 'function') { + mapFn = options + options = undefined + } + options = octokit.request.endpoint.merge(route, options) + return gather(octokit, [], iterator(octokit, options)[Symbol.asyncIterator](), mapFn) +} + +function gather (octokit, results, iterator, mapFn) { + return iterator.next() + .then(result => { + if (result.done) { + return results + } + + let earlyExit = false + function done () { + earlyExit = true + } + + results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data) + + if (earlyExit) { + return results + } + + return gather(octokit, results, iterator, mapFn) + }) +} + + +/***/ }), + +/***/ 814: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = which +which.sync = whichSync + +var isWindows = process.platform === 'win32' || + process.env.OSTYPE === 'cygwin' || + process.env.OSTYPE === 'msys' + +var path = __webpack_require__(622) +var COLON = isWindows ? ';' : ':' +var isexe = __webpack_require__(742) + +function getNotFoundError (cmd) { + var er = new Error('not found: ' + cmd) + er.code = 'ENOENT' + + return er +} + +function getPathInfo (cmd, opt) { + var colon = opt.colon || COLON + var pathEnv = opt.path || process.env.PATH || '' + var pathExt = [''] + + pathEnv = pathEnv.split(colon) + + var pathExtExe = '' + if (isWindows) { + pathEnv.unshift(process.cwd()) + pathExtExe = (opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM') + pathExt = pathExtExe.split(colon) + + + // Always test the cmd itself first. isexe will check to make sure + // it's found in the pathExt set. + if (cmd.indexOf('.') !== -1 && pathExt[0] !== '') + pathExt.unshift('') + } + + // If it has a slash, then we don't bother searching the pathenv. + // just check the file itself, and that's it. + if (cmd.match(/\//) || isWindows && cmd.match(/\\/)) + pathEnv = [''] + + return { + env: pathEnv, + ext: pathExt, + extExe: pathExtExe + } +} + +function which (cmd, opt, cb) { + if (typeof opt === 'function') { + cb = opt + opt = {} + } + + var info = getPathInfo(cmd, opt) + var pathEnv = info.env + var pathExt = info.ext + var pathExtExe = info.extExe + var found = [] + + ;(function F (i, l) { + if (i === l) { + if (opt.all && found.length) + return cb(null, found) + else + return cb(getNotFoundError(cmd)) + } + + var pathPart = pathEnv[i] + if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"') + pathPart = pathPart.slice(1, -1) + + var p = path.join(pathPart, cmd) + if (!pathPart && (/^\.[\\\/]/).test(cmd)) { + p = cmd.slice(0, 2) + p + } + ;(function E (ii, ll) { + if (ii === ll) return F(i + 1, l) + var ext = pathExt[ii] + isexe(p + ext, { pathExt: pathExtExe }, function (er, is) { + if (!er && is) { + if (opt.all) + found.push(p + ext) + else + return cb(null, p + ext) + } + return E(ii + 1, ll) + }) + })(0, pathExt.length) + })(0, pathEnv.length) +} + +function whichSync (cmd, opt) { + opt = opt || {} + + var info = getPathInfo(cmd, opt) + var pathEnv = info.env + var pathExt = info.ext + var pathExtExe = info.extExe + var found = [] + + for (var i = 0, l = pathEnv.length; i < l; i ++) { + var pathPart = pathEnv[i] + if (pathPart.charAt(0) === '"' && pathPart.slice(-1) === '"') + pathPart = pathPart.slice(1, -1) + + var p = path.join(pathPart, cmd) + if (!pathPart && /^\.[\\\/]/.test(cmd)) { + p = cmd.slice(0, 2) + p + } + for (var j = 0, ll = pathExt.length; j < ll; j ++) { + var cur = p + pathExt[j] + var is + try { + is = isexe.sync(cur, { pathExt: pathExtExe }) + if (is) { + if (opt.all) + found.push(cur) + else + return cur + } + } catch (ex) {} + } + } + + if (opt.all && found.length) + return found + + if (opt.nothrow) + return null + + throw getNotFoundError(cmd) +} + + +/***/ }), + +/***/ 816: +/***/ (function(module) { + +"use strict"; + +module.exports = /^#!.*/; + + +/***/ }), + +/***/ 818: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = isexe +isexe.sync = sync + +var fs = __webpack_require__(747) + +function checkPathExt (path, options) { + var pathext = options.pathExt !== undefined ? + options.pathExt : process.env.PATHEXT + + if (!pathext) { + return true + } + + pathext = pathext.split(';') + if (pathext.indexOf('') !== -1) { + return true + } + for (var i = 0; i < pathext.length; i++) { + var p = pathext[i].toLowerCase() + if (p && path.substr(-p.length).toLowerCase() === p) { + return true + } + } + return false +} + +function checkStat (stat, path, options) { + if (!stat.isSymbolicLink() && !stat.isFile()) { + return false + } + return checkPathExt(path, options) +} + +function isexe (path, options, cb) { + fs.stat(path, function (er, stat) { + cb(er, er ? false : checkStat(stat, path, options)) + }) +} + +function sync (path, options) { + return checkStat(fs.statSync(path), path, options) +} + + +/***/ }), + +/***/ 825: +/***/ (function(module) { + +"use strict"; + + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ +module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; + + +/***/ }), + +/***/ 826: +/***/ (function(module) { + +"use strict"; + + +/** + * A `Cancel` is an object that is thrown when an operation is canceled. + * + * @class + * @param {string=} message The message. + */ +function Cancel(message) { + this.message = message; +} + +Cancel.prototype.toString = function toString() { + return 'Cancel' + (this.message ? ': ' + this.message : ''); +}; + +Cancel.prototype.__CANCEL__ = true; + +module.exports = Cancel; + + +/***/ }), + +/***/ 835: +/***/ (function(module) { + +module.exports = require("url"); + +/***/ }), + +/***/ 850: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = paginationMethodsPlugin + +function paginationMethodsPlugin (octokit) { + octokit.getFirstPage = __webpack_require__(64).bind(null, octokit) + octokit.getLastPage = __webpack_require__(649).bind(null, octokit) + octokit.getNextPage = __webpack_require__(550).bind(null, octokit) + octokit.getPreviousPage = __webpack_require__(563).bind(null, octokit) + octokit.hasFirstPage = __webpack_require__(536) + octokit.hasLastPage = __webpack_require__(336) + octokit.hasNextPage = __webpack_require__(929) + octokit.hasPreviousPage = __webpack_require__(558) +} + + +/***/ }), + +/***/ 854: +/***/ (function(module) { + +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** `Object#toString` result references. */ +var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + symbolTag = '[object Symbol]'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Symbol = root.Symbol, + splice = arrayProto.splice; + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'), + nativeCreate = getNative(Object, 'create'); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = isKey(path, object) ? [path] : castPath(path); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value) { + return isArray(value) ? value : stringToPath(value); +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +module.exports = get; + + +/***/ }), + +/***/ 855: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = registerPlugin + +const factory = __webpack_require__(47) + +function registerPlugin (plugins, pluginFunction) { + return factory(plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction)) +} + + +/***/ }), + +/***/ 862: +/***/ (function(module) { + +module.exports = class GraphqlError extends Error { + constructor (request, response) { + const message = response.data.errors[0].message + super(message) + + Object.assign(this, response.data) + this.name = 'GraphqlError' + this.request = request + + // Maintains proper stack trace (only available on V8) + /* istanbul ignore next */ + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor) + } + } +} + + +/***/ }), + +/***/ 863: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = authenticationBeforeRequest + +const btoa = __webpack_require__(675) + +const withAuthorizationPrefix = __webpack_require__(143) + +function authenticationBeforeRequest (state, options) { + if (typeof state.auth === 'string') { + options.headers['authorization'] = withAuthorizationPrefix(state.auth) + + // https://developer.github.com/v3/previews/#integrations + if (/^bearer /i.test(state.auth) && !/machine-man/.test(options.headers['accept'])) { + const acceptHeaders = options.headers['accept'].split(',') + .concat('application/vnd.github.machine-man-preview+json') + options.headers['accept'] = acceptHeaders.filter(Boolean).join(',') + } + + return + } + + if (state.auth.username) { + const hash = btoa(`${state.auth.username}:${state.auth.password}`) + options.headers['authorization'] = `Basic ${hash}` + if (state.otp) { + options.headers['x-github-otp'] = state.otp + } + return + } + + if (state.auth.clientId) { + // There is a special case for OAuth applications, when `clientId` and `clientSecret` is passed as + // Basic Authorization instead of query parameters. The only routes where that applies share the same + // URL though: `/applications/:client_id/tokens/:access_token`. + // + // 1. [Check an authorization](https://developer.github.com/v3/oauth_authorizations/#check-an-authorization) + // 2. [Reset an authorization](https://developer.github.com/v3/oauth_authorizations/#reset-an-authorization) + // 3. [Revoke an authorization for an application](https://developer.github.com/v3/oauth_authorizations/#revoke-an-authorization-for-an-application) + // + // We identify by checking the URL. It must merge both "/applications/:client_id/tokens/:access_token" + // as well as "/applications/123/tokens/token456" + if (/\/applications\/:?[\w_]+\/tokens\/:?[\w_]+($|\?)/.test(options.url)) { + const hash = btoa(`${state.auth.clientId}:${state.auth.clientSecret}`) + options.headers['authorization'] = `Basic ${hash}` + return + } + + options.url += options.url.indexOf('?') === -1 ? '?' : '&' + options.url += `client_id=${state.auth.clientId}&client_secret=${state.auth.clientSecret}` + return + } + + return Promise.resolve() + + .then(() => { + return state.auth() + }) + + .then((authorization) => { + options.headers['authorization'] = withAuthorizationPrefix(authorization) + }) +} + + +/***/ }), + +/***/ 864: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs support document.cookie + (function standardBrowserEnv() { + return { + write: function write(name, value, expires, path, domain, secure) { + var cookie = []; + cookie.push(name + '=' + encodeURIComponent(value)); + + if (utils.isNumber(expires)) { + cookie.push('expires=' + new Date(expires).toGMTString()); + } + + if (utils.isString(path)) { + cookie.push('path=' + path); + } + + if (utils.isString(domain)) { + cookie.push('domain=' + domain); + } + + if (secure === true) { + cookie.push('secure'); + } + + document.cookie = cookie.join('; '); + }, + + read: function read(name) { + var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); + return (match ? decodeURIComponent(match[3]) : null); + }, + + remove: function remove(name) { + this.write(name, '', Date.now() - 86400000); + } + }; + })() : + + // Non standard browser env (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return { + write: function write() {}, + read: function read() { return null; }, + remove: function remove() {} + }; + })() +); + + +/***/ }), + +/***/ 866: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +var shebangRegex = __webpack_require__(816); + +module.exports = function (str) { + var match = str.match(shebangRegex); + + if (!match) { + return null; + } + + var arr = match[0].replace(/#! ?/, '').split(' '); + var bin = arr[0].split('/').pop(); + var arg = arr[1]; + + return (bin === 'env' ? + arg : + bin + (arg ? ' ' + arg : '') + ); +}; + + +/***/ }), + +/***/ 867: +/***/ (function(module) { + +"use strict"; + + +var isMergeableObject = function isMergeableObject(value) { + return isNonNullObject(value) + && !isSpecial(value) +}; + +function isNonNullObject(value) { + return !!value && typeof value === 'object' +} + +function isSpecial(value) { + var stringValue = Object.prototype.toString.call(value); + + return stringValue === '[object RegExp]' + || stringValue === '[object Date]' + || isReactElement(value) +} + +// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 +var canUseSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; + +function isReactElement(value) { + return value.$$typeof === REACT_ELEMENT_TYPE +} + +function emptyTarget(val) { + return Array.isArray(val) ? [] : {} +} + +function cloneUnlessOtherwiseSpecified(value, options) { + return (options.clone !== false && options.isMergeableObject(value)) + ? deepmerge(emptyTarget(value), value, options) + : value +} + +function defaultArrayMerge(target, source, options) { + return target.concat(source).map(function(element) { + return cloneUnlessOtherwiseSpecified(element, options) + }) +} + +function getMergeFunction(key, options) { + if (!options.customMerge) { + return deepmerge + } + var customMerge = options.customMerge(key); + return typeof customMerge === 'function' ? customMerge : deepmerge +} + +function getEnumerableOwnPropertySymbols(target) { + return Object.getOwnPropertySymbols + ? Object.getOwnPropertySymbols(target).filter(function(symbol) { + return target.propertyIsEnumerable(symbol) + }) + : [] +} + +function getKeys(target) { + return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)) +} + +function mergeObject(target, source, options) { + var destination = {}; + if (options.isMergeableObject(target)) { + getKeys(target).forEach(function(key) { + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); + }); + } + getKeys(source).forEach(function(key) { + if (!options.isMergeableObject(source[key]) || !target[key]) { + destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); + } else { + destination[key] = getMergeFunction(key, options)(target[key], source[key], options); + } + }); + return destination +} + +function deepmerge(target, source, options) { + options = options || {}; + options.arrayMerge = options.arrayMerge || defaultArrayMerge; + options.isMergeableObject = options.isMergeableObject || isMergeableObject; + + var sourceIsArray = Array.isArray(source); + var targetIsArray = Array.isArray(target); + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; + + if (!sourceAndTargetTypesMatch) { + return cloneUnlessOtherwiseSpecified(source, options) + } else if (sourceIsArray) { + return options.arrayMerge(target, source, options) + } else { + return mergeObject(target, source, options) + } +} + +deepmerge.all = function deepmergeAll(array, options) { + if (!Array.isArray(array)) { + throw new Error('first argument should be an array') + } + + return array.reduce(function(prev, next) { + return deepmerge(prev, next, options) + }, {}) +}; + +var deepmerge_1 = deepmerge; + +module.exports = deepmerge_1; + + +/***/ }), + +/***/ 881: +/***/ (function(module) { + +"use strict"; + + +const isWin = process.platform === 'win32'; + +function notFoundError(original, syscall) { + return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), { + code: 'ENOENT', + errno: 'ENOENT', + syscall: `${syscall} ${original.command}`, + path: original.command, + spawnargs: original.args, + }); +} + +function hookChildProcess(cp, parsed) { + if (!isWin) { + return; + } + + const originalEmit = cp.emit; + + cp.emit = function (name, arg1) { + // If emitting "exit" event and exit code is 1, we need to check if + // the command exists and emit an "error" instead + // See https://github.com/IndigoUnited/node-cross-spawn/issues/16 + if (name === 'exit') { + const err = verifyENOENT(arg1, parsed, 'spawn'); + + if (err) { + return originalEmit.call(cp, 'error', err); + } + } + + return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params + }; +} + +function verifyENOENT(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawn'); + } + + return null; +} + +function verifyENOENTSync(status, parsed) { + if (isWin && status === 1 && !parsed.file) { + return notFoundError(parsed.original, 'spawnSync'); + } + + return null; +} + +module.exports = { + hookChildProcess, + verifyENOENT, + verifyENOENTSync, + notFoundError, +}; + + +/***/ }), + +/***/ 883: +/***/ (function(module) { + +/** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991; + +/** `Object#toString` result references. */ +var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + symbolTag = '[object Symbol]'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Symbol = root.Symbol, + splice = arrayProto.splice; + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'), + nativeCreate = getNative(Object, 'create'); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + object[key] = value; + } +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.set`. + * + * @private + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @param {Function} [customizer] The function to customize path creation. + * @returns {Object} Returns `object`. + */ +function baseSet(object, path, value, customizer) { + if (!isObject(object)) { + return object; + } + path = isKey(path, object) ? [path] : castPath(path); + + var index = -1, + length = path.length, + lastIndex = length - 1, + nested = object; + + while (nested != null && ++index < length) { + var key = toKey(path[index]), + newValue = value; + + if (index != lastIndex) { + var objValue = nested[key]; + newValue = customizer ? customizer(objValue, key, nested) : undefined; + if (newValue === undefined) { + newValue = isObject(objValue) + ? objValue + : (isIndex(path[index + 1]) ? [] : {}); + } + } + assignValue(nested, key, newValue); + nested = nested[key]; + } + return object; +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value) { + return isArray(value) ? value : stringToPath(value); +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, + * it's created. Arrays are created for missing index properties while objects + * are created for all other missing properties. Use `_.setWith` to customize + * `path` creation. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to modify. + * @param {Array|string} path The path of the property to set. + * @param {*} value The value to set. + * @returns {Object} Returns `object`. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.set(object, 'a[0].b.c', 4); + * console.log(object.a[0].b.c); + * // => 4 + * + * _.set(object, ['x', '0', 'y', 'z'], 5); + * console.log(object.x[0].y.z); + * // => 5 + */ +function set(object, path, value) { + return object == null ? object : baseSet(object, path, value); +} + +module.exports = set; + + +/***/ }), + +/***/ 887: +/***/ (function(module) { + +"use strict"; + + +/** + * Creates a new URL by combining the specified URLs + * + * @param {string} baseURL The base URL + * @param {string} relativeURL The relative URL + * @returns {string} The combined URL + */ +module.exports = function combineURLs(baseURL, relativeURL) { + return relativeURL + ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') + : baseURL; +}; + + +/***/ }), + +/***/ 899: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = registerEndpoints + +const { Deprecation } = __webpack_require__(692) + +function registerEndpoints (octokit, routes) { + Object.keys(routes).forEach(namespaceName => { + if (!octokit[namespaceName]) { + octokit[namespaceName] = {} + } + + Object.keys(routes[namespaceName]).forEach(apiName => { + const apiOptions = routes[namespaceName][apiName] + + const endpointDefaults = ['method', 'url', 'headers'].reduce((map, key) => { + if (typeof apiOptions[key] !== 'undefined') { + map[key] = apiOptions[key] + } + + return map + }, {}) + + endpointDefaults.request = { + validate: apiOptions.params + } + + let request = octokit.request.defaults(endpointDefaults) + + // patch request & endpoint methods to support deprecated parameters. + // Not the most elegant solution, but we don’t want to move deprecation + // logic into octokit/endpoint.js as it’s out of scope + const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated) + if (hasDeprecatedParam) { + const patch = patchForDeprecation.bind(null, octokit, apiOptions) + request = patch( + octokit.request.defaults(endpointDefaults), + `.${namespaceName}.${apiName}()` + ) + request.endpoint = patch( + request.endpoint, + `.${namespaceName}.${apiName}.endpoint()` + ) + request.endpoint.merge = patch( + request.endpoint.merge, + `.${namespaceName}.${apiName}.endpoint.merge()` + ) + } + + if (apiOptions.deprecated) { + octokit[namespaceName][apiName] = function deprecatedEndpointMethod () { + octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)) + octokit[namespaceName][apiName] = request + return request.apply(null, arguments) + } + + return + } + + octokit[namespaceName][apiName] = request + }) + }) +} + +function patchForDeprecation (octokit, apiOptions, method, methodName) { + const patchedMethod = (options) => { + options = Object.assign({}, options) + + Object.keys(options).forEach(key => { + if (apiOptions.params[key] && apiOptions.params[key].deprecated) { + const aliasKey = apiOptions.params[key].alias + + octokit.log.warn(new Deprecation(`[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead`)) + + if (!(aliasKey in options)) { + options[aliasKey] = options[key] + } + delete options[key] + } + }) + + return method(options) + } + Object.keys(method).forEach(key => { + patchedMethod[key] = method[key] + }) + + return patchedMethod +} + + +/***/ }), + +/***/ 929: +/***/ (function(module, __unusedexports, __webpack_require__) { + +module.exports = hasNextPage + +const deprecate = __webpack_require__(370) +const getPageLinks = __webpack_require__(577) + +function hasNextPage (link) { + deprecate(`octokit.hasNextPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`) + return getPageLinks(link).next +} + + +/***/ }), + +/***/ 946: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__(35); +var transformData = __webpack_require__(589); +var isCancel = __webpack_require__(492); +var defaults = __webpack_require__(774); +var isAbsoluteURL = __webpack_require__(590); +var combineURLs = __webpack_require__(887); + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ +module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Support baseURL config + if (config.baseURL && !isAbsoluteURL(config.url)) { + config.url = combineURLs(config.baseURL, config.url); + } + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData( + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers || {} + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData( + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData( + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); +}; + + +/***/ }), + +/***/ 948: +/***/ (function(module) { + +"use strict"; + + +/** + * Tries to execute a function and discards any error that occurs. + * @param {Function} fn - Function that might or might not throw an error. + * @returns {?*} Return-value of the function when no error occurred. + */ +module.exports = function(fn) { + + try { return fn() } catch (e) {} + +} + +/***/ }), + +/***/ 954: +/***/ (function(module) { + +module.exports = validateAuth + +function validateAuth (auth) { + if (typeof auth === 'string') { + return + } + + if (typeof auth === 'function') { + return + } + + if (auth.username && auth.password) { + return + } + + if (auth.clientId && auth.clientSecret) { + return + } + + throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`) +} + + +/***/ }), + +/***/ 955: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const path = __webpack_require__(622); +const childProcess = __webpack_require__(129); +const crossSpawn = __webpack_require__(20); +const stripEof = __webpack_require__(768); +const npmRunPath = __webpack_require__(621); +const isStream = __webpack_require__(323); +const _getStream = __webpack_require__(145); +const pFinally = __webpack_require__(697); +const onExit = __webpack_require__(260); +const errname = __webpack_require__(427); +const stdio = __webpack_require__(168); + +const TEN_MEGABYTES = 1000 * 1000 * 10; + +function handleArgs(cmd, args, opts) { + let parsed; + + opts = Object.assign({ + extendEnv: true, + env: {} + }, opts); + + if (opts.extendEnv) { + opts.env = Object.assign({}, process.env, opts.env); + } + + if (opts.__winShell === true) { + delete opts.__winShell; + parsed = { + command: cmd, + args, + options: opts, + file: cmd, + original: { + cmd, + args + } + }; + } else { + parsed = crossSpawn._parse(cmd, args, opts); + } + + opts = Object.assign({ + maxBuffer: TEN_MEGABYTES, + buffer: true, + stripEof: true, + preferLocal: true, + localDir: parsed.options.cwd || process.cwd(), + encoding: 'utf8', + reject: true, + cleanup: true + }, parsed.options); + + opts.stdio = stdio(opts); + + if (opts.preferLocal) { + opts.env = npmRunPath.env(Object.assign({}, opts, {cwd: opts.localDir})); + } + + if (opts.detached) { + // #115 + opts.cleanup = false; + } + + if (process.platform === 'win32' && path.basename(parsed.command) === 'cmd.exe') { + // #116 + parsed.args.unshift('/q'); + } + + return { + cmd: parsed.command, + args: parsed.args, + opts, + parsed + }; +} + +function handleInput(spawned, input) { + if (input === null || input === undefined) { + return; + } + + if (isStream(input)) { + input.pipe(spawned.stdin); + } else { + spawned.stdin.end(input); + } +} + +function handleOutput(opts, val) { + if (val && opts.stripEof) { + val = stripEof(val); + } + + return val; +} + +function handleShell(fn, cmd, opts) { + let file = '/bin/sh'; + let args = ['-c', cmd]; + + opts = Object.assign({}, opts); + + if (process.platform === 'win32') { + opts.__winShell = true; + file = process.env.comspec || 'cmd.exe'; + args = ['/s', '/c', `"${cmd}"`]; + opts.windowsVerbatimArguments = true; + } + + if (opts.shell) { + file = opts.shell; + delete opts.shell; + } + + return fn(file, args, opts); +} + +function getStream(process, stream, {encoding, buffer, maxBuffer}) { + if (!process[stream]) { + return null; + } + + let ret; + + if (!buffer) { + // TODO: Use `ret = util.promisify(stream.finished)(process[stream]);` when targeting Node.js 10 + ret = new Promise((resolve, reject) => { + process[stream] + .once('end', resolve) + .once('error', reject); + }); + } else if (encoding) { + ret = _getStream(process[stream], { + encoding, + maxBuffer + }); + } else { + ret = _getStream.buffer(process[stream], {maxBuffer}); + } + + return ret.catch(err => { + err.stream = stream; + err.message = `${stream} ${err.message}`; + throw err; + }); +} + +function makeError(result, options) { + const {stdout, stderr} = result; + + let err = result.error; + const {code, signal} = result; + + const {parsed, joinedCmd} = options; + const timedOut = options.timedOut || false; + + if (!err) { + let output = ''; + + if (Array.isArray(parsed.opts.stdio)) { + if (parsed.opts.stdio[2] !== 'inherit') { + output += output.length > 0 ? stderr : `\n${stderr}`; + } + + if (parsed.opts.stdio[1] !== 'inherit') { + output += `\n${stdout}`; + } + } else if (parsed.opts.stdio !== 'inherit') { + output = `\n${stderr}${stdout}`; + } + + err = new Error(`Command failed: ${joinedCmd}${output}`); + err.code = code < 0 ? errname(code) : code; + } + + err.stdout = stdout; + err.stderr = stderr; + err.failed = true; + err.signal = signal || null; + err.cmd = joinedCmd; + err.timedOut = timedOut; + + return err; +} + +function joinCmd(cmd, args) { + let joinedCmd = cmd; + + if (Array.isArray(args) && args.length > 0) { + joinedCmd += ' ' + args.join(' '); + } + + return joinedCmd; +} + +module.exports = (cmd, args, opts) => { + const parsed = handleArgs(cmd, args, opts); + const {encoding, buffer, maxBuffer} = parsed.opts; + const joinedCmd = joinCmd(cmd, args); + + let spawned; + try { + spawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts); + } catch (err) { + return Promise.reject(err); + } + + let removeExitHandler; + if (parsed.opts.cleanup) { + removeExitHandler = onExit(() => { + spawned.kill(); + }); + } + + let timeoutId = null; + let timedOut = false; + + const cleanup = () => { + if (timeoutId) { + clearTimeout(timeoutId); + timeoutId = null; + } + + if (removeExitHandler) { + removeExitHandler(); + } + }; + + if (parsed.opts.timeout > 0) { + timeoutId = setTimeout(() => { + timeoutId = null; + timedOut = true; + spawned.kill(parsed.opts.killSignal); + }, parsed.opts.timeout); + } + + const processDone = new Promise(resolve => { + spawned.on('exit', (code, signal) => { + cleanup(); + resolve({code, signal}); + }); + + spawned.on('error', err => { + cleanup(); + resolve({error: err}); + }); + + if (spawned.stdin) { + spawned.stdin.on('error', err => { + cleanup(); + resolve({error: err}); + }); + } + }); + + function destroy() { + if (spawned.stdout) { + spawned.stdout.destroy(); + } + + if (spawned.stderr) { + spawned.stderr.destroy(); + } + } + + const handlePromise = () => pFinally(Promise.all([ + processDone, + getStream(spawned, 'stdout', {encoding, buffer, maxBuffer}), + getStream(spawned, 'stderr', {encoding, buffer, maxBuffer}) + ]).then(arr => { + const result = arr[0]; + result.stdout = arr[1]; + result.stderr = arr[2]; + + if (result.error || result.code !== 0 || result.signal !== null) { + const err = makeError(result, { + joinedCmd, + parsed, + timedOut + }); + + // TODO: missing some timeout logic for killed + // https://github.com/nodejs/node/blob/master/lib/child_process.js#L203 + // err.killed = spawned.killed || killed; + err.killed = err.killed || spawned.killed; + + if (!parsed.opts.reject) { + return err; + } + + throw err; + } + + return { + stdout: handleOutput(parsed.opts, result.stdout), + stderr: handleOutput(parsed.opts, result.stderr), + code: 0, + failed: false, + killed: false, + signal: null, + cmd: joinedCmd, + timedOut: false + }; + }), destroy); + + crossSpawn._enoent.hookChildProcess(spawned, parsed.parsed); + + handleInput(spawned, parsed.opts.input); + + spawned.then = (onfulfilled, onrejected) => handlePromise().then(onfulfilled, onrejected); + spawned.catch = onrejected => handlePromise().catch(onrejected); + + return spawned; +}; + +// TODO: set `stderr: 'ignore'` when that option is implemented +module.exports.stdout = (...args) => module.exports(...args).then(x => x.stdout); + +// TODO: set `stdout: 'ignore'` when that option is implemented +module.exports.stderr = (...args) => module.exports(...args).then(x => x.stderr); + +module.exports.shell = (cmd, opts) => handleShell(module.exports, cmd, opts); + +module.exports.sync = (cmd, args, opts) => { + const parsed = handleArgs(cmd, args, opts); + const joinedCmd = joinCmd(cmd, args); + + if (isStream(parsed.opts.input)) { + throw new TypeError('The `input` option cannot be a stream in sync mode'); + } + + const result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts); + result.code = result.status; + + if (result.error || result.status !== 0 || result.signal !== null) { + const err = makeError(result, { + joinedCmd, + parsed + }); + + if (!parsed.opts.reject) { + return err; + } + + throw err; + } + + return { + stdout: handleOutput(parsed.opts, result.stdout), + stderr: handleOutput(parsed.opts, result.stderr), + code: 0, + failed: false, + signal: null, + cmd: joinedCmd, + timedOut: false + }; +}; + +module.exports.shellSync = (cmd, opts) => handleShell(module.exports.sync, cmd, opts); + + +/***/ }), + +/***/ 966: +/***/ (function(module, __unusedexports, __webpack_require__) { + +"use strict"; + +const {PassThrough} = __webpack_require__(413); + +module.exports = options => { + options = Object.assign({}, options); + + const {array} = options; + let {encoding} = options; + const buffer = encoding === 'buffer'; + let objectMode = false; + + if (array) { + objectMode = !(encoding || buffer); + } else { + encoding = encoding || 'utf8'; + } + + if (buffer) { + encoding = null; + } + + let len = 0; + const ret = []; + const stream = new PassThrough({objectMode}); + + if (encoding) { + stream.setEncoding(encoding); + } + + stream.on('data', chunk => { + ret.push(chunk); + + if (objectMode) { + len = ret.length; + } else { + len += chunk.length; + } + }); + + stream.getBufferedValue = () => { + if (array) { + return ret; + } + + return buffer ? Buffer.concat(ret, len) : ret.join(''); + }; + + stream.getBufferedLength = () => len; + + return stream; +}; + + +/***/ }), + +/***/ 969: +/***/ (function(module, __unusedexports, __webpack_require__) { + +var wrappy = __webpack_require__(11) +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} + + +/***/ }), + +/***/ 993: +/***/ (function(module) { + +module.exports = require("tty"); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/lib/main.js b/lib/main.js deleted file mode 100644 index 6527c087..00000000 --- a/lib/main.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const core = __importStar(require("@actions/core")); -const slack_1 = require("./slack"); -const utils_1 = require("./utils"); -function run() { - return __awaiter(this, void 0, void 0, function* () { - try { - const type = core.getInput('type', { required: true }); - const job_name = core.getInput('job_name', { required: true }); - const username = core.getInput('username') || 'Github Actions'; - const icon_emoji = core.getInput('icon_emoji') || 'github'; - const channel = core.getInput('channel'); - const url = core.getInput('url') || process.env.SLACK_WEBHOOK || ''; - if (url === '') { - throw new Error(` - ERROR: Missing Slack Incoming Webhooks URL. - Please configure "SLACK_WEBHOOK" as environment variable or - specify the key called "url" in "with" section. - `); - } - const status = utils_1.getStatus(type); - const slack = new slack_1.Slack(url, username, icon_emoji, channel); - const result = yield slack.notify(status, job_name); - core.debug(`Response from Slack: ${JSON.stringify(result)}`); - } - catch (err) { - console.log(err); - core.setFailed(err.message); - } - }); -} -run(); diff --git a/lib/slack.js b/lib/slack.js deleted file mode 100644 index 2a04df93..00000000 --- a/lib/slack.js +++ /dev/null @@ -1,92 +0,0 @@ -"use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const github = __importStar(require("@actions/github")); -const core = __importStar(require("@actions/core")); -const webhook_1 = require("@slack/webhook"); -class Slack extends webhook_1.IncomingWebhook { - constructor(url, username, icon_emoji, channel) { - super(url, { username, icon_emoji, channel }); - } - /** - * Get slack blocks UI - */ - get blocks() { - const context = github.context; - const { sha, eventName, workflow, ref } = context; - const { owner, repo } = context.repo; - const { number } = context.issue; - const repo_url = `https://github.com/${owner}/${repo}`; - let action_url = repo_url; - if (eventName === 'pull_request') { - action_url += `/pull/${number}/checks`; - } - else { - action_url += `/commit/${sha}/checks`; - } - const blocks = { - type: 'section', - fields: [ - { type: 'mrkdwn', text: `*repository*\n<${repo_url}|${owner}/${repo}>` }, - { type: 'mrkdwn', text: `*ref*\n${ref}` }, - { type: 'mrkdwn', text: `*event name*\n${eventName}` }, - { type: 'mrkdwn', text: `*workflow*\n<${action_url}|${workflow}>` }, - ] - }; - return blocks; - } - /** - * Generate slack payload - */ - generatePayload(status, msg) { - const text = `${Slack.mark[status]} GitHub Actions ${Slack.msg[status]}`; - const text_for_blocks = { type: 'mrkdwn', text: msg }; - const blocks = Object.assign({}, this.blocks, { text: text_for_blocks }); - const attachments = { - color: Slack.color[status], - blocks: [blocks] - }; - const payload = { - text, - attachments: [attachments], - unfurl_links: true - }; - core.debug(`Generated payload for slack: ${JSON.stringify(payload)}`); - return payload; - } - /** - * Notify information about github actions to Slack - */ - notify(status, msg) { - return __awaiter(this, void 0, void 0, function* () { - try { - const payload = this.generatePayload(status, msg); - const result = yield this.send(payload); - core.debug('Sent message to Slack'); - return result; - } - catch (err) { - throw err; - } - }); - } -} -// 0: failure, 1: success, 2: cancel -Slack.color = ['#cb2431', '#2cbe4e', '#ffc107']; -Slack.mark = [':x:', ':white_check_mark:', ':warning:']; -Slack.msg = ['Failure', 'Success', 'Cancel']; -exports.Slack = Slack; diff --git a/lib/utils.js b/lib/utils.js deleted file mode 100644 index f2c7cabe..00000000 --- a/lib/utils.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Convert status string to number - * Return 1 (Status.Success) if argument word contains "success" - * Return 0 (Status.Failure) if argument word contains "fail" - * @param status {string} - */ -function getStatus(status) { - const lowercase_status = status.toLowerCase(); - if (lowercase_status.includes('success')) { - return Status.Success; - } - else if (lowercase_status.includes('fail')) { - return Status.Failure; - } - else if (lowercase_status.includes('cancel')) { - return Status.Cancel; - } - else { - throw new Error('Allow words that contain "success", "fail" or "cancel"'); - } -} -exports.getStatus = getStatus; -/** - * Job status - */ -var Status; -(function (Status) { - Status[Status["Failure"] = 0] = "Failure"; - Status[Status["Success"] = 1] = "Success"; - Status[Status["Cancel"] = 2] = "Cancel"; -})(Status = exports.Status || (exports.Status = {})); diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index a2bdba4f..00000000 --- a/package-lock.json +++ /dev/null @@ -1,5275 +0,0 @@ -{ - "name": "container-toolkit-template", - "version": "0.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@actions/core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.0.0.tgz", - "integrity": "sha512-aMIlkx96XH4E/2YZtEOeyrYQfhlas9jIRkfGPqMwXD095Rdkzo4lB6ZmbxPQSzD+e1M+Xsm98ZhuSMYGv/AlqA==" - }, - "@actions/exec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.0.tgz", - "integrity": "sha512-nquH0+XKng+Ll7rZfCojN7NWSbnGh+ltwUJhzfbLkmOJgxocGX2/yXcZLMyT9fa7+tByEow/NSTrBExNlEj9fw==" - }, - "@actions/github": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-1.0.0.tgz", - "integrity": "sha512-PPbWZ5wFAD/Vr+RCECfR3KNHjTwYln4liJBihs9tQUL0/PCFqB2lSkIh9V94AcZFHxgKk8snImjuLaBE8bKR7A==", - "requires": { - "@octokit/graphql": "^2.0.1", - "@octokit/rest": "^16.15.0" - } - }, - "@actions/io": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.0.tgz", - "integrity": "sha512-ezrJSRdqtXtdx1WXlfYL85+40F7gB39jCK9P0jZVODW3W6xUYmu6ZOEc/UmmElUwhRyDRm1R4yNZu1Joq2kuQg==" - }, - "@actions/tool-cache": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.1.0.tgz", - "integrity": "sha512-Oe/R1Gxv0G699OUL9ypxk9cTwHf1uXHhpcK7kpZt8d/Sbw915ktMkfxXt9+awOfLDwyl54sLi86KGCuSvnRuIQ==", - "requires": { - "@actions/core": "^1.0.0", - "@actions/exec": "^1.0.0", - "@actions/io": "^1.0.0", - "semver": "^6.1.0", - "typed-rest-client": "^1.4.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/core": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", - "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helpers": "^7.5.5", - "@babel/parser": "^7.5.5", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz", - "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==", - "dev": true, - "requires": { - "@babel/types": "^7.5.5", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", - "dev": true - }, - "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", - "dev": true, - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@babel/helpers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", - "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", - "dev": true, - "requires": { - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" - } - }, - "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", - "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", - "dev": true - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", - "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.4.4", - "@babel/types": "^7.4.4" - } - }, - "@babel/traverse": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz", - "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.5.5", - "@babel/types": "^7.5.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "@cnakazawa/watch": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", - "integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==", - "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", - "dev": true, - "requires": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" - } - }, - "@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" - } - }, - "@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", - "dev": true, - "requires": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" - } - }, - "@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", - "source-map": "^0.6.0", - "string-length": "^2.0.0" - } - }, - "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", - "dev": true, - "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" - } - }, - "@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", - "dev": true, - "requires": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" - } - }, - "@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", - "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" - } - }, - "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" - } - }, - "@octokit/endpoint": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.3.2.tgz", - "integrity": "sha512-gRjteEM9I6f4D8vtwU2iGUTn9RX/AJ0SVXiqBUEuYEWVGGAVjSXdT0oNmghH5lvQNWs8mwt6ZaultuG6yXivNw==", - "requires": { - "deepmerge": "4.0.0", - "is-plain-object": "^3.0.0", - "universal-user-agent": "^3.0.0", - "url-template": "^2.0.8" - }, - "dependencies": { - "universal-user-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-3.0.0.tgz", - "integrity": "sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA==", - "requires": { - "os-name": "^3.0.0" - } - } - } - }, - "@octokit/graphql": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz", - "integrity": "sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==", - "requires": { - "@octokit/request": "^5.0.0", - "universal-user-agent": "^2.0.3" - } - }, - "@octokit/request": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.0.2.tgz", - "integrity": "sha512-z1BQr43g4kOL4ZrIVBMHwi68Yg9VbkRUyuAgqCp1rU3vbYa69+2gIld/+gHclw15bJWQnhqqyEb7h5a5EqgZ0A==", - "requires": { - "@octokit/endpoint": "^5.1.0", - "@octokit/request-error": "^1.0.1", - "deprecation": "^2.0.0", - "is-plain-object": "^3.0.0", - "node-fetch": "^2.3.0", - "once": "^1.4.0", - "universal-user-agent": "^3.0.0" - }, - "dependencies": { - "universal-user-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-3.0.0.tgz", - "integrity": "sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA==", - "requires": { - "os-name": "^3.0.0" - } - } - } - }, - "@octokit/request-error": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.0.4.tgz", - "integrity": "sha512-L4JaJDXn8SGT+5G0uX79rZLv0MNJmfGa4vb4vy1NnpjSnWDLJRy6m90udGwvMmavwsStgbv2QNkPzzTCMmL+ig==", - "requires": { - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "@octokit/rest": { - "version": "16.28.7", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.28.7.tgz", - "integrity": "sha512-cznFSLEhh22XD3XeqJw51OLSfyL2fcFKUO+v2Ep9MTAFfFLS1cK1Zwd1yEgQJmJoDnj4/vv3+fGGZweG+xsbIA==", - "requires": { - "@octokit/request": "^5.0.0", - "@octokit/request-error": "^1.0.2", - "atob-lite": "^2.0.0", - "before-after-hook": "^2.0.0", - "btoa-lite": "^1.0.0", - "deprecation": "^2.0.0", - "lodash.get": "^4.4.2", - "lodash.set": "^4.3.2", - "lodash.uniq": "^4.5.0", - "octokit-pagination-methods": "^1.1.0", - "once": "^1.4.0", - "universal-user-agent": "^3.0.0", - "url-template": "^2.0.8" - }, - "dependencies": { - "universal-user-agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-3.0.0.tgz", - "integrity": "sha512-T3siHThqoj5X0benA5H0qcDnrKGXzU8TKoX15x/tQHw1hQBvIEBHjxQ2klizYsqBOO/Q+WuxoQUihadeeqDnoA==", - "requires": { - "os-name": "^3.0.0" - } - } - } - }, - "@slack/types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@slack/types/-/types-1.1.0.tgz", - "integrity": "sha512-uak4Jbi8nlX8xmElkPt1ixxVQXMKdBRbzBayn5bRzZ9Yx3bQGlyJdFs6GjEKI+fvFP0ZTiGWKOzlJTH3Tm/9fg==" - }, - "@slack/webhook": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@slack/webhook/-/webhook-5.0.1.tgz", - "integrity": "sha512-cTp0xOdd28gbMAGR80IzcG2QtwDPO0oq7NopxbitCUiDYVC40r7syJB86MBkt9spABOl1uNjB26tA9Lhe3XBbQ==", - "requires": { - "@slack/types": "^1.1.0", - "@types/node": ">=8.9.0", - "axios": "^0.18.0" - } - }, - "@types/babel__core": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.2.tgz", - "integrity": "sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.0.2.tgz", - "integrity": "sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz", - "integrity": "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.0.7", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.7.tgz", - "integrity": "sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", - "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", - "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "24.0.18", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.18.tgz", - "integrity": "sha512-jcDDXdjTcrQzdN06+TSVsPPqxvsZA/5QkYfIZlq1JMw7FdP5AZylbOc+6B/cuDurctRe+MziUMtQ3xQdrbjqyQ==", - "dev": true, - "requires": { - "@types/jest-diff": "*" - } - }, - "@types/jest-diff": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jest-diff/-/jest-diff-20.0.1.tgz", - "integrity": "sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA==", - "dev": true - }, - "@types/node": { - "version": "12.7.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.2.tgz", - "integrity": "sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg==" - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/yargs": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.2.tgz", - "integrity": "sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw==", - "dev": true - }, - "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", - "dev": true - }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "acorn-globals": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.3.tgz", - "integrity": "sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ==", - "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", - "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true - }, - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "atob-lite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz", - "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "axios": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz", - "integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==", - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - } - } - }, - "babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", - "dev": true, - "requires": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" - } - }, - "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" - } - }, - "babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", - "dev": true, - "requires": { - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", - "dev": true, - "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "before-after-hook": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", - "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", - "dev": true - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.0.tgz", - "integrity": "sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "btoa-lite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", - "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=" - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "requires": { - "rsvp": "^4.8.4" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true, - "optional": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", - "dev": true, - "requires": { - "cssom": "0.3.x" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", - "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "deepmerge": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.0.0.tgz", - "integrity": "sha512-YZ1rOP5+kHor4hMAH+HRQnBQHg+wvS1un1hAOuIcxcBy0hzcUf6Jg2a1w65kpoOUnurOfZbERwjI1TfZxNjcww==" - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, - "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", - "dev": true - }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "^1.4.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escodegen": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", - "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", - "dev": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "exec-sh": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz", - "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==", - "dev": true - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", - "dev": true, - "requires": { - "bser": "^2.0.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hosted-git-info": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", - "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", - "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", - "requires": { - "isobject": "^4.0.0" - } - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", - "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", - "dev": true, - "requires": { - "handlebars": "^4.1.2" - } - }, - "jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", - "dev": true, - "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" - }, - "dependencies": { - "jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", - "dev": true, - "requires": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - } - } - } - }, - "jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - } - }, - "jest-circus": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-24.9.0.tgz", - "integrity": "sha512-dwkvwFtRc9Anmk1XTc+bonVL8rVMZ3CeGMoFWmv1oaQThdAgvfI9bwaFlZp+gLVphNVz6ZLfCWo3ERhS5CeVvA==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "stack-utils": "^1.0.1", - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" - } - }, - "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", - "dev": true, - "requires": { - "detect-newline": "^2.1.0" - } - }, - "jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" - } - }, - "jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", - "dev": true, - "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" - } - }, - "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", - "dev": true - }, - "jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.7", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", - "sane": "^4.0.3", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.9.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" - } - }, - "jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", - "dev": true, - "requires": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0" - } - }, - "jest-pnp-resolver": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz", - "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", - "dev": true - }, - "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", - "dev": true - }, - "jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" - } - }, - "jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" - } - }, - "jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - } - }, - "jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" - } - }, - "jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", - "dev": true - }, - "jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", - "dev": true, - "requires": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" - } - }, - "jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "leven": "^3.1.0", - "pretty-format": "^24.9.0" - } - }, - "jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", - "dev": true, - "requires": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" - } - }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - }, - "lodash.set": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz", - "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "macos-release": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", - "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==" - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", - "dev": true - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", - "dev": true - }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "dev": true, - "requires": { - "mime-db": "1.40.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "nwsapi": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz", - "integrity": "sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "octokit-pagination-methods": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz", - "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } - } - }, - "os-name": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", - "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", - "requires": { - "macos-release": "^2.2.0", - "windows-release": "^3.1.0" - } - }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prettier": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz", - "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==", - "dev": true - }, - "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" - } - }, - "prompts": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz", - "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.3" - } - }, - "psl": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz", - "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "react-is": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz", - "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", - "dev": true, - "requires": { - "util.promisify": "^1.0.0" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - } - } - }, - "request-promise-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", - "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "request-promise-native": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", - "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", - "dev": true, - "requires": { - "request-promise-core": "1.1.2", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "sisteransi": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz", - "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", - "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - } - }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", - "dev": true - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "ts-jest": { - "version": "24.0.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.0.2.tgz", - "integrity": "sha512-h6ZCZiA1EQgjczxq+uGLXQlNgeg02WWJBbeT8j6nyIBRQdglqbvzDoHahTEIiS6Eor6x8mK6PfZ7brQ9Q6tzHw==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "json5": "2.x", - "make-error": "1.x", - "mkdirp": "0.x", - "resolve": "1.x", - "semver": "^5.5", - "yargs-parser": "10.x" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "tunnel": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.4.tgz", - "integrity": "sha1-LTeFoVjBdMmhbcLARuxfxfF0IhM=" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "typed-rest-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.5.0.tgz", - "integrity": "sha512-DVZRlmsfnTjp6ZJaatcdyvvwYwbWvR4YDNFDqb+qdTxpvaVP99YCpBkA8rxsLtAPjBVoDe4fNsnMIdZTiPuKWg==", - "requires": { - "tunnel": "0.0.4", - "underscore": "1.8.3" - } - }, - "typescript": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", - "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", - "dev": true - }, - "uglify-js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.0", - "source-map": "~0.6.1" - } - }, - "underscore": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", - "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "universal-user-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.1.0.tgz", - "integrity": "sha512-8itiX7G05Tu3mGDTdNY2fB4KJ8MgZLS54RdG6PkkfwMAavrXu1mV/lls/GABx9O3Rw4PnTtasxrvbMQoBYY92Q==", - "requires": { - "os-name": "^3.0.0" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url-template": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", - "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", - "dev": true, - "requires": { - "browser-process-hrtime": "^0.1.2" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "windows-release": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz", - "integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==", - "requires": { - "execa": "^1.0.0" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" - } - }, - "yargs-parser": { - "version": "13.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } -} diff --git a/src/main.ts b/src/index.ts similarity index 100% rename from src/main.ts rename to src/index.ts From 95859060f2a6db11eace183e6af1a2491a446be6 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:17:02 +0900 Subject: [PATCH 14/21] [readme] Change the contribution procedure --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d41fffdc..05cf45d9 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ Please refer `action.yml` for more details. 1. Fork this repository 2. Pull your repository in local machine 3. Update original repository -4. Checkout "develop" branch based "remotes/origin/develop" branch -5. Work on "develop" branch +4. Checkout "master" branch based "remotes/origin/master" branch +5. Work on "master" branch 6. Push you changes to your repository 7. Create a new Pull Request From 14bb045110002247d537d3619ce415d199cfee76 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:27:10 +0900 Subject: [PATCH 15/21] [test] Test self actions in cwd --- .github/workflows/test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f6e9481c..5e3652b5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@master - name: Slack Notification - uses: homoluctus/slatify@${{ github.head_ref }} + uses: ./ if: always() with: type: ${{ job.status }} @@ -30,7 +30,7 @@ jobs: - uses: actions/checkout@master - name: Slack Notification - uses: homoluctus/slatify@${{ github.head_ref }} + uses: ./ if: always() with: type: ${{ job.status }} @@ -48,7 +48,7 @@ jobs: run: exit 1 - name: Slack Notification - uses: homoluctus/slatify@${{ github.head_ref }} + uses: ./ if: always() with: type: ${{ job.status }} @@ -70,7 +70,7 @@ jobs: run: sleep 60 - name: Slack Notification - uses: homoluctus/slatify@${{ github.head_ref }} + uses: ./ if: always() with: type: ${{ job.status }} From dfa9d448b15f3f6f4ccaada04476bb53a9fcd6f5 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:38:43 +0900 Subject: [PATCH 16/21] [test] Execute test after pull request --- .github/workflows/test.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5e3652b5..b1688b2b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,9 +1,6 @@ name: Check notification -on: - pull_request: - branches: - - master +on: pull_request jobs: success: From d7156762e1b7714a0821eb14e549590e492d83bd Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 05:43:21 +0900 Subject: [PATCH 17/21] [slack] Fix accessory --- dist/index.js | 3990 +++++++++++++++++++++++++------------------------ src/slack.ts | 28 +- 2 files changed, 2055 insertions(+), 1963 deletions(-) diff --git a/dist/index.js b/dist/index.js index 24208b72..3bcb1b2a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -120,36 +120,39 @@ module.exports = osName; /***/ 8: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = iterator +module.exports = iterator; -const normalizePaginatedListResponse = __webpack_require__(301) +const normalizePaginatedListResponse = __webpack_require__(301); -function iterator (octokit, options) { - const headers = options.headers - let url = octokit.request.endpoint(options).url +function iterator(octokit, options) { + const headers = options.headers; + let url = octokit.request.endpoint(options).url; return { [Symbol.asyncIterator]: () => ({ - next () { + next() { if (!url) { - return Promise.resolve({ done: true }) + return Promise.resolve({ done: true }); } - return octokit.request({ url, headers }) + return octokit + .request({ url, headers }) - .then((response) => { - normalizePaginatedListResponse(octokit, url, response) + .then(response => { + normalizePaginatedListResponse(octokit, url, response); // `response.headers.link` format: // '; rel="next", ; rel="last"' // sets `url` to undefined if "next" URL is not present or `link` header is not set - url = ((response.headers.link || '').match(/<([^>]+)>;\s*rel="next"/) || [])[1] + url = ((response.headers.link || "").match( + /<([^>]+)>;\s*rel="next"/ + ) || [])[1]; - return { value: response } - }) + return { value: response }; + }); } }) - } + }; } @@ -180,6 +183,7 @@ var eos = function(stream, opts, callback) { var rs = stream._readableState; var readable = opts.readable || (opts.readable !== false && stream.readable); var writable = opts.writable || (opts.writable !== false && stream.writable); + var cancelled = false; var onlegacyfinish = function() { if (!stream.writable) onfinish(); @@ -204,8 +208,13 @@ var eos = function(stream, opts, callback) { }; var onclose = function() { - if (readable && !(rs && rs.ended)) return callback.call(stream, new Error('premature close')); - if (writable && !(ws && ws.ended)) return callback.call(stream, new Error('premature close')); + process.nextTick(onclosenexttick); + }; + + var onclosenexttick = function() { + if (cancelled) return; + if (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error('premature close')); + if (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error('premature close')); }; var onrequest = function() { @@ -230,6 +239,7 @@ var eos = function(stream, opts, callback) { stream.on('close', onclose); return function() { + cancelled = true; stream.removeListener('complete', onfinish); stream.removeListener('abort', onclose); stream.removeListener('request', onrequest); @@ -300,31 +310,36 @@ eval("require")("encoding"); /***/ 19: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = authenticationPlugin +module.exports = authenticationPlugin; -const { Deprecation } = __webpack_require__(692) -const once = __webpack_require__(969) +const { Deprecation } = __webpack_require__(692); +const once = __webpack_require__(969); -const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)) +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)); -const authenticate = __webpack_require__(674) -const beforeRequest = __webpack_require__(471) -const requestError = __webpack_require__(349) +const authenticate = __webpack_require__(674); +const beforeRequest = __webpack_require__(471); +const requestError = __webpack_require__(349); -function authenticationPlugin (octokit, options) { +function authenticationPlugin(octokit, options) { if (options.auth) { octokit.authenticate = () => { - deprecateAuthenticate(octokit.log, new Deprecation('[@octokit/rest] octokit.authenticate() is deprecated and has no effect when "auth" option is set on Octokit constructor')) - } - return + deprecateAuthenticate( + octokit.log, + new Deprecation( + '[@octokit/rest] octokit.authenticate() is deprecated and has no effect when "auth" option is set on Octokit constructor' + ) + ); + }; + return; } const state = { octokit, auth: false - } - octokit.authenticate = authenticate.bind(null, state) - octokit.hook.before('request', beforeRequest.bind(null, state)) - octokit.hook.error('request', requestError.bind(null, state)) + }; + octokit.authenticate = authenticate.bind(null, state); + octokit.hook.before("request", beforeRequest.bind(null, state)); + octokit.hook.error("request", requestError.bind(null, state)); } @@ -375,6 +390,238 @@ module.exports._parse = parse; module.exports._enoent = enoent; +/***/ }), + +/***/ 25: +/***/ (function(module, exports, __webpack_require__) { + + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; +exports.coerce = coerce; +exports.disable = disable; +exports.enable = enable; +exports.enabled = enabled; +exports.humanize = __webpack_require__(317); + +/** + * Active `debug` instances. + */ +exports.instances = []; + +/** + * The currently active debug mode names, and names to skip. + */ + +exports.names = []; +exports.skips = []; + +/** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + +exports.formatters = {}; + +/** + * Select a color. + * @param {String} namespace + * @return {Number} + * @api private + */ + +function selectColor(namespace) { + var hash = 0, i; + + for (i in namespace) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return exports.colors[Math.abs(hash) % exports.colors.length]; +} + +/** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + +function createDebug(namespace) { + + var prevTime; + + function debug() { + // disabled? + if (!debug.enabled) return; + + var self = debug; + + // set `diff` timestamp + var curr = +new Date(); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + // turn the `arguments` into a proper Array + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + + args[0] = exports.coerce(args[0]); + + if ('string' !== typeof args[0]) { + // anything else let's inspect with %O + args.unshift('%O'); + } + + // apply any `formatters` transformations + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { + // if we encounter an escaped % then don't increase the array index + if (match === '%%') return match; + index++; + var formatter = exports.formatters[format]; + if ('function' === typeof formatter) { + var val = args[index]; + match = formatter.call(self, val); + + // now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // apply env-specific formatting (colors, etc.) + exports.formatArgs.call(self, args); + + var logFn = debug.log || exports.log || console.log.bind(console); + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = exports.enabled(namespace); + debug.useColors = exports.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + + // env-specific initialization logic for debug instances + if ('function' === typeof exports.init) { + exports.init(debug); + } + + exports.instances.push(debug); + + return debug; +} + +function destroy () { + var index = exports.instances.indexOf(this); + if (index !== -1) { + exports.instances.splice(index, 1); + return true; + } else { + return false; + } +} + +/** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + +function enable(namespaces) { + exports.save(namespaces); + + exports.names = []; + exports.skips = []; + + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) continue; // ignore empty strings + namespaces = split[i].replace(/\*/g, '.*?'); + if (namespaces[0] === '-') { + exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + exports.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < exports.instances.length; i++) { + var instance = exports.instances[i]; + instance.enabled = exports.enabled(instance.namespace); + } +} + +/** + * Disable debug output. + * + * @api public + */ + +function disable() { + exports.enable(''); +} + +/** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + +function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + var i, len; + for (i = 0, len = exports.skips.length; i < len; i++) { + if (exports.skips[i].test(name)) { + return false; + } + } + for (i = 0, len = exports.names.length; i < len; i++) { + if (exports.names[i].test(name)) { + return true; + } + } + return false; +} + +/** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + +function coerce(val) { + if (val instanceof Error) return val.stack || val.message; + return val; +} + + /***/ }), /***/ 26: @@ -401,6 +648,13 @@ module.exports = function createError(message, config, code, request, response) }; +/***/ }), + +/***/ 34: +/***/ (function(module) { + +module.exports = require("https"); + /***/ }), /***/ 35: @@ -410,7 +664,7 @@ module.exports = function createError(message, config, code, request, response) var bind = __webpack_require__(727); -var isBuffer = __webpack_require__(480); +var isBuffer = __webpack_require__(812); /*global toString:true*/ @@ -760,15 +1014,15 @@ function getUserAgentNode () { /***/ 47: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = factory +module.exports = factory; -const Octokit = __webpack_require__(402) -const registerPlugin = __webpack_require__(855) +const Octokit = __webpack_require__(402); +const registerPlugin = __webpack_require__(855); -function factory (plugins) { - const Api = Octokit.bind(null, plugins || []) - Api.plugin = registerPlugin.bind(null, plugins || []) - return Api +function factory(plugins) { + const Api = Octokit.bind(null, plugins || []); + Api.plugin = registerPlugin.bind(null, plugins || []); + return Api; } @@ -847,12 +1101,205 @@ function getFirstPage (octokit, link, headers) { /***/ }), -/***/ 87: -/***/ (function(module) { +/***/ 81: +/***/ (function(module, exports, __webpack_require__) { -module.exports = require("os"); +/** + * Module dependencies. + */ -/***/ }), +var tty = __webpack_require__(867); +var util = __webpack_require__(669); + +/** + * This is the Node.js implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = __webpack_require__(25); +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; + +/** + * Colors. + */ + +exports.colors = [ 6, 2, 3, 4, 5, 1 ]; + +try { + var supportsColor = __webpack_require__(247); + if (supportsColor && supportsColor.level >= 2) { + exports.colors = [ + 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, + 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, + 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 214, 215, 220, 221 + ]; + } +} catch (err) { + // swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(function (key) { + return /^debug_/i.test(key); +}).reduce(function (obj, key) { + // camel-case + var prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); + + // coerce string value into JS value + var val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) val = true; + else if (/^(no|off|false|disabled)$/i.test(val)) val = false; + else if (val === 'null') val = null; + else val = Number(val); + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts + ? Boolean(exports.inspectOpts.colors) + : tty.isatty(process.stderr.fd); +} + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +exports.formatters.o = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n').map(function(str) { + return str.trim() + }).join(' '); +}; + +/** + * Map %o to `util.inspect()`, allowing multiple lines if needed. + */ + +exports.formatters.O = function(v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + var name = this.namespace; + var useColors = this.useColors; + + if (useColors) { + var c = this.color; + var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); + var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } else { + return new Date().toISOString() + ' '; + } +} + +/** + * Invokes `util.format()` with the specified arguments and writes to stderr. + */ + +function log() { + return process.stderr.write(util.format.apply(util, arguments) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + +function save(namespaces) { + if (null == namespaces) { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } else { + process.env.DEBUG = namespaces; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init (debug) { + debug.inspectOpts = {}; + + var keys = Object.keys(exports.inspectOpts); + for (var i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +/** + * Enable namespaces listed in `process.env.DEBUG` initially. + */ + +exports.enable(load()); + + +/***/ }), + +/***/ 87: +/***/ (function(module) { + +module.exports = require("os"); + +/***/ }), /***/ 118: /***/ (function(module, __unusedexports, __webpack_require__) { @@ -1943,281 +2390,49 @@ module.exports = CancelToken; /***/ }), -/***/ 138: -/***/ (function(module, exports, __webpack_require__) { +/***/ 143: +/***/ (function(module, __unusedexports, __webpack_require__) { +module.exports = withAuthorizationPrefix; -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ +const atob = __webpack_require__(368); -exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = __webpack_require__(317); +const REGEX_IS_BASIC_AUTH = /^[\w-]+:/; -/** - * Active `debug` instances. - */ -exports.instances = []; +function withAuthorizationPrefix(authorization) { + if (/^(basic|bearer|token) /i.test(authorization)) { + return authorization; + } -/** - * The currently active debug mode names, and names to skip. - */ + try { + if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) { + return `basic ${authorization}`; + } + } catch (error) {} -exports.names = []; -exports.skips = []; + if (authorization.split(/\./).length === 3) { + return `bearer ${authorization}`; + } -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ + return `token ${authorization}`; +} -exports.formatters = {}; -/** - * Select a color. - * @param {String} namespace - * @return {Number} - * @api private - */ +/***/ }), -function selectColor(namespace) { - var hash = 0, i; +/***/ 145: +/***/ (function(module, __unusedexports, __webpack_require__) { - for (i in namespace) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } +"use strict"; - return exports.colors[Math.abs(hash) % exports.colors.length]; -} - -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - -function createDebug(namespace) { - - var prevTime; - - function debug() { - // disabled? - if (!debug.enabled) return; - - var self = debug; - - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - // turn the `arguments` into a proper Array - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - - args[0] = exports.coerce(args[0]); - - if ('string' !== typeof args[0]) { - // anything else let's inspect with %O - args.unshift('%O'); - } - - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - // apply env-specific formatting (colors, etc.) - exports.formatArgs.call(self, args); - - var logFn = debug.log || exports.log || console.log.bind(console); - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.enabled = exports.enabled(namespace); - debug.useColors = exports.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; - - // env-specific initialization logic for debug instances - if ('function' === typeof exports.init) { - exports.init(debug); - } - - exports.instances.push(debug); - - return debug; -} - -function destroy () { - var index = exports.instances.indexOf(this); - if (index !== -1) { - exports.instances.splice(index, 1); - return true; - } else { - return false; - } -} - -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - -function enable(namespaces) { - exports.save(namespaces); - - exports.names = []; - exports.skips = []; - - var i; - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; - - for (i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); - } - } - - for (i = 0; i < exports.instances.length; i++) { - var instance = exports.instances[i]; - instance.enabled = exports.enabled(instance.namespace); - } -} - -/** - * Disable debug output. - * - * @api public - */ - -function disable() { - exports.enable(''); -} - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -function enabled(name) { - if (name[name.length - 1] === '*') { - return true; - } - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } - } - return false; -} - -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} - - -/***/ }), - -/***/ 143: -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = withAuthorizationPrefix - -const atob = __webpack_require__(368) - -const REGEX_IS_BASIC_AUTH = /^[\w-]+:/ - -function withAuthorizationPrefix (authorization) { - if (/^(basic|bearer|token) /i.test(authorization)) { - return authorization - } - - try { - if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) { - return `basic ${authorization}` - } - } catch (error) { } - - if (authorization.split(/\./).length === 3) { - return `bearer ${authorization}` - } - - return `token ${authorization}` -} - - -/***/ }), - -/***/ 145: -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -const pump = __webpack_require__(453); -const bufferStream = __webpack_require__(966); - -class MaxBufferError extends Error { - constructor() { - super('maxBuffer exceeded'); - this.name = 'MaxBufferError'; - } +const pump = __webpack_require__(453); +const bufferStream = __webpack_require__(966); + +class MaxBufferError extends Error { + constructor() { + super('maxBuffer exceeded'); + this.name = 'MaxBufferError'; + } } function getStream(inputStream, options) { @@ -2266,14 +2481,14 @@ module.exports.MaxBufferError = MaxBufferError; /***/ 148: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = paginatePlugin +module.exports = paginatePlugin; -const iterator = __webpack_require__(8) -const paginate = __webpack_require__(807) +const iterator = __webpack_require__(8); +const paginate = __webpack_require__(807); -function paginatePlugin (octokit) { - octokit.paginate = paginate.bind(null, octokit) - octokit.paginate.iterator = iterator.bind(null, octokit) +function paginatePlugin(octokit) { + octokit.paginate = paginate.bind(null, octokit); + octokit.paginate.iterator = iterator.bind(null, octokit); } @@ -2355,26 +2570,26 @@ module.exports = opts => { /***/ 190: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = authenticationPlugin +module.exports = authenticationPlugin; -const beforeRequest = __webpack_require__(863) -const requestError = __webpack_require__(293) -const validate = __webpack_require__(954) +const beforeRequest = __webpack_require__(863); +const requestError = __webpack_require__(293); +const validate = __webpack_require__(954); -function authenticationPlugin (octokit, options) { +function authenticationPlugin(octokit, options) { if (!options.auth) { - return + return; } - validate(options.auth) + validate(options.auth); const state = { octokit, auth: options.auth - } + }; - octokit.hook.before('request', beforeRequest.bind(null, state)) - octokit.hook.error('request', requestError.bind(null, state)) + octokit.hook.before("request", beforeRequest.bind(null, state)); + octokit.hook.error("request", requestError.bind(null, state)); } @@ -2429,16 +2644,39 @@ function checkMode (stat, options) { /***/ }), /***/ 211: -/***/ (function(module) { +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var osName = _interopDefault(__webpack_require__(2)); + +function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + + throw error; + } +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map -module.exports = require("https"); /***/ }), /***/ 215: /***/ (function(module) { -module.exports = {"_args":[["@octokit/rest@16.28.7","/Users/suguru/src/projects/github_actions/slatify"]],"_from":"@octokit/rest@16.28.7","_id":"@octokit/rest@16.28.7","_inBundle":false,"_integrity":"sha512-cznFSLEhh22XD3XeqJw51OLSfyL2fcFKUO+v2Ep9MTAFfFLS1cK1Zwd1yEgQJmJoDnj4/vv3+fGGZweG+xsbIA==","_location":"/@octokit/rest","_phantomChildren":{"os-name":"3.1.0"},"_requested":{"type":"version","registry":true,"raw":"@octokit/rest@16.28.7","name":"@octokit/rest","escapedName":"@octokit%2frest","scope":"@octokit","rawSpec":"16.28.7","saveSpec":null,"fetchSpec":"16.28.7"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.28.7.tgz","_spec":"16.28.7","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/rest.js/issues"},"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"dependencies":{"@octokit/request":"^5.0.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^3.0.0","url-template":"^2.0.8"},"description":"GitHub REST API client for Node.js","devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/fixtures-server":"^5.0.1","@octokit/routes":"20.9.2","@types/node":"^12.0.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.0.0","coveralls":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^2.1.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","mkdirp":"^0.5.1","mocha":"^6.0.0","mustache":"^3.0.0","nock":"^10.0.0","npm-run-all":"^4.1.2","nyc":"^14.0.0","prettier":"^1.14.2","proxy":"^0.2.4","semantic-release":"^15.0.0","sinon":"^7.2.4","sinon-chai":"^3.0.0","sort-keys":"^3.0.0","standard":"^13.0.1","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"files":["index.js","index.d.ts","lib","plugins"],"homepage":"https://github.com/octokit/rest.js#readme","keywords":["octokit","github","rest","api-client"],"license":"MIT","name":"@octokit/rest","nyc":{"ignore":["test"]},"publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/rest.js.git"},"scripts":{"build":"npm-run-all build:*","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","build:ts":"node scripts/generate-types","coverage":"nyc report --reporter=html && open coverage/index.html","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","generate-routes":"node scripts/generate-routes","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","prebuild:browser":"mkdirp dist/","pretest":"standard","prevalidate:ts":"npm run -s build:ts","start-fixtures-server":"octokit-fixtures-server","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","test:memory":"mocha test/memory-test","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts"},"standard":{"globals":["describe","before","beforeEach","afterEach","after","it","expect","cy"],"ignore":["/docs"]},"types":"index.d.ts","version":"16.28.7"}; +module.exports = {"_from":"@octokit/rest@^16.15.0","_id":"@octokit/rest@16.35.0","_inBundle":false,"_integrity":"sha512-9ShFqYWo0CLoGYhA1FdtdykJuMzS/9H6vSbbQWDX4pWr4p9v+15MsH/wpd/3fIU+tSxylaNO48+PIHqOkBRx3w==","_location":"/@octokit/rest","_phantomChildren":{"os-name":"3.1.0"},"_requested":{"type":"range","registry":true,"raw":"@octokit/rest@^16.15.0","name":"@octokit/rest","escapedName":"@octokit%2frest","scope":"@octokit","rawSpec":"^16.15.0","saveSpec":null,"fetchSpec":"^16.15.0"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.35.0.tgz","_shasum":"7ccc1f802f407d5b8eb21768c6deca44e7b4c0d8","_spec":"@octokit/rest@^16.15.0","_where":"/Users/suguru/src/projects/github_actions/slatify/node_modules/@actions/github","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/rest.js/issues"},"bundleDependencies":false,"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"dependencies":{"@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","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","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^12.0.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.0.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^2.1.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","mkdirp":"^0.5.1","mocha":"^6.0.0","mustache":"^3.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^14.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^15.0.0","sinon":"^7.2.4","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"files":["index.js","index.d.ts","lib","plugins"],"homepage":"https://github.com/octokit/rest.js#readme","keywords":["octokit","github","rest","api-client"],"license":"MIT","name":"@octokit/rest","nyc":{"ignore":["test"]},"publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/rest.js.git"},"scripts":{"build":"npm-run-all build:*","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","build:ts":"npm run -s update-endpoints:typescript","coverage":"nyc report --reporter=html && open coverage/index.html","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","prebuild:browser":"mkdirp dist/","pretest":"npm run -s lint","prevalidate:ts":"npm run -s build:ts","start-fixtures-server":"octokit-fixtures-server","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:code":"node scripts/update-endpoints/code","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts"},"types":"index.d.ts","version":"16.35.0"}; /***/ }), @@ -2612,215 +2850,13 @@ module.exports = function xhrAdapter(config) { /***/ }), -/***/ 235: -/***/ (function(module, exports, __webpack_require__) { +/***/ 247: +/***/ (function(module, __unusedexports, __webpack_require__) { -/** - * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. - */ +"use strict"; -exports = module.exports = __webpack_require__(138); -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); - -/** - * Colors. - */ - -exports.colors = [ - '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', - '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', - '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', - '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', - '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', - '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', - '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', - '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', - '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', - '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', - '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' -]; - -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { - return true; - } - - // Internet Explorer and Edge do not support colors. - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - - // is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || - // double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); -} - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -exports.formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (err) { - return '[UnexpectedJSONParseError]: ' + err.message; - } -}; - - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs(args) { - var useColors = this.useColors; - - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - - if (!useColors) return; - - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit') - - // the final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function(match) { - if ('%%' === match) return; - index++; - if ('%c' === match) { - // we only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - - args.splice(lastC, 0, c); -} - -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - try { - if (null == namespaces) { - exports.storage.removeItem('debug'); - } else { - exports.storage.debug = namespaces; - } - } catch(e) {} -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - var r; - try { - r = exports.storage.debug; - } catch(e) {} - - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; - } - - return r; -} - -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); - -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - -function localstorage() { - try { - return window.localStorage; - } catch (e) {} -} - - -/***/ }), - -/***/ 247: -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -const os = __webpack_require__(87); -const hasFlag = __webpack_require__(364); +const os = __webpack_require__(87); +const hasFlag = __webpack_require__(364); const env = process.env; @@ -2956,12 +2992,12 @@ module.exports = { /***/ 248: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = octokitRegisterEndpoints +module.exports = octokitRegisterEndpoints; -const registerEndpoints = __webpack_require__(899) +const registerEndpoints = __webpack_require__(899); -function octokitRegisterEndpoints (octokit) { - octokit.registerEndpoints = registerEndpoints.bind(null, octokit) +function octokitRegisterEndpoints(octokit) { + octokit.registerEndpoints = registerEndpoints.bind(null, octokit); } @@ -3131,69 +3167,54 @@ function processEmit (ev, arg) { /***/ }), -/***/ 261: -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = getUserAgentNode +/***/ 262: +/***/ (function(__unusedmodule, exports, __webpack_require__) { -const osName = __webpack_require__(2) +"use strict"; -function getUserAgentNode () { - try { - return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})` - } catch (error) { - if (/wmic os get Caption/.test(error.message)) { - return 'Windows ' +Object.defineProperty(exports, "__esModule", { value: true }); +const fs_1 = __webpack_require__(747); +const os_1 = __webpack_require__(87); +class Context { + /** + * Hydrate the context from the environment + */ + constructor() { + this.payload = {}; + if (process.env.GITHUB_EVENT_PATH) { + if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { + this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); + } + else { + process.stdout.write(`GITHUB_EVENT_PATH ${process.env.GITHUB_EVENT_PATH} does not exist${os_1.EOL}`); + } + } + this.eventName = process.env.GITHUB_EVENT_NAME; + this.sha = process.env.GITHUB_SHA; + this.ref = process.env.GITHUB_REF; + this.workflow = process.env.GITHUB_WORKFLOW; + this.action = process.env.GITHUB_ACTION; + this.actor = process.env.GITHUB_ACTOR; + } + get issue() { + const payload = this.payload; + return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pullRequest || payload).number }); + } + get repo() { + if (process.env.GITHUB_REPOSITORY) { + const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); + return { owner, repo }; + } + if (this.payload.repository) { + return { + owner: this.payload.repository.owner.login, + repo: this.payload.repository.name + }; + } + throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); } - - throw error - } } - - -/***/ }), - -/***/ 262: -/***/ (function(__unusedmodule, exports) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/* eslint-disable @typescript-eslint/no-require-imports */ -class Context { - /** - * Hydrate the context from the environment - */ - constructor() { - this.payload = process.env.GITHUB_EVENT_PATH - ? require(process.env.GITHUB_EVENT_PATH) - : {}; - this.eventName = process.env.GITHUB_EVENT_NAME; - this.sha = process.env.GITHUB_SHA; - this.ref = process.env.GITHUB_REF; - this.workflow = process.env.GITHUB_WORKFLOW; - this.action = process.env.GITHUB_ACTION; - this.actor = process.env.GITHUB_ACTOR; - } - get issue() { - const payload = this.payload; - return Object.assign({}, this.repo, { number: (payload.issue || payload.pullRequest || payload).number }); - } - get repo() { - if (process.env.GITHUB_REPOSITORY) { - const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); - return { owner, repo }; - } - if (this.payload.repository) { - return { - owner: this.payload.repository.owner.login, - repo: this.payload.repository.name - }; - } - throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); - } -} -exports.Context = Context; +exports.Context = Context; //# sourceMappingURL=context.js.map /***/ }), @@ -4796,52 +4817,66 @@ module.exports = InterceptorManager; /***/ 293: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = authenticationRequestError +module.exports = authenticationRequestError; -const { RequestError } = __webpack_require__(463) +const { RequestError } = __webpack_require__(463); -function authenticationRequestError (state, error, options) { - if (!error.headers) throw error +function authenticationRequestError(state, error, options) { + if (!error.headers) throw error; - const otpRequired = /required/.test(error.headers['x-github-otp'] || '') + const otpRequired = /required/.test(error.headers["x-github-otp"] || ""); // handle "2FA required" error only if (error.status !== 401 || !otpRequired) { - throw error + throw error; } - if (error.status === 401 && otpRequired && error.request && error.request.headers['x-github-otp']) { + if ( + error.status === 401 && + otpRequired && + error.request && + error.request.headers["x-github-otp"] + ) { if (state.otp) { - delete state.otp // no longer valid, request again + delete state.otp; // no longer valid, request again } else { - throw new RequestError('Invalid one-time password for two-factor authentication', 401, { - headers: error.headers, - request: options - }) + throw new RequestError( + "Invalid one-time password for two-factor authentication", + 401, + { + headers: error.headers, + request: options + } + ); } } - if (typeof state.auth.on2fa !== 'function') { - throw new RequestError('2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication', 401, { - headers: error.headers, - request: options - }) + if (typeof state.auth.on2fa !== "function") { + throw new RequestError( + "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication", + 401, + { + headers: error.headers, + request: options + } + ); } return Promise.resolve() .then(() => { - return state.auth.on2fa() + return state.auth.on2fa(); }) - .then((oneTimePassword) => { + .then(oneTimePassword => { const newOptions = Object.assign(options, { - headers: Object.assign(options.headers, { 'x-github-otp': oneTimePassword }) - }) - return state.octokit.request(newOptions) - .then(response => { - // If OTP still valid, then persist it for following requests - state.otp = oneTimePassword - return response + headers: Object.assign(options.headers, { + "x-github-otp": oneTimePassword }) - }) + }); + return state.octokit.request(newOptions).then(response => { + // If OTP still valid, then persist it for following requests + state.otp = oneTimePassword; + return response; + }); + }); } @@ -4850,24 +4885,28 @@ function authenticationRequestError (state, error, options) { /***/ 294: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = parseOptions +module.exports = parseOptions; -const { Deprecation } = __webpack_require__(692) -const getUserAgent = __webpack_require__(794) -const once = __webpack_require__(969) +const { Deprecation } = __webpack_require__(692); +const { getUserAgent } = __webpack_require__(619); +const once = __webpack_require__(969); -const pkg = __webpack_require__(215) +const pkg = __webpack_require__(215); -const deprecateOptionsTimeout = once((log, deprecation) => log.warn(deprecation)) -const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation)) -const deprecateOptionsHeaders = once((log, deprecation) => log.warn(deprecation)) +const deprecateOptionsTimeout = once((log, deprecation) => + log.warn(deprecation) +); +const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation)); +const deprecateOptionsHeaders = once((log, deprecation) => + log.warn(deprecation) +); -function parseOptions (options, log, hook) { +function parseOptions(options, log, hook) { if (options.headers) { options.headers = Object.keys(options.headers).reduce((newObj, key) => { - newObj[key.toLowerCase()] = options.headers[key] - return newObj - }, {}) + newObj[key.toLowerCase()] = options.headers[key]; + return newObj; + }, {}); } const clientDefaults = { @@ -4875,44 +4914,65 @@ function parseOptions (options, log, hook) { request: options.request || {}, mediaType: { previews: [], - format: '' + format: "" } - } + }; if (options.baseUrl) { - clientDefaults.baseUrl = options.baseUrl + clientDefaults.baseUrl = options.baseUrl; } if (options.userAgent) { - clientDefaults.headers['user-agent'] = options.userAgent + clientDefaults.headers["user-agent"] = options.userAgent; } if (options.previews) { - clientDefaults.mediaType.previews = options.previews + clientDefaults.mediaType.previews = options.previews; + } + + if (options.timeZone) { + clientDefaults.headers["time-zone"] = options.timeZone; } if (options.timeout) { - deprecateOptionsTimeout(log, new Deprecation('[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request')) - clientDefaults.request.timeout = options.timeout + deprecateOptionsTimeout( + log, + new Deprecation( + "[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request" + ) + ); + clientDefaults.request.timeout = options.timeout; } if (options.agent) { - deprecateOptionsAgent(log, new Deprecation('[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request')) - clientDefaults.request.agent = options.agent + deprecateOptionsAgent( + log, + new Deprecation( + "[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request" + ) + ); + clientDefaults.request.agent = options.agent; } if (options.headers) { - deprecateOptionsHeaders(log, new Deprecation('[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request')) + deprecateOptionsHeaders( + log, + new Deprecation( + "[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request" + ) + ); } - const userAgentOption = clientDefaults.headers['user-agent'] - const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}` + const userAgentOption = clientDefaults.headers["user-agent"]; + const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}`; - clientDefaults.headers['user-agent'] = [userAgentOption, defaultUserAgent].filter(Boolean).join(' ') + clientDefaults.headers["user-agent"] = [userAgentOption, defaultUserAgent] + .filter(Boolean) + .join(" "); - clientDefaults.request.hook = hook.bind(null, 'request') + clientDefaults.request.hook = hook.bind(null, "request"); - return clientDefaults + return clientDefaults; } @@ -4955,6 +5015,7 @@ module.exports = class HttpError extends Error { * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`) * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`) * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`) + * - https://developer.github.com/v3/orgs/#list-installations-for-an-organization (key `installations`) * * Octokit normalizes these responses so that paginated results are always returned following * the same structure. One challenge is that if the list response has only one page, no Link @@ -4964,135 +5025,99 @@ module.exports = class HttpError extends Error { * property because it also exists in the response of Get the combined status for a specific ref. */ -module.exports = normalizePaginatedListResponse +module.exports = normalizePaginatedListResponse; -const { Deprecation } = __webpack_require__(692) -const once = __webpack_require__(969) +const { Deprecation } = __webpack_require__(692); +const once = __webpack_require__(969); -const deprecateIncompleteResults = once((log, deprecation) => log.warn(deprecation)) -const deprecateTotalCount = once((log, deprecation) => log.warn(deprecation)) -const deprecateNamespace = once((log, deprecation) => log.warn(deprecation)) +const deprecateIncompleteResults = once((log, deprecation) => + log.warn(deprecation) +); +const deprecateTotalCount = once((log, deprecation) => log.warn(deprecation)); +const deprecateNamespace = once((log, deprecation) => log.warn(deprecation)); -const REGEX_IS_SEARCH_PATH = /^\/search\// -const REGEX_IS_CHECKS_PATH = /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)/ -const REGEX_IS_INSTALLATION_REPOSITORIES_PATH = /^\/installation\/repositories/ -const REGEX_IS_USER_INSTALLATIONS_PATH = /^\/user\/installations/ +const REGEX_IS_SEARCH_PATH = /^\/search\//; +const REGEX_IS_CHECKS_PATH = /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)/; +const REGEX_IS_INSTALLATION_REPOSITORIES_PATH = /^\/installation\/repositories/; +const REGEX_IS_USER_INSTALLATIONS_PATH = /^\/user\/installations/; +const REGEX_IS_ORG_INSTALLATIONS_PATH = /^\/orgs\/[^/]+\/installations/; -function normalizePaginatedListResponse (octokit, url, response) { - const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, '') +function normalizePaginatedListResponse(octokit, url, response) { + const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, ""); if ( !REGEX_IS_SEARCH_PATH.test(path) && !REGEX_IS_CHECKS_PATH.test(path) && !REGEX_IS_INSTALLATION_REPOSITORIES_PATH.test(path) && - !REGEX_IS_USER_INSTALLATIONS_PATH.test(path) + !REGEX_IS_USER_INSTALLATIONS_PATH.test(path) && + !REGEX_IS_ORG_INSTALLATIONS_PATH.test(path) ) { - return + return; } // keep the additional properties intact to avoid a breaking change, // but log a deprecation warning when accessed - const incompleteResults = response.data.incomplete_results - const repositorySelection = response.data.repository_selection - const totalCount = response.data.total_count - delete response.data.incomplete_results - delete response.data.repository_selection - delete response.data.total_count + const incompleteResults = response.data.incomplete_results; + const repositorySelection = response.data.repository_selection; + const totalCount = response.data.total_count; + delete response.data.incomplete_results; + delete response.data.repository_selection; + delete response.data.total_count; - const namespaceKey = Object.keys(response.data)[0] + const namespaceKey = Object.keys(response.data)[0]; - response.data = response.data[namespaceKey] + response.data = response.data[namespaceKey]; Object.defineProperty(response.data, namespaceKey, { - get () { - deprecateNamespace(octokit.log, new Deprecation(`[@octokit/rest] "result.data.${namespaceKey}" is deprecated. Use "result.data" instead`)) - return response.data + get() { + deprecateNamespace( + octokit.log, + new Deprecation( + `[@octokit/rest] "result.data.${namespaceKey}" is deprecated. Use "result.data" instead` + ) + ); + return response.data; } - }) + }); - if (typeof incompleteResults !== 'undefined') { - Object.defineProperty(response.data, 'incomplete_results', { - get () { - deprecateIncompleteResults(octokit.log, new Deprecation('[@octokit/rest] "result.data.incomplete_results" is deprecated.')) - return incompleteResults + if (typeof incompleteResults !== "undefined") { + Object.defineProperty(response.data, "incomplete_results", { + get() { + deprecateIncompleteResults( + octokit.log, + new Deprecation( + '[@octokit/rest] "result.data.incomplete_results" is deprecated.' + ) + ); + return incompleteResults; } - }) + }); } - if (typeof repositorySelection !== 'undefined') { - Object.defineProperty(response.data, 'repository_selection', { - get () { - deprecateTotalCount(octokit.log, new Deprecation('[@octokit/rest] "result.data.repository_selection" is deprecated.')) - return repositorySelection + if (typeof repositorySelection !== "undefined") { + Object.defineProperty(response.data, "repository_selection", { + get() { + deprecateTotalCount( + octokit.log, + new Deprecation( + '[@octokit/rest] "result.data.repository_selection" is deprecated.' + ) + ); + return repositorySelection; } - }) + }); } - Object.defineProperty(response.data, 'total_count', { - get () { - deprecateTotalCount(octokit.log, new Deprecation('[@octokit/rest] "result.data.total_count" is deprecated.')) - return totalCount - } - }) -} - - -/***/ }), - -/***/ 309: -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = octokitRestNormalizeGitReferenceResponses - -const { RequestError } = __webpack_require__(463) - -function octokitRestNormalizeGitReferenceResponses (octokit) { - octokit.hook.wrap('request', (request, options) => { - const isGetOrListRefRequest = /\/repos\/:?\w+\/:?\w+\/git\/refs\/:?\w+/.test(options.url) - - if (!isGetOrListRefRequest) { - return request(options) + Object.defineProperty(response.data, "total_count", { + get() { + deprecateTotalCount( + octokit.log, + new Deprecation( + '[@octokit/rest] "result.data.total_count" is deprecated.' + ) + ); + return totalCount; } - - const isGetRefRequest = 'ref' in options - - return request(options) - .then(response => { - // request single reference - if (isGetRefRequest) { - if (Array.isArray(response.data)) { - throw new RequestError(`More than one reference found for "${options.ref}"`, 404, { - request: options - }) - } - - // ✅ received single reference - return response - } - - // request list of references - if (!Array.isArray(response.data)) { - response.data = [response.data] - } - - return response - }) - - .catch(error => { - if (isGetRefRequest) { - throw error - } - - if (error.status === 404) { - return { - status: 200, - headers: error.headers, - data: [] - } - } - - throw error - }) - }) + }); } @@ -5101,7 +5126,7 @@ function octokitRestNormalizeGitReferenceResponses (octokit) { /***/ 314: /***/ (function(module) { -module.exports = {"_args":[["@octokit/graphql@2.1.3","/Users/suguru/src/projects/github_actions/slatify"]],"_from":"@octokit/graphql@2.1.3","_id":"@octokit/graphql@2.1.3","_inBundle":false,"_integrity":"sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==","_location":"/@octokit/graphql","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"@octokit/graphql@2.1.3","name":"@octokit/graphql","escapedName":"@octokit%2fgraphql","scope":"@octokit","rawSpec":"2.1.3","saveSpec":null,"fetchSpec":"2.1.3"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz","_spec":"2.1.3","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/graphql.js/issues"},"bundlesize":[{"path":"./dist/octokit-graphql.min.js.gz","maxSize":"5KB"}],"dependencies":{"@octokit/request":"^5.0.0","universal-user-agent":"^2.0.3"},"description":"GitHub GraphQL API client for browsers and Node","devDependencies":{"chai":"^4.2.0","compression-webpack-plugin":"^2.0.0","coveralls":"^3.0.3","cypress":"^3.1.5","fetch-mock":"^7.3.1","mkdirp":"^0.5.1","mocha":"^6.0.0","npm-run-all":"^4.1.3","nyc":"^14.0.0","semantic-release":"^15.13.3","simple-mock":"^0.8.0","standard":"^12.0.1","webpack":"^4.29.6","webpack-bundle-analyzer":"^3.1.0","webpack-cli":"^3.2.3"},"files":["lib"],"homepage":"https://github.com/octokit/graphql.js#readme","keywords":["octokit","github","api","graphql"],"license":"MIT","main":"index.js","name":"@octokit/graphql","publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/graphql.js.git"},"scripts":{"build":"npm-run-all build:*","build:development":"webpack --mode development --entry . --output-library=octokitGraphql --output=./dist/octokit-graphql.js --profile --json > dist/bundle-stats.json","build:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=octokitGraphql --output-path=./dist --output-filename=octokit-graphql.min.js --devtool source-map","bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","coverage":"nyc report --reporter=html && open coverage/index.html","coverage:upload":"nyc report --reporter=text-lcov | coveralls","prebuild":"mkdirp dist/","pretest":"standard","test":"nyc mocha test/*-test.js","test:browser":"cypress run --browser chrome"},"standard":{"globals":["describe","before","beforeEach","afterEach","after","it","expect"]},"version":"2.1.3"}; +module.exports = {"_from":"@octokit/graphql@^2.0.1","_id":"@octokit/graphql@2.1.3","_inBundle":false,"_integrity":"sha512-XoXJqL2ondwdnMIW3wtqJWEwcBfKk37jO/rYkoxNPEVeLBDGsGO1TCWggrAlq3keGt/O+C/7VepXnukUxwt5vA==","_location":"/@octokit/graphql","_phantomChildren":{},"_requested":{"type":"range","registry":true,"raw":"@octokit/graphql@^2.0.1","name":"@octokit/graphql","escapedName":"@octokit%2fgraphql","scope":"@octokit","rawSpec":"^2.0.1","saveSpec":null,"fetchSpec":"^2.0.1"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/graphql/-/graphql-2.1.3.tgz","_shasum":"60c058a0ed5fa242eca6f938908d95fd1a2f4b92","_spec":"@octokit/graphql@^2.0.1","_where":"/Users/suguru/src/projects/github_actions/slatify/node_modules/@actions/github","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/graphql.js/issues"},"bundleDependencies":false,"bundlesize":[{"path":"./dist/octokit-graphql.min.js.gz","maxSize":"5KB"}],"dependencies":{"@octokit/request":"^5.0.0","universal-user-agent":"^2.0.3"},"deprecated":false,"description":"GitHub GraphQL API client for browsers and Node","devDependencies":{"chai":"^4.2.0","compression-webpack-plugin":"^2.0.0","coveralls":"^3.0.3","cypress":"^3.1.5","fetch-mock":"^7.3.1","mkdirp":"^0.5.1","mocha":"^6.0.0","npm-run-all":"^4.1.3","nyc":"^14.0.0","semantic-release":"^15.13.3","simple-mock":"^0.8.0","standard":"^12.0.1","webpack":"^4.29.6","webpack-bundle-analyzer":"^3.1.0","webpack-cli":"^3.2.3"},"files":["lib"],"homepage":"https://github.com/octokit/graphql.js#readme","keywords":["octokit","github","api","graphql"],"license":"MIT","main":"index.js","name":"@octokit/graphql","publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/graphql.js.git"},"scripts":{"build":"npm-run-all build:*","build:development":"webpack --mode development --entry . --output-library=octokitGraphql --output=./dist/octokit-graphql.js --profile --json > dist/bundle-stats.json","build:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=octokitGraphql --output-path=./dist --output-filename=octokit-graphql.min.js --devtool source-map","bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","coverage":"nyc report --reporter=html && open coverage/index.html","coverage:upload":"nyc report --reporter=text-lcov | coveralls","prebuild":"mkdirp dist/","pretest":"standard","test":"nyc mocha test/*-test.js","test:browser":"cypress run --browser chrome"},"standard":{"globals":["describe","before","beforeEach","afterEach","after","it","expect"]},"version":"2.1.3"}; /***/ }), @@ -5299,10 +5324,11 @@ isStream.transform = function (stream) { "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; @@ -5451,116 +5477,154 @@ exports.IncomingWebhook = IncomingWebhook; "use strict"; -module.exports = validate +module.exports = validate; -const { RequestError } = __webpack_require__(463) -const get = __webpack_require__(854) -const set = __webpack_require__(883) +const { RequestError } = __webpack_require__(463); +const get = __webpack_require__(854); +const set = __webpack_require__(883); -function validate (octokit, options) { +function validate(octokit, options) { if (!options.request.validate) { - return + return; } - const { validate: params } = options.request + const { validate: params } = options.request; Object.keys(params).forEach(parameterName => { - const parameter = get(params, parameterName) + const parameter = get(params, parameterName); - const expectedType = parameter.type - let parentParameterName - let parentValue - let parentParamIsPresent = true - let parentParameterIsArray = false + const expectedType = parameter.type; + let parentParameterName; + let parentValue; + let parentParamIsPresent = true; + let parentParameterIsArray = false; if (/\./.test(parameterName)) { - parentParameterName = parameterName.replace(/\.[^.]+$/, '') - parentParameterIsArray = parentParameterName.slice(-2) === '[]' + parentParameterName = parameterName.replace(/\.[^.]+$/, ""); + parentParameterIsArray = parentParameterName.slice(-2) === "[]"; if (parentParameterIsArray) { - parentParameterName = parentParameterName.slice(0, -2) + parentParameterName = parentParameterName.slice(0, -2); } - parentValue = get(options, parentParameterName) - parentParamIsPresent = parentParameterName === 'headers' || (typeof parentValue === 'object' && parentValue !== null) + parentValue = get(options, parentParameterName); + parentParamIsPresent = + parentParameterName === "headers" || + (typeof parentValue === "object" && parentValue !== null); } const values = parentParameterIsArray - ? (get(options, parentParameterName) || []).map(value => value[parameterName.split(/\./).pop()]) - : [get(options, parameterName)] + ? (get(options, parentParameterName) || []).map( + value => value[parameterName.split(/\./).pop()] + ) + : [get(options, parameterName)]; values.forEach((value, i) => { - const valueIsPresent = typeof value !== 'undefined' - const valueIsNull = value === null + const valueIsPresent = typeof value !== "undefined"; + const valueIsNull = value === null; const currentParameterName = parentParameterIsArray ? parameterName.replace(/\[\]/, `[${i}]`) - : parameterName + : parameterName; if (!parameter.required && !valueIsPresent) { - return + return; } // if the parent parameter is of type object but allows null // then the child parameters can be ignored if (!parentParamIsPresent) { - return + return; } if (parameter.allowNull && valueIsNull) { - return + return; } if (!parameter.allowNull && valueIsNull) { - throw new RequestError(`'${currentParameterName}' cannot be null`, 400, { - request: options - }) + throw new RequestError( + `'${currentParameterName}' cannot be null`, + 400, + { + request: options + } + ); } if (parameter.required && !valueIsPresent) { - throw new RequestError(`Empty value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { - request: options - }) + throw new RequestError( + `Empty value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); } // parse to integer before checking for enum // so that string "1" will match enum with number 1 - if (expectedType === 'integer') { - const unparsedValue = value - value = parseInt(value, 10) + if (expectedType === "integer") { + const unparsedValue = value; + value = parseInt(value, 10); if (isNaN(value)) { - throw new RequestError(`Invalid value for parameter '${currentParameterName}': ${JSON.stringify(unparsedValue)} is NaN`, 400, { - request: options - }) + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + unparsedValue + )} is NaN`, + 400, + { + request: options + } + ); } } - if (parameter.enum && parameter.enum.indexOf(value) === -1) { - throw new RequestError(`Invalid value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { - request: options - }) + if (parameter.enum && parameter.enum.indexOf(String(value)) === -1) { + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); } if (parameter.validation) { - const regex = new RegExp(parameter.validation) + const regex = new RegExp(parameter.validation); if (!regex.test(value)) { - throw new RequestError(`Invalid value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { - request: options - }) + throw new RequestError( + `Invalid value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); } } - if (expectedType === 'object' && typeof value === 'string') { + if (expectedType === "object" && typeof value === "string") { try { - value = JSON.parse(value) + value = JSON.parse(value); } catch (exception) { - throw new RequestError(`JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify(value)}`, 400, { - request: options - }) + throw new RequestError( + `JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify( + value + )}`, + 400, + { + request: options + } + ); } } - set(options, parameter.mapTo || currentParameterName, value) - }) - }) + set(options, parameter.mapTo || currentParameterName, value); + }); + }); - return options + return options; } @@ -5569,44 +5633,60 @@ function validate (octokit, options) { /***/ 349: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = authenticationRequestError +module.exports = authenticationRequestError; -const { RequestError } = __webpack_require__(463) +const { RequestError } = __webpack_require__(463); -function authenticationRequestError (state, error, options) { +function authenticationRequestError(state, error, options) { /* istanbul ignore next */ - if (!error.headers) throw error + if (!error.headers) throw error; - const otpRequired = /required/.test(error.headers['x-github-otp'] || '') + const otpRequired = /required/.test(error.headers["x-github-otp"] || ""); // handle "2FA required" error only if (error.status !== 401 || !otpRequired) { - throw error + throw error; } - if (error.status === 401 && otpRequired && error.request && error.request.headers['x-github-otp']) { - throw new RequestError('Invalid one-time password for two-factor authentication', 401, { - headers: error.headers, - request: options - }) + if ( + error.status === 401 && + otpRequired && + error.request && + error.request.headers["x-github-otp"] + ) { + throw new RequestError( + "Invalid one-time password for two-factor authentication", + 401, + { + headers: error.headers, + request: options + } + ); } - if (typeof state.auth.on2fa !== 'function') { - throw new RequestError('2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication', 401, { - headers: error.headers, - request: options - }) + if (typeof state.auth.on2fa !== "function") { + throw new RequestError( + "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication", + 401, + { + headers: error.headers, + request: options + } + ); } return Promise.resolve() .then(() => { - return state.auth.on2fa() + return state.auth.on2fa(); }) - .then((oneTimePassword) => { + .then(oneTimePassword => { const newOptions = Object.assign(options, { - headers: Object.assign({ 'x-github-otp': oneTimePassword }, options.headers) - }) - return state.octokit.request(newOptions) - }) + headers: Object.assign( + { "x-github-otp": oneTimePassword }, + options.headers + ) + }); + return state.octokit.request(newOptions); + }); } @@ -5656,7 +5736,7 @@ axios.create = function create(instanceConfig) { // Expose Cancel & CancelToken axios.Cancel = __webpack_require__(826); axios.CancelToken = __webpack_require__(137); -axios.isCancel = __webpack_require__(492); +axios.isCancel = __webpack_require__(732); // Expose all/spread axios.all = function all(promises) { @@ -5710,7 +5790,7 @@ exports.requestErrorWithOriginal = requestErrorWithOriginal; * @param original The original error */ function httpErrorWithOriginal(original) { - const error = errorWithCode(new Error(`An HTTP protocol error occurred: statusCode = ${original.code}`), ErrorCode.HTTPError); + const error = errorWithCode(new Error(`An HTTP protocol error occurred: statusCode = ${original.response.status}`), ErrorCode.HTTPError); error.original = original; return error; } @@ -5729,7 +5809,7 @@ module.exports = require("assert"); /***/ 361: /***/ (function(module) { -module.exports = {"_args":[["axios@0.18.1","/Users/suguru/src/projects/github_actions/slatify"]],"_from":"axios@0.18.1","_id":"axios@0.18.1","_inBundle":false,"_integrity":"sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==","_location":"/axios","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"axios@0.18.1","name":"axios","escapedName":"axios","rawSpec":"0.18.1","saveSpec":null,"fetchSpec":"0.18.1"},"_requiredBy":["/@slack/webhook"],"_resolved":"https://registry.npmjs.org/axios/-/axios-0.18.1.tgz","_spec":"0.18.1","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Matt Zabriskie"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"bugs":{"url":"https://github.com/axios/axios/issues"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}],"dependencies":{"follow-redirects":"1.5.10","is-buffer":"^2.0.2"},"description":"Promise based HTTP client for the browser and node.js","devDependencies":{"bundlesize":"^0.5.7","coveralls":"^2.11.9","es6-promise":"^4.0.5","grunt":"^1.0.1","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^19.0.0","grunt-karma":"^2.0.0","grunt-ts":"^6.0.0-beta.3","grunt-webpack":"^1.0.18","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^1.3.0","karma-chrome-launcher":"^2.0.0","karma-coverage":"^1.0.0","karma-firefox-launcher":"^1.0.0","karma-jasmine":"^1.0.2","karma-jasmine-ajax":"^0.1.13","karma-opera-launcher":"^1.0.0","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^1.1.0","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.7.0","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","sinon":"^1.17.4","typescript":"^2.0.3","url-search-params":"^0.6.1","webpack":"^1.13.1","webpack-dev-server":"^1.14.1"},"homepage":"https://github.com/axios/axios","keywords":["xhr","http","ajax","promise","node"],"license":"MIT","main":"index.js","name":"axios","repository":{"type":"git","url":"git+https://github.com/axios/axios.git"},"scripts":{"build":"NODE_ENV=production grunt build","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","examples":"node ./examples/server.js","postversion":"git push && git push --tags","preversion":"npm test","start":"node ./sandbox/server.js","test":"grunt test && bundlesize","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json"},"typings":"./index.d.ts","version":"0.18.1"}; +module.exports = {"_from":"axios@^0.18.0","_id":"axios@0.18.1","_inBundle":false,"_integrity":"sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==","_location":"/axios","_phantomChildren":{},"_requested":{"type":"range","registry":true,"raw":"axios@^0.18.0","name":"axios","escapedName":"axios","rawSpec":"^0.18.0","saveSpec":null,"fetchSpec":"^0.18.0"},"_requiredBy":["/@slack/webhook"],"_resolved":"https://registry.npmjs.org/axios/-/axios-0.18.1.tgz","_shasum":"ff3f0de2e7b5d180e757ad98000f1081b87bcea3","_spec":"axios@^0.18.0","_where":"/Users/suguru/src/projects/github_actions/slatify/node_modules/@slack/webhook","author":{"name":"Matt Zabriskie"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"bugs":{"url":"https://github.com/axios/axios/issues"},"bundleDependencies":false,"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}],"dependencies":{"follow-redirects":"1.5.10","is-buffer":"^2.0.2"},"deprecated":false,"description":"Promise based HTTP client for the browser and node.js","devDependencies":{"bundlesize":"^0.5.7","coveralls":"^2.11.9","es6-promise":"^4.0.5","grunt":"^1.0.1","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.0.0","grunt-contrib-nodeunit":"^1.0.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^19.0.0","grunt-karma":"^2.0.0","grunt-ts":"^6.0.0-beta.3","grunt-webpack":"^1.0.18","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^1.3.0","karma-chrome-launcher":"^2.0.0","karma-coverage":"^1.0.0","karma-firefox-launcher":"^1.0.0","karma-jasmine":"^1.0.2","karma-jasmine-ajax":"^0.1.13","karma-opera-launcher":"^1.0.0","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^1.1.0","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.7","karma-webpack":"^1.7.0","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","sinon":"^1.17.4","typescript":"^2.0.3","url-search-params":"^0.6.1","webpack":"^1.13.1","webpack-dev-server":"^1.14.1"},"homepage":"https://github.com/axios/axios","keywords":["xhr","http","ajax","promise","node"],"license":"MIT","main":"index.js","name":"axios","repository":{"type":"git","url":"git+https://github.com/axios/axios.git"},"scripts":{"build":"NODE_ENV=production grunt build","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","examples":"node ./examples/server.js","postversion":"git push && git push --tags","preversion":"npm test","start":"node ./sandbox/server.js","test":"grunt test && bundlesize","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json"},"typings":"./index.d.ts","version":"0.18.1"}; /***/ }), @@ -5845,27 +5925,33 @@ function deprecate (message) { /***/ 372: /***/ (function(module) { -module.exports = octokitDebug +module.exports = octokitDebug; -function octokitDebug (octokit) { - octokit.hook.wrap('request', (request, options) => { - octokit.log.debug(`request`, options) - const start = Date.now() - const requestOptions = octokit.request.endpoint.parse(options) - const path = requestOptions.url.replace(options.baseUrl, '') +function octokitDebug(octokit) { + octokit.hook.wrap("request", (request, options) => { + octokit.log.debug("request", options); + const start = Date.now(); + const requestOptions = octokit.request.endpoint.parse(options); + const path = requestOptions.url.replace(options.baseUrl, ""); return request(options) - .then(response => { - octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`) - return response + octokit.log.info( + `${requestOptions.method} ${path} - ${ + response.status + } in ${Date.now() - start}ms` + ); + return response; }) .catch(error => { - octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`) - throw error - }) - }) + octokit.log.info( + `${requestOptions.method} ${path} - ${error.status} in ${Date.now() - + start}ms` + ); + throw error; + }); + }); } @@ -5881,10 +5967,8 @@ Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var deepmerge = _interopDefault(__webpack_require__(867)); var isPlainObject = _interopDefault(__webpack_require__(696)); -var urlTemplate = _interopDefault(__webpack_require__(714)); -var getUserAgent = _interopDefault(__webpack_require__(746)); +var universalUserAgent = __webpack_require__(562); function lowercaseKeys(object) { if (!object) { @@ -5897,6 +5981,22 @@ function lowercaseKeys(object) { }, {}); } +function mergeDeep(defaults, options) { + const result = Object.assign({}, defaults); + Object.keys(options).forEach(key => { + if (isPlainObject(options[key])) { + if (!(key in defaults)) Object.assign(result, { + [key]: options[key] + });else result[key] = mergeDeep(defaults[key], options[key]); + } else { + Object.assign(result, { + [key]: options[key] + }); + } + }); + return result; +} + function merge(defaults, route, options) { if (typeof route === "string") { let [method, url] = route.split(" "); @@ -5907,14 +6007,12 @@ function merge(defaults, route, options) { url: method }, options); } else { - options = route || {}; + options = Object.assign({}, route); } // lowercase header names before merging with defaults to avoid duplicates options.headers = lowercaseKeys(options.headers); - const mergedOptions = deepmerge.all([defaults, options].filter(Boolean), { - isMergeableObject: isPlainObject - }); // mediaType.previews arrays are merged, instead of overwritten + const mergedOptions = mergeDeep(defaults || {}, options); // mediaType.previews arrays are merged, instead of overwritten if (defaults && defaults.mediaType.previews.length) { mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(preview => !mergedOptions.mediaType.previews.includes(preview)).concat(mergedOptions.mediaType.previews); @@ -5964,17 +6062,184 @@ function omit(object, keysToOmit) { }, {}); } +// Based on https://github.com/bramstein/url-template, licensed under BSD +// TODO: create separate package. +// +// Copyright (c) 2012-2014, Bram Stein +// All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* istanbul ignore file */ +function encodeReserved(str) { + return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { + if (!/%[0-9A-Fa-f]/.test(part)) { + part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]"); + } + + return part; + }).join(""); +} + +function encodeUnreserved(str) { + return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { + return "%" + c.charCodeAt(0).toString(16).toUpperCase(); + }); +} + +function encodeValue(operator, value, key) { + value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value); + + if (key) { + return encodeUnreserved(key) + "=" + value; + } else { + return value; + } +} + +function isDefined(value) { + return value !== undefined && value !== null; +} + +function isKeyOperator(operator) { + return operator === ";" || operator === "&" || operator === "?"; +} + +function getValues(context, operator, key, modifier) { + var value = context[key], + result = []; + + if (isDefined(value) && value !== "") { + if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") { + value = value.toString(); + + if (modifier && modifier !== "*") { + value = value.substring(0, parseInt(modifier, 10)); + } + + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + } else { + if (modifier === "*") { + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + result.push(encodeValue(operator, value, isKeyOperator(operator) ? key : "")); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + result.push(encodeValue(operator, value[k], k)); + } + }); + } + } else { + const tmp = []; + + if (Array.isArray(value)) { + value.filter(isDefined).forEach(function (value) { + tmp.push(encodeValue(operator, value)); + }); + } else { + Object.keys(value).forEach(function (k) { + if (isDefined(value[k])) { + tmp.push(encodeUnreserved(k)); + tmp.push(encodeValue(operator, value[k].toString())); + } + }); + } + + if (isKeyOperator(operator)) { + result.push(encodeUnreserved(key) + "=" + tmp.join(",")); + } else if (tmp.length !== 0) { + result.push(tmp.join(",")); + } + } + } + } else { + if (operator === ";") { + if (isDefined(value)) { + result.push(encodeUnreserved(key)); + } + } else if (value === "" && (operator === "&" || operator === "?")) { + result.push(encodeUnreserved(key) + "="); + } else if (value === "") { + result.push(""); + } + } + + return result; +} + +function parseUrl(template) { + return { + expand: expand.bind(null, template) + }; +} + +function expand(template, context) { + var operators = ["+", "#", ".", "/", ";", "?", "&"]; + return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { + if (expression) { + let operator = ""; + const values = []; + + if (operators.indexOf(expression.charAt(0)) !== -1) { + operator = expression.charAt(0); + expression = expression.substr(1); + } + + expression.split(/,/g).forEach(function (variable) { + var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); + values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3])); + }); + + if (operator && operator !== "+") { + var separator = ","; + + if (operator === "?") { + separator = "&"; + } else if (operator !== "#") { + separator = operator; + } + + return (values.length !== 0 ? operator : "") + values.join(separator); + } else { + return values.join(","); + } + } else { + return encodeReserved(literal); + } + }); +} + function parse(options) { // https://fetch.spec.whatwg.org/#methods let method = options.method.toUpperCase(); // replace :varname with {varname} to make it RFC 6570 compatible - let url = options.url.replace(/:([a-z]\w+)/g, "{+$1}"); + let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{+$1}"); let headers = Object.assign({}, options.headers); let body; let parameters = omit(options, ["method", "baseUrl", "url", "headers", "request", "mediaType"]); // extract variable names from URL to calculate remaining variables later const urlVariableNames = extractUrlVariableNames(url); - url = urlTemplate.parse(url).expand(parameters); + url = parseUrl(url).expand(parameters); if (!/^http/.test(url)) { url = options.baseUrl + url; @@ -6053,9 +6318,11 @@ function withDefaults(oldDefaults, newDefaults) { }); } -const VERSION = "0.0.0-development"; +const VERSION = "5.5.1"; + +const userAgent = `octokit-endpoint.js/${VERSION} ${universalUserAgent.getUserAgent()}`; // DEFAULTS has all properties set that EndpointOptions has, except url. +// So we use RequestParameters and add method as additional required property. -const userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`; const DEFAULTS = { method: "GET", baseUrl: "https://api.github.com", @@ -6072,6 +6339,7 @@ const DEFAULTS = { const endpoint = withDefaults(null, DEFAULTS); exports.endpoint = endpoint; +//# sourceMappingURL=index.js.map /***/ }), @@ -6119,31 +6387,34 @@ module.exports = readShebang; /***/ 402: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = Octokit +module.exports = Octokit; -const { request } = __webpack_require__(753) -const Hook = __webpack_require__(523) - -const parseClientOptions = __webpack_require__(294) - -function Octokit (plugins, options) { - options = options || {} - const hook = new Hook.Collection() - const log = Object.assign({ - debug: () => {}, - info: () => {}, - warn: console.warn, - error: console.error - }, options && options.log) +const { request } = __webpack_require__(753); +const Hook = __webpack_require__(523); + +const parseClientOptions = __webpack_require__(294); + +function Octokit(plugins, options) { + options = options || {}; + const hook = new Hook.Collection(); + const log = Object.assign( + { + debug: () => {}, + info: () => {}, + warn: console.warn, + error: console.error + }, + options && options.log + ); const api = { hook, log, request: request.defaults(parseClientOptions(options, log, hook)) - } + }; - plugins.forEach(pluginFunction => pluginFunction(api, options)) + plugins.forEach(pluginFunction => pluginFunction(api, options)); - return api + return api; } @@ -6226,12 +6497,12 @@ function errname(uv, code) { /***/ 430: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = octokitValidate +module.exports = octokitValidate; -const validate = __webpack_require__(348) +const validate = __webpack_require__(348); -function octokitValidate (octokit) { - octokit.hook.before('request', validate.bind(null, octokit)) +function octokitValidate(octokit) { + octokit.hook.before("request", validate.bind(null, octokit)); } @@ -6241,71 +6512,71 @@ function octokitValidate (octokit) { /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const os = __webpack_require__(87); -/** - * Commands - * - * Command Format: - * ##[name key=value;key=value]message - * - * Examples: - * ##[warning]This is the user warning message - * ##[set-secret name=mypassword]definatelyNotAPassword! - */ -function issueCommand(command, properties, message) { - const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); -} -exports.issueCommand = issueCommand; -function issue(name, message) { - issueCommand(name, {}, message); -} -exports.issue = issue; -const CMD_PREFIX = '##['; -class Command { - constructor(command, properties, message) { - if (!command) { - command = 'missing.command'; - } - this.command = command; - this.properties = properties; - this.message = message; - } - toString() { - let cmdStr = CMD_PREFIX + this.command; - if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; - for (const key in this.properties) { - if (this.properties.hasOwnProperty(key)) { - const val = this.properties[key]; - if (val) { - // safely append the val - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - cmdStr += `${key}=${escape(`${val || ''}`)};`; - } - } - } - } - cmdStr += ']'; - // safely append the message - avoid blowing up when attempting to - // call .replace() if message is not a string for some reason - const message = `${this.message || ''}`; - cmdStr += escapeData(message); - return cmdStr; - } -} -function escapeData(s) { - return s.replace(/\r/g, '%0D').replace(/\n/g, '%0A'); -} -function escape(s) { - return s - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A') - .replace(/]/g, '%5D') - .replace(/;/g, '%3B'); -} + +Object.defineProperty(exports, "__esModule", { value: true }); +const os = __webpack_require__(87); +/** + * Commands + * + * Command Format: + * ##[name key=value;key=value]message + * + * Examples: + * ##[warning]This is the user warning message + * ##[set-secret name=mypassword]definitelyNotAPassword! + */ +function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); +} +exports.issueCommand = issueCommand; +function issue(name, message = '') { + issueCommand(name, {}, message); +} +exports.issue = issue; +const CMD_STRING = '::'; +class Command { + constructor(command, properties, message) { + if (!command) { + command = 'missing.command'; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += ' '; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + // safely append the val - avoid blowing up when attempting to + // call .replace() if message is not a string for some reason + cmdStr += `${key}=${escape(`${val || ''}`)},`; + } + } + } + } + cmdStr += CMD_STRING; + // safely append the message - avoid blowing up when attempting to + // call .replace() if message is not a string for some reason + const message = `${this.message || ''}`; + cmdStr += escapeData(message); + return cmdStr; + } +} +function escapeData(s) { + return s.replace(/\r/g, '%0D').replace(/\n/g, '%0A'); +} +function escape(s) { + return s + .replace(/\r/g, '%0D') + .replace(/\n/g, '%0A') + .replace(/]/g, '%5D') + .replace(/;/g, '%3B'); +} //# sourceMappingURL=command.js.map /***/ }), @@ -6459,7 +6730,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau var Stream = _interopDefault(__webpack_require__(413)); var http = _interopDefault(__webpack_require__(605)); var Url = _interopDefault(__webpack_require__(835)); -var https = _interopDefault(__webpack_require__(211)); +var https = _interopDefault(__webpack_require__(34)); var zlib = _interopDefault(__webpack_require__(761)); // Based on https://github.com/tmpvar/jsdom/blob/aa85b2abf07766ff7bf5c1f6daafb3726f2f2db5/lib/jsdom/living/blob.js @@ -8186,7 +8457,7 @@ class RequestError extends Error { } }); - this.headers = options.headers; // redact request credentials without mutating original request options + this.headers = options.headers || {}; // redact request credentials without mutating original request options const requestCopy = Object.assign({}, options.request); @@ -8207,6 +8478,7 @@ class RequestError extends Error { } exports.RequestError = RequestError; +//# sourceMappingURL=index.js.map /***/ }), @@ -8215,34 +8487,34 @@ exports.RequestError = RequestError; /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; - -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -// Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/master/src/github.ts -const graphql_1 = __webpack_require__(503); -const rest_1 = __importDefault(__webpack_require__(613)); -const Context = __importStar(__webpack_require__(262)); -// We need this in order to extend Octokit -rest_1.default.prototype = new rest_1.default(); -exports.context = new Context.Context(); -class GitHub extends rest_1.default { - constructor(token) { - super({ auth: `token ${token}` }); - this.graphql = graphql_1.defaults({ - headers: { authorization: `token ${token}` } - }); - } -} -exports.GitHub = GitHub; + +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +// Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/master/src/github.ts +const graphql_1 = __webpack_require__(503); +const rest_1 = __importDefault(__webpack_require__(613)); +const Context = __importStar(__webpack_require__(262)); +// We need this in order to extend Octokit +rest_1.default.prototype = new rest_1.default(); +exports.context = new Context.Context(); +class GitHub extends rest_1.default { + constructor(token, opts = {}) { + super(Object.assign(Object.assign({}, opts), { auth: `token ${token}` })); + this.graphql = graphql_1.defaults({ + headers: { authorization: `token ${token}` } + }); + } +} +exports.GitHub = GitHub; //# sourceMappingURL=github.js.map /***/ }), @@ -8251,185 +8523,249 @@ exports.GitHub = GitHub; /***/ (function(__unusedmodule, exports, __webpack_require__) { "use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = __webpack_require__(431); -const path = __webpack_require__(622); -/** - * The code to exit an action - */ -var ExitCode; -(function (ExitCode) { - /** - * A code indicating that the action was successful - */ - ExitCode[ExitCode["Success"] = 0] = "Success"; - /** - * A code indicating that the action was a failure - */ - ExitCode[ExitCode["Failure"] = 1] = "Failure"; -})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); -//----------------------------------------------------------------------- -// Variables -//----------------------------------------------------------------------- -/** - * sets env variable for this action and future actions in the job - * @param name the name of the variable to set - * @param val the value of the variable - */ -function exportVariable(name, val) { - process.env[name] = val; - command_1.issueCommand('set-env', { name }, val); -} -exports.exportVariable = exportVariable; -/** - * exports the variable and registers a secret which will get masked from logs - * @param name the name of the variable to set - * @param val value of the secret - */ -function exportSecret(name, val) { - exportVariable(name, val); - command_1.issueCommand('set-secret', {}, val); -} -exports.exportSecret = exportSecret; -/** - * Prepends inputPath to the PATH (for this action and future actions) - * @param inputPath - */ -function addPath(inputPath) { - command_1.issueCommand('add-path', {}, inputPath); - process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; -} -exports.addPath = addPath; -/** - * Gets the value of an input. The value is also trimmed. - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string - */ -function getInput(name, options) { - const val = process.env[`INPUT_${name.replace(' ', '_').toUpperCase()}`] || ''; - if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); - } - return val.trim(); -} -exports.getInput = getInput; -/** - * Sets the value of an output. - * - * @param name name of the output to set - * @param value value to store - */ -function setOutput(name, value) { - command_1.issueCommand('set-output', { name }, value); -} -exports.setOutput = setOutput; -//----------------------------------------------------------------------- -// Results -//----------------------------------------------------------------------- -/** - * Sets the action status to failed. - * When the action exits it will be with an exit code of 1 - * @param message add error issue message - */ -function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); -} -exports.setFailed = setFailed; -//----------------------------------------------------------------------- -// Logging Commands -//----------------------------------------------------------------------- -/** - * Writes debug message to user log - * @param message debug message - */ -function debug(message) { - command_1.issueCommand('debug', {}, message); -} -exports.debug = debug; -/** - * Adds an error issue - * @param message error issue message - */ -function error(message) { - command_1.issue('error', message); -} -exports.error = error; -/** - * Adds an warning issue - * @param message warning issue message - */ -function warning(message) { - command_1.issue('warning', message); -} -exports.warning = warning; -//# sourceMappingURL=core.js.map - -/***/ }), - -/***/ 471: -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = authenticationBeforeRequest - -const btoa = __webpack_require__(675) -const uniq = __webpack_require__(126) - -function authenticationBeforeRequest (state, options) { - if (!state.auth.type) { - return - } - - if (state.auth.type === 'basic') { - const hash = btoa(`${state.auth.username}:${state.auth.password}`) - options.headers['authorization'] = `Basic ${hash}` - return - } - - if (state.auth.type === 'token') { - options.headers['authorization'] = `token ${state.auth.token}` - return - } - - if (state.auth.type === 'app') { - options.headers['authorization'] = `Bearer ${state.auth.token}` - const acceptHeaders = options.headers['accept'].split(',') - .concat('application/vnd.github.machine-man-preview+json') - options.headers['accept'] = uniq(acceptHeaders).filter(Boolean).join(',') - return - } - options.url += options.url.indexOf('?') === -1 ? '?' : '&' - - if (state.auth.token) { - options.url += `access_token=${encodeURIComponent(state.auth.token)}` - return - } - - const key = encodeURIComponent(state.auth.key) - const secret = encodeURIComponent(state.auth.secret) - options.url += `client_id=${key}&client_secret=${secret}` +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const command_1 = __webpack_require__(431); +const os = __webpack_require__(87); +const path = __webpack_require__(622); +/** + * The code to exit an action + */ +var ExitCode; +(function (ExitCode) { + /** + * A code indicating that the action was successful + */ + ExitCode[ExitCode["Success"] = 0] = "Success"; + /** + * A code indicating that the action was a failure + */ + ExitCode[ExitCode["Failure"] = 1] = "Failure"; +})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); +//----------------------------------------------------------------------- +// Variables +//----------------------------------------------------------------------- +/** + * Sets env variable for this action and future actions in the job + * @param name the name of the variable to set + * @param val the value of the variable + */ +function exportVariable(name, val) { + process.env[name] = val; + command_1.issueCommand('set-env', { name }, val); } - +exports.exportVariable = exportVariable; +/** + * Registers a secret which will get masked from logs + * @param secret value of the secret + */ +function setSecret(secret) { + command_1.issueCommand('add-mask', {}, secret); +} +exports.setSecret = setSecret; +/** + * Prepends inputPath to the PATH (for this action and future actions) + * @param inputPath + */ +function addPath(inputPath) { + command_1.issueCommand('add-path', {}, inputPath); + process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; +} +exports.addPath = addPath; +/** + * Gets the value of an input. The value is also trimmed. + * + * @param name name of the input to get + * @param options optional. See InputOptions. + * @returns string + */ +function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + return val.trim(); +} +exports.getInput = getInput; +/** + * Sets the value of an output. + * + * @param name name of the output to set + * @param value value to store + */ +function setOutput(name, value) { + command_1.issueCommand('set-output', { name }, value); +} +exports.setOutput = setOutput; +//----------------------------------------------------------------------- +// Results +//----------------------------------------------------------------------- +/** + * Sets the action status to failed. + * When the action exits it will be with an exit code of 1 + * @param message add error issue message + */ +function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); +} +exports.setFailed = setFailed; +//----------------------------------------------------------------------- +// Logging Commands +//----------------------------------------------------------------------- +/** + * Writes debug message to user log + * @param message debug message + */ +function debug(message) { + command_1.issueCommand('debug', {}, message); +} +exports.debug = debug; +/** + * Adds an error issue + * @param message error issue message + */ +function error(message) { + command_1.issue('error', message); +} +exports.error = error; +/** + * Adds an warning issue + * @param message warning issue message + */ +function warning(message) { + command_1.issue('warning', message); +} +exports.warning = warning; +/** + * Writes info to log with console.log. + * @param message info message + */ +function info(message) { + process.stdout.write(message + os.EOL); +} +exports.info = info; +/** + * Begin an output group. + * + * Output until the next `groupEnd` will be foldable in this group + * + * @param name The name of the output group + */ +function startGroup(name) { + command_1.issue('group', name); +} +exports.startGroup = startGroup; +/** + * End an output group. + */ +function endGroup() { + command_1.issue('endgroup'); +} +exports.endGroup = endGroup; +/** + * Wrap an asynchronous function call in a group. + * + * Returns the same type as the function itself. + * + * @param name The name of the group + * @param fn The function to wrap in the group + */ +function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } + finally { + endGroup(); + } + return result; + }); +} +exports.group = group; +//----------------------------------------------------------------------- +// Wrapper action state +//----------------------------------------------------------------------- +/** + * Saves state for current action, the state can only be retrieved by this action's post job execution. + * + * @param name name of the state to store + * @param value value to store + */ +function saveState(name, value) { + command_1.issueCommand('save-state', { name }, value); +} +exports.saveState = saveState; +/** + * Gets the value of an state set by this action's main execution. + * + * @param name name of the state to get + * @returns string + */ +function getState(name) { + return process.env[`STATE_${name}`] || ''; +} +exports.getState = getState; +//# sourceMappingURL=core.js.map /***/ }), -/***/ 480: -/***/ (function(module) { +/***/ 471: +/***/ (function(module, __unusedexports, __webpack_require__) { -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ +module.exports = authenticationBeforeRequest; -module.exports = function isBuffer (obj) { - return obj != null && obj.constructor != null && - typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) +const btoa = __webpack_require__(675); +const uniq = __webpack_require__(126); + +function authenticationBeforeRequest(state, options) { + if (!state.auth.type) { + return; + } + + if (state.auth.type === "basic") { + const hash = btoa(`${state.auth.username}:${state.auth.password}`); + options.headers.authorization = `Basic ${hash}`; + return; + } + + if (state.auth.type === "token") { + options.headers.authorization = `token ${state.auth.token}`; + return; + } + + if (state.auth.type === "app") { + options.headers.authorization = `Bearer ${state.auth.token}`; + const acceptHeaders = options.headers.accept + .split(",") + .concat("application/vnd.github.machine-man-preview+json"); + options.headers.accept = uniq(acceptHeaders) + .filter(Boolean) + .join(","); + return; + } + + options.url += options.url.indexOf("?") === -1 ? "?" : "&"; + + if (state.auth.token) { + options.url += `access_token=${encodeURIComponent(state.auth.token)}`; + return; + } + + const key = encodeURIComponent(state.auth.key); + const secret = encodeURIComponent(state.auth.secret); + options.url += `client_id=${key}&client_secret=${secret}`; } @@ -8488,19 +8824,6 @@ function resolveCommand(parsed) { module.exports = resolveCommand; -/***/ }), - -/***/ 492: -/***/ (function(module) { - -"use strict"; - - -module.exports = function isCancel(value) { - return !!(value && value.__CANCEL__); -}; - - /***/ }), /***/ 500: @@ -8688,9 +9011,9 @@ module.exports.Collection = Hook.Collection /***/ 529: /***/ (function(module, __unusedexports, __webpack_require__) { -const factory = __webpack_require__(47) +const factory = __webpack_require__(47); -module.exports = factory() +module.exports = factory(); /***/ }), @@ -8716,10 +9039,10 @@ function hasFirstPage (link) { var url = __webpack_require__(835); var http = __webpack_require__(605); -var https = __webpack_require__(211); +var https = __webpack_require__(34); var assert = __webpack_require__(357); var Writable = __webpack_require__(413).Writable; -var debug = __webpack_require__(732)("follow-redirects"); +var debug = __webpack_require__(784)("follow-redirects"); // RFC7231§4.2.1: Of the request methods defined by this specification, // the GET, HEAD, OPTIONS, and TRACE methods are defined to be safe. @@ -9068,6 +9391,36 @@ function hasPreviousPage (link) { } +/***/ }), + +/***/ 562: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var osName = _interopDefault(__webpack_require__(2)); + +function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + + throw error; + } +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map + + /***/ }), /***/ 563: @@ -9276,18 +9629,18 @@ function getPageLinks (link) { /***/ 586: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = octokitRestApiEndpoints +module.exports = octokitRestApiEndpoints; -const ROUTES = __webpack_require__(705) +const ROUTES = __webpack_require__(705); -function octokitRestApiEndpoints (octokit) { +function octokitRestApiEndpoints(octokit) { // Aliasing scopes for backward compatibility // See https://github.com/octokit/rest.js/pull/1134 - ROUTES.gitdata = ROUTES.git - ROUTES.authorization = ROUTES.oauthAuthorizations - ROUTES.pullRequests = ROUTES.pulls + ROUTES.gitdata = ROUTES.git; + ROUTES.authorization = ROUTES.oauthAuthorizations; + ROUTES.pullRequests = ROUTES.pulls; - octokit.registerEndpoints(ROUTES) + octokit.registerEndpoints(ROUTES); } @@ -9353,22 +9706,21 @@ module.exports = require("http"); /***/ 613: /***/ (function(module, __unusedexports, __webpack_require__) { -const Octokit = __webpack_require__(529) +const Octokit = __webpack_require__(529); const CORE_PLUGINS = [ __webpack_require__(372), __webpack_require__(19), // deprecated: remove in v17 __webpack_require__(190), __webpack_require__(148), - __webpack_require__(309), __webpack_require__(248), __webpack_require__(586), __webpack_require__(430), __webpack_require__(850) // deprecated: remove in v17 -] +]; -module.exports = Octokit.plugin(CORE_PLUGINS) +module.exports = Octokit.plugin(CORE_PLUGINS); /***/ }), @@ -9378,6 +9730,36 @@ module.exports = Octokit.plugin(CORE_PLUGINS) module.exports = require("events"); +/***/ }), + +/***/ 619: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, '__esModule', { value: true }); + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var osName = _interopDefault(__webpack_require__(2)); + +function getUserAgent() { + try { + return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; + } catch (error) { + if (/wmic os get Caption/.test(error.message)) { + return "Windows "; + } + + throw error; + } +} + +exports.getUserAgent = getUserAgent; +//# sourceMappingURL=index.js.map + + /***/ }), /***/ 621: @@ -9586,7 +9968,7 @@ var utils = __webpack_require__(35); var settle = __webpack_require__(564); var buildURL = __webpack_require__(133); var http = __webpack_require__(605); -var https = __webpack_require__(211); +var https = __webpack_require__(34); var httpFollow = __webpack_require__(549).http; var httpsFollow = __webpack_require__(549).https; var url = __webpack_require__(835); @@ -9825,46 +10207,57 @@ module.exports = function httpAdapter(config) { /***/ 674: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = authenticate +module.exports = authenticate; -const { Deprecation } = __webpack_require__(692) -const once = __webpack_require__(969) +const { Deprecation } = __webpack_require__(692); +const once = __webpack_require__(969); -const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)) +const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation)); -function authenticate (state, options) { - deprecateAuthenticate(state.octokit.log, new Deprecation('[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.')) +function authenticate(state, options) { + deprecateAuthenticate( + state.octokit.log, + new Deprecation( + '[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.' + ) + ); if (!options) { - state.auth = false - return + state.auth = false; + return; } switch (options.type) { - case 'basic': + case "basic": if (!options.username || !options.password) { - throw new Error('Basic authentication requires both a username and password to be set') + throw new Error( + "Basic authentication requires both a username and password to be set" + ); } - break + break; - case 'oauth': + case "oauth": if (!options.token && !(options.key && options.secret)) { - throw new Error('OAuth2 authentication requires a token or key & secret to be set') + throw new Error( + "OAuth2 authentication requires a token or key & secret to be set" + ); } - break + break; - case 'token': - case 'app': + case "token": + case "app": if (!options.token) { - throw new Error('Token authentication requires a token to be set') + throw new Error("Token authentication requires a token to be set"); } - break + break; default: - throw new Error("Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'") + throw new Error( + "Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'" + ); } - state.auth = options + state.auth = options; } @@ -10066,209 +10459,14 @@ module.exports = (promise, onFinally) => { /***/ 698: /***/ (function(module) { -module.exports = {"_args":[["@slack/webhook@5.0.1","/Users/suguru/src/projects/github_actions/slatify"]],"_from":"@slack/webhook@5.0.1","_id":"@slack/webhook@5.0.1","_inBundle":false,"_integrity":"sha512-cTp0xOdd28gbMAGR80IzcG2QtwDPO0oq7NopxbitCUiDYVC40r7syJB86MBkt9spABOl1uNjB26tA9Lhe3XBbQ==","_location":"/@slack/webhook","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"@slack/webhook@5.0.1","name":"@slack/webhook","escapedName":"@slack%2fwebhook","scope":"@slack","rawSpec":"5.0.1","saveSpec":null,"fetchSpec":"5.0.1"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/@slack/webhook/-/webhook-5.0.1.tgz","_spec":"5.0.1","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Slack Technologies, Inc."},"bugs":{"url":"https://github.com/slackapi/node-slack-sdk/issues"},"dependencies":{"@slack/types":"^1.1.0","@types/node":">=8.9.0","axios":"^0.18.0"},"description":"Official library for using the Slack Platform's Incoming Webhooks","devDependencies":{"@types/chai":"^4.1.7","@types/mocha":"^5.2.6","chai":"^4.2.0","codecov":"^3.2.0","mocha":"^6.0.2","nock":"^10.0.6","nyc":"^14.1.1","shx":"^0.3.2","sinon":"^7.2.7","source-map-support":"^0.5.10","ts-node":"^8.0.3","tslint":"^5.13.1","tslint-config-airbnb":"^5.11.1","typescript":"^3.3.3333"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"files":["dist/**/*"],"gitHead":"35b40af1dc28ef40cb00eb9a47f902e73c27b03f","homepage":"https://slack.dev/node-slack-sdk/webhook","keywords":["slack","request","client","http","api","proxy"],"license":"MIT","main":"dist/index.js","name":"@slack/webhook","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/slackapi/node-slack-sdk.git"},"scripts":{"build":"npm run build:clean && tsc","build:clean":"shx rm -rf ./dist ./coverage ./.nyc_output","coverage":"codecov -F webhook --root=$PWD","lint":"tslint --project .","prepare":"npm run build","test":"npm run build && nyc mocha --config .mocharc.json src/*.spec.js"},"types":"./dist/index.d.ts","version":"5.0.1"}; +module.exports = {"_from":"@slack/webhook@^5.0.1","_id":"@slack/webhook@5.0.2","_inBundle":false,"_integrity":"sha512-Ns35+KC//EWu+g+Bzp5m18V7qsCBdqAdvV4FJi2ng8+jto4rH2Bv2vUMmMioRn9LIiZ38LPsX/InrFjaO5XwGA==","_location":"/@slack/webhook","_phantomChildren":{},"_requested":{"type":"range","registry":true,"raw":"@slack/webhook@^5.0.1","name":"@slack/webhook","escapedName":"@slack%2fwebhook","scope":"@slack","rawSpec":"^5.0.1","saveSpec":null,"fetchSpec":"^5.0.1"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/@slack/webhook/-/webhook-5.0.2.tgz","_shasum":"822f7f930291ad2600db1ce8c39254260dc4d2fe","_spec":"@slack/webhook@^5.0.1","_where":"/Users/suguru/src/projects/github_actions/slatify","author":{"name":"Slack Technologies, Inc."},"bugs":{"url":"https://github.com/slackapi/node-slack-sdk/issues"},"bundleDependencies":false,"dependencies":{"@slack/types":"^1.1.0","@types/node":">=8.9.0","axios":"^0.18.0"},"deprecated":false,"description":"Official library for using the Slack Platform's Incoming Webhooks","devDependencies":{"@types/chai":"^4.1.7","@types/mocha":"^5.2.6","chai":"^4.2.0","codecov":"^3.2.0","mocha":"^6.0.2","nock":"^10.0.6","nyc":"^14.1.1","shx":"^0.3.2","sinon":"^7.2.7","source-map-support":"^0.5.10","ts-node":"^8.0.3","tslint":"^5.13.1","tslint-config-airbnb":"^5.11.1","typescript":"^3.3.3333"},"engines":{"node":">= 8.9.0","npm":">= 5.5.1"},"files":["dist/**/*"],"gitHead":"8a3f777519718ffb87cbde712f75b8d594255f84","homepage":"https://slack.dev/node-slack-sdk/webhook","keywords":["slack","request","client","http","api","proxy"],"license":"MIT","main":"dist/index.js","name":"@slack/webhook","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/slackapi/node-slack-sdk.git"},"scripts":{"build":"npm run build:clean && tsc","build:clean":"shx rm -rf ./dist ./coverage ./.nyc_output","coverage":"codecov -F webhook --root=$PWD","lint":"tslint --project .","prepare":"npm run build","test":"npm run build && nyc mocha --config .mocharc.json src/*.spec.js"},"types":"./dist/index.d.ts","version":"5.0.2"}; /***/ }), /***/ 705: /***/ (function(module) { -module.exports = {"activity":{"checkStarringRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"},"deleteRepoSubscription":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscription"},"deleteThreadSubscription":{"method":"DELETE","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"getRepoSubscription":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscription"},"getThread":{"method":"GET","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id"},"getThreadSubscription":{"method":"GET","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"listEventsForOrg":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events/orgs/:org"},"listEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events"},"listFeeds":{"method":"GET","params":{},"url":"/feeds"},"listNotifications":{"method":"GET","params":{"all":{"type":"boolean"},"before":{"type":"string"},"page":{"type":"integer"},"participating":{"type":"boolean"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/notifications"},"listNotificationsForRepo":{"method":"GET","params":{"all":{"type":"boolean"},"before":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"participating":{"type":"boolean"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/notifications"},"listPublicEvents":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/events"},"listPublicEventsForOrg":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/events"},"listPublicEventsForRepoNetwork":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/networks/:owner/:repo/events"},"listPublicEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events/public"},"listReceivedEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/received_events"},"listReceivedPublicEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/received_events/public"},"listRepoEvents":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/events"},"listReposStarredByAuthenticatedUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/user/starred"},"listReposStarredByUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/starred"},"listReposWatchedByUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/subscriptions"},"listStargazersForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stargazers"},"listWatchedReposForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/subscriptions"},"listWatchersForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscribers"},"markAsRead":{"method":"PUT","params":{"last_read_at":{"type":"string"}},"url":"/notifications"},"markNotificationsAsReadForRepo":{"method":"PUT","params":{"last_read_at":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/notifications"},"markThreadAsRead":{"method":"PATCH","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id"},"setRepoSubscription":{"method":"PUT","params":{"ignored":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"subscribed":{"type":"boolean"}},"url":"/repos/:owner/:repo/subscription"},"setThreadSubscription":{"method":"PUT","params":{"ignored":{"type":"boolean"},"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"starRepo":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"},"unstarRepo":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"}},"apps":{"addRepoToInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"PUT","params":{"installation_id":{"required":true,"type":"integer"},"repository_id":{"required":true,"type":"integer"}},"url":"/user/installations/:installation_id/repositories/:repository_id"},"checkAccountIsAssociatedWithAny":{"method":"GET","params":{"account_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/accounts/:account_id"},"checkAccountIsAssociatedWithAnyStubbed":{"method":"GET","params":{"account_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/stubbed/accounts/:account_id"},"createContentAttachment":{"headers":{"accept":"application/vnd.github.corsair-preview+json"},"method":"POST","params":{"body":{"required":true,"type":"string"},"content_reference_id":{"required":true,"type":"integer"},"title":{"required":true,"type":"string"}},"url":"/content_references/:content_reference_id/attachments"},"createFromManifest":{"headers":{"accept":"application/vnd.github.fury-preview+json"},"method":"POST","params":{"code":{"required":true,"type":"string"}},"url":"/app-manifests/:code/conversions"},"createInstallationToken":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"POST","params":{"installation_id":{"required":true,"type":"integer"},"permissions":{"type":"object"},"repository_ids":{"type":"integer[]"}},"url":"/app/installations/:installation_id/access_tokens"},"deleteInstallation":{"headers":{"accept":"application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json"},"method":"DELETE","params":{"installation_id":{"required":true,"type":"integer"}},"url":"/app/installations/:installation_id"},"findOrgInstallation":{"deprecated":"octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)","headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/installation"},"findRepoInstallation":{"deprecated":"octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)","headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/installation"},"findUserInstallation":{"deprecated":"octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)","headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username/installation"},"getAuthenticated":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{},"url":"/app"},"getBySlug":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"app_slug":{"required":true,"type":"string"}},"url":"/apps/:app_slug"},"getInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"installation_id":{"required":true,"type":"integer"}},"url":"/app/installations/:installation_id"},"getOrgInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/installation"},"getRepoInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/installation"},"getUserInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username/installation"},"listAccountsUserOrOrgOnPlan":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"plan_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/marketplace_listing/plans/:plan_id/accounts"},"listAccountsUserOrOrgOnPlanStubbed":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"plan_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/marketplace_listing/stubbed/plans/:plan_id/accounts"},"listInstallationReposForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"installation_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/installations/:installation_id/repositories"},"listInstallations":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/app/installations"},"listInstallationsForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/installations"},"listMarketplacePurchasesForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/marketplace_purchases"},"listMarketplacePurchasesForAuthenticatedUserStubbed":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/marketplace_purchases/stubbed"},"listPlans":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/plans"},"listPlansStubbed":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/stubbed/plans"},"listRepos":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/installation/repositories"},"removeRepoFromInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"DELETE","params":{"installation_id":{"required":true,"type":"integer"},"repository_id":{"required":true,"type":"integer"}},"url":"/user/installations/:installation_id/repositories/:repository_id"}},"checks":{"create":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"actions":{"type":"object[]"},"actions[].description":{"required":true,"type":"string"},"actions[].identifier":{"required":true,"type":"string"},"actions[].label":{"required":true,"type":"string"},"completed_at":{"type":"string"},"conclusion":{"enum":["success","failure","neutral","cancelled","timed_out","action_required"],"type":"string"},"details_url":{"type":"string"},"external_id":{"type":"string"},"head_sha":{"required":true,"type":"string"},"name":{"required":true,"type":"string"},"output":{"type":"object"},"output.annotations":{"type":"object[]"},"output.annotations[].annotation_level":{"enum":["notice","warning","failure"],"required":true,"type":"string"},"output.annotations[].end_column":{"type":"integer"},"output.annotations[].end_line":{"required":true,"type":"integer"},"output.annotations[].message":{"required":true,"type":"string"},"output.annotations[].path":{"required":true,"type":"string"},"output.annotations[].raw_details":{"type":"string"},"output.annotations[].start_column":{"type":"integer"},"output.annotations[].start_line":{"required":true,"type":"integer"},"output.annotations[].title":{"type":"string"},"output.images":{"type":"object[]"},"output.images[].alt":{"required":true,"type":"string"},"output.images[].caption":{"type":"string"},"output.images[].image_url":{"required":true,"type":"string"},"output.summary":{"required":true,"type":"string"},"output.text":{"type":"string"},"output.title":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"started_at":{"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-runs"},"createSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"head_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites"},"get":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_run_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id"},"getSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_suite_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id"},"listAnnotations":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_run_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id/annotations"},"listForRef":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_name":{"type":"string"},"filter":{"enum":["latest","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/check-runs"},"listForSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_name":{"type":"string"},"check_suite_id":{"required":true,"type":"integer"},"filter":{"enum":["latest","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"},"listSuitesForRef":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"app_id":{"type":"integer"},"check_name":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/check-suites"},"rerequestSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"check_suite_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"},"setSuitesPreferences":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"PATCH","params":{"auto_trigger_checks":{"type":"object[]"},"auto_trigger_checks[].app_id":{"required":true,"type":"integer"},"auto_trigger_checks[].setting":{"required":true,"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/preferences"},"update":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"PATCH","params":{"actions":{"type":"object[]"},"actions[].description":{"required":true,"type":"string"},"actions[].identifier":{"required":true,"type":"string"},"actions[].label":{"required":true,"type":"string"},"check_run_id":{"required":true,"type":"integer"},"completed_at":{"type":"string"},"conclusion":{"enum":["success","failure","neutral","cancelled","timed_out","action_required"],"type":"string"},"details_url":{"type":"string"},"external_id":{"type":"string"},"name":{"type":"string"},"output":{"type":"object"},"output.annotations":{"type":"object[]"},"output.annotations[].annotation_level":{"enum":["notice","warning","failure"],"required":true,"type":"string"},"output.annotations[].end_column":{"type":"integer"},"output.annotations[].end_line":{"required":true,"type":"integer"},"output.annotations[].message":{"required":true,"type":"string"},"output.annotations[].path":{"required":true,"type":"string"},"output.annotations[].raw_details":{"type":"string"},"output.annotations[].start_column":{"type":"integer"},"output.annotations[].start_line":{"required":true,"type":"integer"},"output.annotations[].title":{"type":"string"},"output.images":{"type":"object[]"},"output.images[].alt":{"required":true,"type":"string"},"output.images[].caption":{"type":"string"},"output.images[].image_url":{"required":true,"type":"string"},"output.summary":{"required":true,"type":"string"},"output.text":{"type":"string"},"output.title":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"started_at":{"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id"}},"codesOfConduct":{"getConductCode":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{"key":{"required":true,"type":"string"}},"url":"/codes_of_conduct/:key"},"getForRepo":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/community/code_of_conduct"},"listConductCodes":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{},"url":"/codes_of_conduct"}},"emojis":{"get":{"method":"GET","params":{},"url":"/emojis"}},"gists":{"checkIsStarred":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"create":{"method":"POST","params":{"description":{"type":"string"},"files":{"required":true,"type":"object"},"files.content":{"type":"string"},"public":{"type":"boolean"}},"url":"/gists"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments"},"delete":{"method":"DELETE","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"},"fork":{"method":"POST","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/forks"},"get":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"},"getRevision":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/gists/:gist_id/:sha"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists"},"listComments":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/comments"},"listCommits":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/commits"},"listForks":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/forks"},"listPublic":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists/public"},"listPublicForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/gists"},"listStarred":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists/starred"},"star":{"method":"PUT","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"unstar":{"method":"DELETE","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"update":{"method":"PATCH","params":{"description":{"type":"string"},"files":{"type":"object"},"files.content":{"type":"string"},"files.filename":{"type":"string"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"}},"git":{"createBlob":{"method":"POST","params":{"content":{"required":true,"type":"string"},"encoding":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/blobs"},"createCommit":{"method":"POST","params":{"author":{"type":"object"},"author.date":{"type":"string"},"author.email":{"type":"string"},"author.name":{"type":"string"},"committer":{"type":"object"},"committer.date":{"type":"string"},"committer.email":{"type":"string"},"committer.name":{"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"parents":{"required":true,"type":"string[]"},"repo":{"required":true,"type":"string"},"signature":{"type":"string"},"tree":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/commits"},"createRef":{"method":"POST","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs"},"createTag":{"method":"POST","params":{"message":{"required":true,"type":"string"},"object":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag":{"required":true,"type":"string"},"tagger":{"type":"object"},"tagger.date":{"type":"string"},"tagger.email":{"type":"string"},"tagger.name":{"type":"string"},"type":{"enum":["commit","tree","blob"],"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/tags"},"createTree":{"method":"POST","params":{"base_tree":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tree":{"required":true,"type":"object[]"},"tree[].content":{"type":"string"},"tree[].mode":{"enum":["100644","100755","040000","160000","120000"],"type":"string"},"tree[].path":{"type":"string"},"tree[].sha":{"type":"string"},"tree[].type":{"enum":["blob","tree","commit"],"type":"string"}},"url":"/repos/:owner/:repo/git/trees"},"deleteRef":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:ref"},"getBlob":{"method":"GET","params":{"file_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/blobs/:file_sha"},"getCommit":{"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/commits/:commit_sha"},"getRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:ref"},"getTag":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag_sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/tags/:tag_sha"},"getTree":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"recursive":{"enum":[1],"type":"integer"},"repo":{"required":true,"type":"string"},"tree_sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/trees/:tree_sha"},"listRefs":{"method":"GET","params":{"namespace":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:namespace"},"updateRef":{"method":"PATCH","params":{"force":{"type":"boolean"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:ref"}},"gitignore":{"getTemplate":{"method":"GET","params":{"name":{"required":true,"type":"string"}},"url":"/gitignore/templates/:name"},"listTemplates":{"method":"GET","params":{},"url":"/gitignore/templates"}},"interactions":{"addOrUpdateRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"PUT","params":{"limit":{"enum":["existing_users","contributors_only","collaborators_only"],"required":true,"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"addOrUpdateRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"PUT","params":{"limit":{"enum":["existing_users","contributors_only","collaborators_only"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"},"getRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"getRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"},"removeRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"DELETE","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"removeRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"}},"issues":{"addAssignees":{"method":"POST","params":{"assignees":{"type":"string[]"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/assignees"},"addLabels":{"method":"POST","params":{"issue_number":{"required":true,"type":"integer"},"labels":{"required":true,"type":"string[]"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"checkAssignee":{"method":"GET","params":{"assignee":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/assignees/:assignee"},"create":{"method":"POST","params":{"assignee":{"type":"string"},"assignees":{"type":"string[]"},"body":{"type":"string"},"labels":{"type":"string[]"},"milestone":{"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/comments"},"createLabel":{"method":"POST","params":{"color":{"required":true,"type":"string"},"description":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels"},"createMilestone":{"method":"POST","params":{"description":{"type":"string"},"due_on":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"deleteLabel":{"method":"DELETE","params":{"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:name"},"deleteMilestone":{"method":"DELETE","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"},"get":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"getEvent":{"method":"GET","params":{"event_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/events/:event_id"},"getLabel":{"method":"GET","params":{"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:name"},"getMilestone":{"method":"GET","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"},"list":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/issues"},"listAssignees":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/assignees"},"listComments":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/comments"},"listCommentsForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/issues/comments"},"listEvents":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/events"},"listEventsForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/events"},"listEventsForTimeline":{"headers":{"accept":"application/vnd.github.mockingbird-preview+json"},"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/timeline"},"listForAuthenticatedUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/user/issues"},"listForOrg":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/orgs/:org/issues"},"listForRepo":{"method":"GET","params":{"assignee":{"type":"string"},"creator":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"labels":{"type":"string"},"mentioned":{"type":"string"},"milestone":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/issues"},"listLabelsForMilestone":{"method":"GET","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number/labels"},"listLabelsForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels"},"listLabelsOnIssue":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"listMilestonesForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["due_on","completeness"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/milestones"},"lock":{"method":"PUT","params":{"issue_number":{"required":true,"type":"integer"},"lock_reason":{"enum":["off-topic","too heated","resolved","spam"],"type":"string"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/lock"},"removeAssignees":{"method":"DELETE","params":{"assignees":{"type":"string[]"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/assignees"},"removeLabel":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"name":{"required":true,"type":"string"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels/:name"},"removeLabels":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"replaceLabels":{"method":"PUT","params":{"issue_number":{"required":true,"type":"integer"},"labels":{"type":"string[]"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"unlock":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/lock"},"update":{"method":"PATCH","params":{"assignee":{"type":"string"},"assignees":{"type":"string[]"},"body":{"type":"string"},"issue_number":{"required":true,"type":"integer"},"labels":{"type":"string[]"},"milestone":{"allowNull":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"updateLabel":{"method":"PATCH","params":{"color":{"type":"string"},"current_name":{"required":true,"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:current_name"},"updateMilestone":{"method":"PATCH","params":{"description":{"type":"string"},"due_on":{"type":"string"},"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"}},"licenses":{"get":{"method":"GET","params":{"license":{"required":true,"type":"string"}},"url":"/licenses/:license"},"getForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/license"},"list":{"deprecated":"octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)","method":"GET","params":{},"url":"/licenses"},"listCommonlyUsed":{"method":"GET","params":{},"url":"/licenses"}},"markdown":{"render":{"method":"POST","params":{"context":{"type":"string"},"mode":{"enum":["markdown","gfm"],"type":"string"},"text":{"required":true,"type":"string"}},"url":"/markdown"},"renderRaw":{"headers":{"content-type":"text/plain; charset=utf-8"},"method":"POST","params":{"data":{"mapTo":"data","required":true,"type":"string"}},"url":"/markdown/raw"}},"meta":{"get":{"method":"GET","params":{},"url":"/meta"}},"migrations":{"cancelImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import"},"deleteArchiveForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id/archive"},"deleteArchiveForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/archive"},"getArchiveForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id/archive"},"getArchiveForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/archive"},"getCommitAuthors":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/import/authors"},"getImportProgress":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import"},"getLargeFiles":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/large_files"},"getStatusForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id"},"getStatusForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id"},"listForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/migrations"},"listForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/migrations"},"mapCommitAuthor":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"author_id":{"required":true,"type":"integer"},"email":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/authors/:author_id"},"setLfsPreference":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"use_lfs":{"enum":["opt_in","opt_out"],"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/lfs"},"startForAuthenticatedUser":{"method":"POST","params":{"exclude_attachments":{"type":"boolean"},"lock_repositories":{"type":"boolean"},"repositories":{"required":true,"type":"string[]"}},"url":"/user/migrations"},"startForOrg":{"method":"POST","params":{"exclude_attachments":{"type":"boolean"},"lock_repositories":{"type":"boolean"},"org":{"required":true,"type":"string"},"repositories":{"required":true,"type":"string[]"}},"url":"/orgs/:org/migrations"},"startImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tfvc_project":{"type":"string"},"vcs":{"enum":["subversion","git","mercurial","tfvc"],"type":"string"},"vcs_password":{"type":"string"},"vcs_url":{"required":true,"type":"string"},"vcs_username":{"type":"string"}},"url":"/repos/:owner/:repo/import"},"unlockRepoForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"repo_name":{"required":true,"type":"string"}},"url":"/user/migrations/:migration_id/repos/:repo_name/lock"},"unlockRepoForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"},"repo_name":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"},"updateImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"vcs_password":{"type":"string"},"vcs_username":{"type":"string"}},"url":"/repos/:owner/:repo/import"}},"oauthAuthorizations":{"checkAuthorization":{"method":"GET","params":{"access_token":{"required":true,"type":"string"},"client_id":{"required":true,"type":"string"}},"url":"/applications/:client_id/tokens/:access_token"},"createAuthorization":{"method":"POST","params":{"client_id":{"type":"string"},"client_secret":{"type":"string"},"fingerprint":{"type":"string"},"note":{"required":true,"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations"},"deleteAuthorization":{"method":"DELETE","params":{"authorization_id":{"required":true,"type":"integer"}},"url":"/authorizations/:authorization_id"},"deleteGrant":{"method":"DELETE","params":{"grant_id":{"required":true,"type":"integer"}},"url":"/applications/grants/:grant_id"},"getAuthorization":{"method":"GET","params":{"authorization_id":{"required":true,"type":"integer"}},"url":"/authorizations/:authorization_id"},"getGrant":{"method":"GET","params":{"grant_id":{"required":true,"type":"integer"}},"url":"/applications/grants/:grant_id"},"getOrCreateAuthorizationForApp":{"method":"PUT","params":{"client_id":{"required":true,"type":"string"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations/clients/:client_id"},"getOrCreateAuthorizationForAppAndFingerprint":{"method":"PUT","params":{"client_id":{"required":true,"type":"string"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"required":true,"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations/clients/:client_id/:fingerprint"},"getOrCreateAuthorizationForAppFingerprint":{"deprecated":"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)","method":"PUT","params":{"client_id":{"required":true,"type":"string"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"required":true,"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations/clients/:client_id/:fingerprint"},"listAuthorizations":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/authorizations"},"listGrants":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/applications/grants"},"resetAuthorization":{"method":"POST","params":{"access_token":{"required":true,"type":"string"},"client_id":{"required":true,"type":"string"}},"url":"/applications/:client_id/tokens/:access_token"},"revokeAuthorizationForApplication":{"method":"DELETE","params":{"access_token":{"required":true,"type":"string"},"client_id":{"required":true,"type":"string"}},"url":"/applications/:client_id/tokens/:access_token"},"revokeGrantForApplication":{"method":"DELETE","params":{"access_token":{"required":true,"type":"string"},"client_id":{"required":true,"type":"string"}},"url":"/applications/:client_id/grants/:access_token"},"updateAuthorization":{"method":"PATCH","params":{"add_scopes":{"type":"string[]"},"authorization_id":{"required":true,"type":"integer"},"fingerprint":{"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"remove_scopes":{"type":"string[]"},"scopes":{"type":"string[]"}},"url":"/authorizations/:authorization_id"}},"orgs":{"addOrUpdateMembership":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"role":{"enum":["admin","member"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"blockUser":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"checkBlockedUser":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"checkMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/members/:username"},"checkPublicMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"concealMembership":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"convertMemberToOutsideCollaborator":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/outside_collaborators/:username"},"createHook":{"method":"POST","params":{"active":{"type":"boolean"},"config":{"required":true,"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks"},"createInvitation":{"method":"POST","params":{"email":{"type":"string"},"invitee_id":{"type":"integer"},"org":{"required":true,"type":"string"},"role":{"enum":["admin","direct_member","billing_manager"],"type":"string"},"team_ids":{"type":"integer[]"}},"url":"/orgs/:org/invitations"},"deleteHook":{"method":"DELETE","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"get":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org"},"getHook":{"method":"GET","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"getMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"getMembershipForAuthenticatedUser":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/user/memberships/orgs/:org"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/organizations"},"listBlockedUsers":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks"},"listForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/orgs"},"listForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/orgs"},"listHooks":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/hooks"},"listInvitationTeams":{"method":"GET","params":{"invitation_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/invitations/:invitation_id/teams"},"listMembers":{"method":"GET","params":{"filter":{"enum":["2fa_disabled","all"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"role":{"enum":["all","admin","member"],"type":"string"}},"url":"/orgs/:org/members"},"listMemberships":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["active","pending"],"type":"string"}},"url":"/user/memberships/orgs"},"listOutsideCollaborators":{"method":"GET","params":{"filter":{"enum":["2fa_disabled","all"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/outside_collaborators"},"listPendingInvitations":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/invitations"},"listPublicMembers":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/public_members"},"pingHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id/pings"},"publicizeMembership":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"removeMember":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/members/:username"},"removeMembership":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"removeOutsideCollaborator":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/outside_collaborators/:username"},"unblockUser":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"update":{"method":"PATCH","params":{"billing_email":{"type":"string"},"company":{"type":"string"},"default_repository_permission":{"enum":["read","write","admin","none"],"type":"string"},"description":{"type":"string"},"email":{"type":"string"},"has_organization_projects":{"type":"boolean"},"has_repository_projects":{"type":"boolean"},"location":{"type":"string"},"members_allowed_repository_creation_type":{"enum":["all","private","none"],"type":"string"},"members_can_create_repositories":{"type":"boolean"},"name":{"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org"},"updateHook":{"method":"PATCH","params":{"active":{"type":"boolean"},"config":{"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"updateMembership":{"method":"PATCH","params":{"org":{"required":true,"type":"string"},"state":{"enum":["active"],"required":true,"type":"string"}},"url":"/user/memberships/orgs/:org"}},"projects":{"addCollaborator":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PUT","params":{"permission":{"enum":["read","write","admin"],"type":"string"},"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username"},"createCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"column_id":{"required":true,"type":"integer"},"content_id":{"type":"integer"},"content_type":{"type":"string"},"note":{"type":"string"}},"url":"/projects/columns/:column_id/cards"},"createColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"name":{"required":true,"type":"string"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/columns"},"createForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/projects"},"createForOrg":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/projects"},"createForRepo":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/projects"},"delete":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id"},"deleteCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"card_id":{"required":true,"type":"integer"}},"url":"/projects/columns/cards/:card_id"},"deleteColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"column_id":{"required":true,"type":"integer"}},"url":"/projects/columns/:column_id"},"get":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id"},"getCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"card_id":{"required":true,"type":"integer"}},"url":"/projects/columns/cards/:card_id"},"getColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"column_id":{"required":true,"type":"integer"}},"url":"/projects/columns/:column_id"},"listCards":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"archived_state":{"enum":["all","archived","not_archived"],"type":"string"},"column_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/projects/columns/:column_id/cards"},"listCollaborators":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"affiliation":{"enum":["outside","direct","all"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/collaborators"},"listColumns":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/columns"},"listForOrg":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/orgs/:org/projects"},"listForRepo":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/projects"},"listForUser":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["open","closed","all"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/projects"},"moveCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"card_id":{"required":true,"type":"integer"},"column_id":{"type":"integer"},"position":{"required":true,"type":"string","validation":"^(top|bottom|after:\\d+)$"}},"url":"/projects/columns/cards/:card_id/moves"},"moveColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"column_id":{"required":true,"type":"integer"},"position":{"required":true,"type":"string","validation":"^(first|last|after:\\d+)$"}},"url":"/projects/columns/:column_id/moves"},"removeCollaborator":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username"},"reviewUserPermissionLevel":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username/permission"},"update":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"body":{"type":"string"},"name":{"type":"string"},"organization_permission":{"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"private":{"type":"boolean"},"project_id":{"required":true,"type":"integer"},"state":{"enum":["open","closed"],"type":"string"}},"url":"/projects/:project_id"},"updateCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"archived":{"type":"boolean"},"card_id":{"required":true,"type":"integer"},"note":{"type":"string"}},"url":"/projects/columns/cards/:card_id"},"updateColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"column_id":{"required":true,"type":"integer"},"name":{"required":true,"type":"string"}},"url":"/projects/columns/:column_id"}},"pulls":{"checkIfMerged":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/merge"},"create":{"method":"POST","params":{"base":{"required":true,"type":"string"},"body":{"type":"string"},"draft":{"type":"boolean"},"head":{"required":true,"type":"string"},"maintainer_can_modify":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"commit_id":{"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"position":{"required":true,"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"createCommentReply":{"method":"POST","params":{"body":{"required":true,"type":"string"},"in_reply_to":{"required":true,"type":"integer"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"createFromIssue":{"method":"POST","params":{"base":{"required":true,"type":"string"},"draft":{"type":"boolean"},"head":{"required":true,"type":"string"},"issue":{"required":true,"type":"integer"},"maintainer_can_modify":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"createReview":{"method":"POST","params":{"body":{"type":"string"},"comments":{"type":"object[]"},"comments[].body":{"required":true,"type":"string"},"comments[].path":{"required":true,"type":"string"},"comments[].position":{"required":true,"type":"integer"},"commit_id":{"type":"string"},"event":{"enum":["APPROVE","REQUEST_CHANGES","COMMENT"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews"},"createReviewRequest":{"method":"POST","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"reviewers":{"type":"string[]"},"team_reviewers":{"type":"string[]"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"deletePendingReview":{"method":"DELETE","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"},"deleteReviewRequest":{"method":"DELETE","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"reviewers":{"type":"string[]"},"team_reviewers":{"type":"string[]"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"dismissReview":{"method":"PUT","params":{"message":{"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"},"get":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"getCommentsForReview":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"},"getReview":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"},"list":{"method":"GET","params":{"base":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"head":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["created","updated","popularity","long-running"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"listComments":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"listCommentsForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments"},"listCommits":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/commits"},"listFiles":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/files"},"listReviewRequests":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"listReviews":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews"},"merge":{"method":"PUT","params":{"commit_message":{"type":"string"},"commit_title":{"type":"string"},"merge_method":{"enum":["merge","squash","rebase"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/merge"},"submitReview":{"method":"POST","params":{"body":{"type":"string"},"event":{"enum":["APPROVE","REQUEST_CHANGES","COMMENT"],"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"},"update":{"method":"PATCH","params":{"base":{"type":"string"},"body":{"type":"string"},"maintainer_can_modify":{"type":"boolean"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number"},"updateBranch":{"headers":{"accept":"application/vnd.github.lydian-preview+json"},"method":"PUT","params":{"expected_head_sha":{"type":"string"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/update-branch"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"updateReview":{"method":"PUT","params":{"body":{"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"}},"rateLimit":{"get":{"method":"GET","params":{},"url":"/rate_limit"}},"reactions":{"createForCommitComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id/reactions"},"createForIssue":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/reactions"},"createForIssueComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id/reactions"},"createForPullRequestReviewComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id/reactions"},"createForTeamDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/reactions"},"createForTeamDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_number":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"},"delete":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"DELETE","params":{"reaction_id":{"required":true,"type":"integer"}},"url":"/reactions/:reaction_id"},"listForCommitComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id/reactions"},"listForIssue":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/reactions"},"listForIssueComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id/reactions"},"listForPullRequestReviewComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id/reactions"},"listForTeamDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/reactions"},"listForTeamDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_number":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"}},"repos":{"acceptInvitation":{"method":"PATCH","params":{"invitation_id":{"required":true,"type":"integer"}},"url":"/user/repository_invitations/:invitation_id"},"addCollaborator":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"permission":{"enum":["pull","push","admin"],"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"addDeployKey":{"method":"POST","params":{"key":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"read_only":{"type":"boolean"},"repo":{"required":true,"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/keys"},"addProtectedBranchAdminEnforcement":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"addProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"addProtectedBranchRequiredStatusChecksContexts":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"addProtectedBranchTeamRestrictions":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"addProtectedBranchUserRestrictions":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"checkCollaborator":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"checkVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"compareCommits":{"method":"GET","params":{"base":{"required":true,"type":"string"},"head":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/compare/:base...:head"},"createCommitComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"commit_sha":{"required":true,"type":"string"},"line":{"type":"integer"},"owner":{"required":true,"type":"string"},"path":{"type":"string"},"position":{"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"alias":"commit_sha","deprecated":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/comments"},"createDeployment":{"method":"POST","params":{"auto_merge":{"type":"boolean"},"description":{"type":"string"},"environment":{"type":"string"},"owner":{"required":true,"type":"string"},"payload":{"type":"string"},"production_environment":{"type":"boolean"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"required_contexts":{"type":"string[]"},"task":{"type":"string"},"transient_environment":{"type":"boolean"}},"url":"/repos/:owner/:repo/deployments"},"createDeploymentStatus":{"method":"POST","params":{"auto_inactive":{"type":"boolean"},"deployment_id":{"required":true,"type":"integer"},"description":{"type":"string"},"environment":{"enum":["production","staging","qa"],"type":"string"},"environment_url":{"type":"string"},"log_url":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["error","failure","inactive","in_progress","queued","pending","success"],"required":true,"type":"string"},"target_url":{"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses"},"createFile":{"deprecated":"octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)","method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"createForAuthenticatedUser":{"method":"POST","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"auto_init":{"type":"boolean"},"description":{"type":"string"},"gitignore_template":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"license_template":{"type":"string"},"name":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"type":"integer"}},"url":"/user/repos"},"createFork":{"method":"POST","params":{"organization":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/forks"},"createHook":{"method":"POST","params":{"active":{"type":"boolean"},"config":{"required":true,"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks"},"createInOrg":{"method":"POST","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"auto_init":{"type":"boolean"},"description":{"type":"string"},"gitignore_template":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"license_template":{"type":"string"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"type":"integer"}},"url":"/orgs/:org/repos"},"createOrUpdateFile":{"method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"createRelease":{"method":"POST","params":{"body":{"type":"string"},"draft":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"prerelease":{"type":"boolean"},"repo":{"required":true,"type":"string"},"tag_name":{"required":true,"type":"string"},"target_commitish":{"type":"string"}},"url":"/repos/:owner/:repo/releases"},"createStatus":{"method":"POST","params":{"context":{"type":"string"},"description":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"},"state":{"enum":["error","failure","pending","success"],"required":true,"type":"string"},"target_url":{"type":"string"}},"url":"/repos/:owner/:repo/statuses/:sha"},"createUsingTemplate":{"headers":{"accept":"application/vnd.github.baptiste-preview+json"},"method":"POST","params":{"description":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"type":"string"},"private":{"type":"boolean"},"template_owner":{"required":true,"type":"string"},"template_repo":{"required":true,"type":"string"}},"url":"/repos/:template_owner/:template_repo/generate"},"declineInvitation":{"method":"DELETE","params":{"invitation_id":{"required":true,"type":"integer"}},"url":"/user/repository_invitations/:invitation_id"},"delete":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"deleteCommitComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"deleteDownload":{"method":"DELETE","params":{"download_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads/:download_id"},"deleteFile":{"method":"DELETE","params":{"author":{"type":"object"},"author.email":{"type":"string"},"author.name":{"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"type":"string"},"committer.name":{"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"deleteHook":{"method":"DELETE","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"deleteInvitation":{"method":"DELETE","params":{"invitation_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations/:invitation_id"},"deleteRelease":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"deleteReleaseAsset":{"method":"DELETE","params":{"asset_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"disableAutomatedSecurityFixes":{"headers":{"accept":"application/vnd.github.london-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/automated-security-fixes"},"disablePagesSite":{"headers":{"accept":"application/vnd.github.switcheroo-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages"},"disableVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"enableAutomatedSecurityFixes":{"headers":{"accept":"application/vnd.github.london-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/automated-security-fixes"},"enablePagesSite":{"headers":{"accept":"application/vnd.github.switcheroo-preview+json"},"method":"POST","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"source":{"type":"object"},"source.branch":{"enum":["master","gh-pages"],"type":"string"},"source.path":{"type":"string"}},"url":"/repos/:owner/:repo/pages"},"enableVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"get":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"getArchiveLink":{"method":"GET","params":{"archive_format":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/:archive_format/:ref"},"getBranch":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch"},"getBranchProtection":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"getClones":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"per":{"enum":["day","week"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/clones"},"getCodeFrequencyStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/code_frequency"},"getCollaboratorPermissionLevel":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username/permission"},"getCombinedStatusForRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/status"},"getCommit":{"method":"GET","params":{"commit_sha":{"alias":"ref","deprecated":true,"type":"string"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"alias":"commit_sha","deprecated":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref"},"getCommitActivityStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/commit_activity"},"getCommitComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"getCommitRefSha":{"deprecated":"\"Get the SHA-1 of a commit reference\" will be removed. Use \"Get a single commit\" instead with media type format set to \"sha\" instead.","method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref"},"getContents":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"getContributorsStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/contributors"},"getDeployKey":{"method":"GET","params":{"key_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys/:key_id"},"getDeployment":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id"},"getDeploymentStatus":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"status_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"},"getDownload":{"method":"GET","params":{"download_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads/:download_id"},"getHook":{"method":"GET","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"getLatestPagesBuild":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds/latest"},"getLatestRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/latest"},"getPages":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages"},"getPagesBuild":{"method":"GET","params":{"build_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds/:build_id"},"getParticipationStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/participation"},"getProtectedBranchAdminEnforcement":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"getProtectedBranchPullRequestReviewEnforcement":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"getProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"getProtectedBranchRequiredStatusChecks":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"getProtectedBranchRestrictions":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions"},"getPunchCardStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/punch_card"},"getReadme":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/readme"},"getRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"getReleaseAsset":{"method":"GET","params":{"asset_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"getReleaseByTag":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/tags/:tag"},"getTopPaths":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/popular/paths"},"getTopReferrers":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/popular/referrers"},"getViews":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"per":{"enum":["day","week"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/views"},"list":{"method":"GET","params":{"affiliation":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","owner","public","private","member"],"type":"string"},"visibility":{"enum":["all","public","private"],"type":"string"}},"url":"/user/repos"},"listAssetsForRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id/assets"},"listBranches":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"protected":{"type":"boolean"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches"},"listBranchesForHeadCommit":{"headers":{"accept":"application/vnd.github.groot-preview+json"},"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/branches-where-head"},"listCollaborators":{"method":"GET","params":{"affiliation":{"enum":["outside","direct","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators"},"listCommentsForCommit":{"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"alias":"commit_sha","deprecated":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/comments"},"listCommitComments":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments"},"listCommits":{"method":"GET","params":{"author":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"path":{"type":"string"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"},"since":{"type":"string"},"until":{"type":"string"}},"url":"/repos/:owner/:repo/commits"},"listContributors":{"method":"GET","params":{"anon":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contributors"},"listDeployKeys":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys"},"listDeploymentStatuses":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses"},"listDeployments":{"method":"GET","params":{"environment":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"},"task":{"type":"string"}},"url":"/repos/:owner/:repo/deployments"},"listDownloads":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads"},"listForOrg":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","public","private","forks","sources","member"],"type":"string"}},"url":"/orgs/:org/repos"},"listForUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","owner","member"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/repos"},"listForks":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["newest","oldest","stargazers"],"type":"string"}},"url":"/repos/:owner/:repo/forks"},"listHooks":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks"},"listInvitations":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations"},"listInvitationsForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/repository_invitations"},"listLanguages":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/languages"},"listPagesBuilds":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds"},"listProtectedBranchRequiredStatusChecksContexts":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"listProtectedBranchTeamRestrictions":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"listProtectedBranchUserRestrictions":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"listPublic":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/repositories"},"listPullRequestsAssociatedWithCommit":{"headers":{"accept":"application/vnd.github.groot-preview+json"},"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/pulls"},"listReleases":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases"},"listStatusesForRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/statuses"},"listTags":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/tags"},"listTeams":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/teams"},"listTopics":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/topics"},"merge":{"method":"POST","params":{"base":{"required":true,"type":"string"},"commit_message":{"type":"string"},"head":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/merges"},"pingHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id/pings"},"removeBranchProtection":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"removeCollaborator":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"removeDeployKey":{"method":"DELETE","params":{"key_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys/:key_id"},"removeProtectedBranchAdminEnforcement":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"removeProtectedBranchPullRequestReviewEnforcement":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"removeProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"removeProtectedBranchRequiredStatusChecks":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"removeProtectedBranchRequiredStatusChecksContexts":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"removeProtectedBranchRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions"},"removeProtectedBranchTeamRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"removeProtectedBranchUserRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"replaceProtectedBranchRequiredStatusChecksContexts":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"replaceProtectedBranchTeamRestrictions":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"replaceProtectedBranchUserRestrictions":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"replaceTopics":{"method":"PUT","params":{"names":{"required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/topics"},"requestPageBuild":{"headers":{"accept":"application/vnd.github.mister-fantastic-preview+json"},"method":"POST","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds"},"retrieveCommunityProfileMetrics":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/community/profile"},"testPushHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id/tests"},"transfer":{"headers":{"accept":"application/vnd.github.nightshade-preview+json"},"method":"POST","params":{"new_owner":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_ids":{"type":"integer[]"}},"url":"/repos/:owner/:repo/transfer"},"update":{"method":"PATCH","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"archived":{"type":"boolean"},"default_branch":{"type":"string"},"description":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"private":{"type":"boolean"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"updateBranchProtection":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"enforce_admins":{"allowNull":true,"required":true,"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"required_pull_request_reviews":{"allowNull":true,"required":true,"type":"object"},"required_pull_request_reviews.dismiss_stale_reviews":{"type":"boolean"},"required_pull_request_reviews.dismissal_restrictions":{"type":"object"},"required_pull_request_reviews.dismissal_restrictions.teams":{"type":"string[]"},"required_pull_request_reviews.dismissal_restrictions.users":{"type":"string[]"},"required_pull_request_reviews.require_code_owner_reviews":{"type":"boolean"},"required_pull_request_reviews.required_approving_review_count":{"type":"integer"},"required_status_checks":{"allowNull":true,"required":true,"type":"object"},"required_status_checks.contexts":{"required":true,"type":"string[]"},"required_status_checks.strict":{"required":true,"type":"boolean"},"restrictions":{"allowNull":true,"required":true,"type":"object"},"restrictions.teams":{"type":"string[]"},"restrictions.users":{"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"updateCommitComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"updateFile":{"deprecated":"octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)","method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"updateHook":{"method":"PATCH","params":{"active":{"type":"boolean"},"add_events":{"type":"string[]"},"config":{"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"remove_events":{"type":"string[]"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"updateInformationAboutPagesSite":{"method":"PUT","params":{"cname":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"source":{"enum":["\"gh-pages\"","\"master\"","\"master /docs\""],"type":"string"}},"url":"/repos/:owner/:repo/pages"},"updateInvitation":{"method":"PATCH","params":{"invitation_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"permissions":{"enum":["read","write","admin"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations/:invitation_id"},"updateProtectedBranchPullRequestReviewEnforcement":{"method":"PATCH","params":{"branch":{"required":true,"type":"string"},"dismiss_stale_reviews":{"type":"boolean"},"dismissal_restrictions":{"type":"object"},"dismissal_restrictions.teams":{"type":"string[]"},"dismissal_restrictions.users":{"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"require_code_owner_reviews":{"type":"boolean"},"required_approving_review_count":{"type":"integer"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"updateProtectedBranchRequiredStatusChecks":{"method":"PATCH","params":{"branch":{"required":true,"type":"string"},"contexts":{"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"strict":{"type":"boolean"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"updateRelease":{"method":"PATCH","params":{"body":{"type":"string"},"draft":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"prerelease":{"type":"boolean"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"tag_name":{"type":"string"},"target_commitish":{"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"updateReleaseAsset":{"method":"PATCH","params":{"asset_id":{"required":true,"type":"integer"},"label":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"uploadReleaseAsset":{"method":"POST","params":{"file":{"mapTo":"data","required":true,"type":"string | object"},"headers":{"required":true,"type":"object"},"headers.content-length":{"required":true,"type":"integer"},"headers.content-type":{"required":true,"type":"string"},"label":{"type":"string"},"name":{"required":true,"type":"string"},"url":{"required":true,"type":"string"}},"url":":url"}},"search":{"code":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["indexed"],"type":"string"}},"url":"/search/code"},"commits":{"headers":{"accept":"application/vnd.github.cloak-preview+json"},"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["author-date","committer-date"],"type":"string"}},"url":"/search/commits"},"issues":{"deprecated":"octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)","method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["comments","reactions","reactions-+1","reactions--1","reactions-smile","reactions-thinking_face","reactions-heart","reactions-tada","interactions","created","updated"],"type":"string"}},"url":"/search/issues"},"issuesAndPullRequests":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["comments","reactions","reactions-+1","reactions--1","reactions-smile","reactions-thinking_face","reactions-heart","reactions-tada","interactions","created","updated"],"type":"string"}},"url":"/search/issues"},"labels":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"q":{"required":true,"type":"string"},"repository_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/search/labels"},"repos":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["stars","forks","help-wanted-issues","updated"],"type":"string"}},"url":"/search/repositories"},"topics":{"method":"GET","params":{"q":{"required":true,"type":"string"}},"url":"/search/topics"},"users":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["followers","repositories","joined"],"type":"string"}},"url":"/search/users"}},"teams":{"addMember":{"method":"PUT","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"addOrUpdateMembership":{"method":"PUT","params":{"role":{"enum":["member","maintainer"],"type":"string"},"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"addOrUpdateProject":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PUT","params":{"permission":{"enum":["read","write","admin"],"type":"string"},"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"addOrUpdateRepo":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"permission":{"enum":["pull","push","admin"],"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"checkManagesRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"create":{"method":"POST","params":{"description":{"type":"string"},"maintainers":{"type":"string[]"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"},"parent_team_id":{"type":"integer"},"permission":{"enum":["pull","push","admin"],"type":"string"},"privacy":{"enum":["secret","closed"],"type":"string"},"repo_names":{"type":"string[]"}},"url":"/orgs/:org/teams"},"createDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"POST","params":{"body":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"required":true,"type":"integer"},"title":{"required":true,"type":"string"}},"url":"/teams/:team_id/discussions"},"createDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"POST","params":{"body":{"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments"},"delete":{"method":"DELETE","params":{"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"deleteDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"DELETE","params":{"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number"},"deleteDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"DELETE","params":{"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"},"get":{"method":"GET","params":{"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"getByName":{"method":"GET","params":{"org":{"required":true,"type":"string"},"team_slug":{"required":true,"type":"string"}},"url":"/orgs/:org/teams/:team_slug"},"getDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number"},"getDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"},"getMember":{"method":"GET","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"getMembership":{"method":"GET","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"list":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/teams"},"listChild":{"headers":{"accept":"application/vnd.github.hellcat-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/teams"},"listDiscussionComments":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments"},"listDiscussions":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions"},"listForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/teams"},"listMembers":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"role":{"enum":["member","maintainer","all"],"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/members"},"listPendingInvitations":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/invitations"},"listProjects":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects"},"listRepos":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos"},"removeMember":{"method":"DELETE","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"removeMembership":{"method":"DELETE","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"removeProject":{"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"removeRepo":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"reviewProject":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"update":{"method":"PATCH","params":{"description":{"type":"string"},"name":{"required":true,"type":"string"},"parent_team_id":{"type":"integer"},"permission":{"enum":["pull","push","admin"],"type":"string"},"privacy":{"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"updateDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"PATCH","params":{"body":{"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"},"title":{"type":"string"}},"url":"/teams/:team_id/discussions/:discussion_number"},"updateDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"}},"users":{"addEmails":{"method":"POST","params":{"emails":{"required":true,"type":"string[]"}},"url":"/user/emails"},"block":{"method":"PUT","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"checkBlocked":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"checkFollowing":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"checkFollowingForUser":{"method":"GET","params":{"target_user":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/following/:target_user"},"createGpgKey":{"method":"POST","params":{"armored_public_key":{"type":"string"}},"url":"/user/gpg_keys"},"createPublicKey":{"method":"POST","params":{"key":{"type":"string"},"title":{"type":"string"}},"url":"/user/keys"},"deleteEmails":{"method":"DELETE","params":{"emails":{"required":true,"type":"string[]"}},"url":"/user/emails"},"deleteGpgKey":{"method":"DELETE","params":{"gpg_key_id":{"required":true,"type":"integer"}},"url":"/user/gpg_keys/:gpg_key_id"},"deletePublicKey":{"method":"DELETE","params":{"key_id":{"required":true,"type":"integer"}},"url":"/user/keys/:key_id"},"follow":{"method":"PUT","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"getAuthenticated":{"method":"GET","params":{},"url":"/user"},"getByUsername":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username"},"getContextForUser":{"headers":{"accept":"application/vnd.github.hagar-preview+json"},"method":"GET","params":{"subject_id":{"type":"string"},"subject_type":{"enum":["organization","repository","issue","pull_request"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/hovercard"},"getGpgKey":{"method":"GET","params":{"gpg_key_id":{"required":true,"type":"integer"}},"url":"/user/gpg_keys/:gpg_key_id"},"getPublicKey":{"method":"GET","params":{"key_id":{"required":true,"type":"integer"}},"url":"/user/keys/:key_id"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/users"},"listBlocked":{"method":"GET","params":{},"url":"/user/blocks"},"listEmails":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/emails"},"listFollowersForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/followers"},"listFollowersForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/followers"},"listFollowingForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/following"},"listFollowingForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/following"},"listGpgKeys":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/gpg_keys"},"listGpgKeysForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/gpg_keys"},"listPublicEmails":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/public_emails"},"listPublicKeys":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/keys"},"listPublicKeysForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/keys"},"togglePrimaryEmailVisibility":{"method":"PATCH","params":{"email":{"required":true,"type":"string"},"visibility":{"required":true,"type":"string"}},"url":"/user/email/visibility"},"unblock":{"method":"DELETE","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"unfollow":{"method":"DELETE","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"updateAuthenticated":{"method":"PATCH","params":{"bio":{"type":"string"},"blog":{"type":"string"},"company":{"type":"string"},"email":{"type":"string"},"hireable":{"type":"boolean"},"location":{"type":"string"},"name":{"type":"string"}},"url":"/user"}}}; - -/***/ }), - -/***/ 714: -/***/ (function(module) { - -(function (root, factory) { - if (true) { - module.exports = factory(); - } else {} -}(this, function () { - /** - * @constructor - */ - function UrlTemplate() { - } - - /** - * @private - * @param {string} str - * @return {string} - */ - UrlTemplate.prototype.encodeReserved = function (str) { - return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) { - if (!/%[0-9A-Fa-f]/.test(part)) { - part = encodeURI(part).replace(/%5B/g, '[').replace(/%5D/g, ']'); - } - return part; - }).join(''); - }; - - /** - * @private - * @param {string} str - * @return {string} - */ - UrlTemplate.prototype.encodeUnreserved = function (str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase(); - }); - } - - /** - * @private - * @param {string} operator - * @param {string} value - * @param {string} key - * @return {string} - */ - UrlTemplate.prototype.encodeValue = function (operator, value, key) { - value = (operator === '+' || operator === '#') ? this.encodeReserved(value) : this.encodeUnreserved(value); - - if (key) { - return this.encodeUnreserved(key) + '=' + value; - } else { - return value; - } - }; - - /** - * @private - * @param {*} value - * @return {boolean} - */ - UrlTemplate.prototype.isDefined = function (value) { - return value !== undefined && value !== null; - }; - - /** - * @private - * @param {string} - * @return {boolean} - */ - UrlTemplate.prototype.isKeyOperator = function (operator) { - return operator === ';' || operator === '&' || operator === '?'; - }; - - /** - * @private - * @param {Object} context - * @param {string} operator - * @param {string} key - * @param {string} modifier - */ - UrlTemplate.prototype.getValues = function (context, operator, key, modifier) { - var value = context[key], - result = []; - - if (this.isDefined(value) && value !== '') { - if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') { - value = value.toString(); - - if (modifier && modifier !== '*') { - value = value.substring(0, parseInt(modifier, 10)); - } - - result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null)); - } else { - if (modifier === '*') { - if (Array.isArray(value)) { - value.filter(this.isDefined).forEach(function (value) { - result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null)); - }, this); - } else { - Object.keys(value).forEach(function (k) { - if (this.isDefined(value[k])) { - result.push(this.encodeValue(operator, value[k], k)); - } - }, this); - } - } else { - var tmp = []; - - if (Array.isArray(value)) { - value.filter(this.isDefined).forEach(function (value) { - tmp.push(this.encodeValue(operator, value)); - }, this); - } else { - Object.keys(value).forEach(function (k) { - if (this.isDefined(value[k])) { - tmp.push(this.encodeUnreserved(k)); - tmp.push(this.encodeValue(operator, value[k].toString())); - } - }, this); - } - - if (this.isKeyOperator(operator)) { - result.push(this.encodeUnreserved(key) + '=' + tmp.join(',')); - } else if (tmp.length !== 0) { - result.push(tmp.join(',')); - } - } - } - } else { - if (operator === ';') { - if (this.isDefined(value)) { - result.push(this.encodeUnreserved(key)); - } - } else if (value === '' && (operator === '&' || operator === '?')) { - result.push(this.encodeUnreserved(key) + '='); - } else if (value === '') { - result.push(''); - } - } - return result; - }; - - /** - * @param {string} template - * @return {function(Object):string} - */ - UrlTemplate.prototype.parse = function (template) { - var that = this; - var operators = ['+', '#', '.', '/', ';', '?', '&']; - - return { - expand: function (context) { - return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) { - if (expression) { - var operator = null, - values = []; - - if (operators.indexOf(expression.charAt(0)) !== -1) { - operator = expression.charAt(0); - expression = expression.substr(1); - } - - expression.split(/,/g).forEach(function (variable) { - var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable); - values.push.apply(values, that.getValues(context, operator, tmp[1], tmp[2] || tmp[3])); - }); - - if (operator && operator !== '+') { - var separator = ','; - - if (operator === '?') { - separator = '&'; - } else if (operator !== '#') { - separator = operator; - } - return (values.length !== 0 ? operator : '') + values.join(separator); - } else { - return values.join(','); - } - } else { - return that.encodeReserved(literal); - } - }); - } - }; - }; - - return new UrlTemplate(); -})); - +module.exports = {"activity":{"checkStarringRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"},"deleteRepoSubscription":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscription"},"deleteThreadSubscription":{"method":"DELETE","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"getRepoSubscription":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscription"},"getThread":{"method":"GET","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id"},"getThreadSubscription":{"method":"GET","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"listEventsForOrg":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events/orgs/:org"},"listEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events"},"listFeeds":{"method":"GET","params":{},"url":"/feeds"},"listNotifications":{"method":"GET","params":{"all":{"type":"boolean"},"before":{"type":"string"},"page":{"type":"integer"},"participating":{"type":"boolean"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/notifications"},"listNotificationsForRepo":{"method":"GET","params":{"all":{"type":"boolean"},"before":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"participating":{"type":"boolean"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/notifications"},"listPublicEvents":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/events"},"listPublicEventsForOrg":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/events"},"listPublicEventsForRepoNetwork":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/networks/:owner/:repo/events"},"listPublicEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/events/public"},"listReceivedEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/received_events"},"listReceivedPublicEventsForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/received_events/public"},"listRepoEvents":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/events"},"listReposStarredByAuthenticatedUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/user/starred"},"listReposStarredByUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/starred"},"listReposWatchedByUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/subscriptions"},"listStargazersForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stargazers"},"listWatchedReposForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/subscriptions"},"listWatchersForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/subscribers"},"markAsRead":{"method":"PUT","params":{"last_read_at":{"type":"string"}},"url":"/notifications"},"markNotificationsAsReadForRepo":{"method":"PUT","params":{"last_read_at":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/notifications"},"markThreadAsRead":{"method":"PATCH","params":{"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id"},"setRepoSubscription":{"method":"PUT","params":{"ignored":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"subscribed":{"type":"boolean"}},"url":"/repos/:owner/:repo/subscription"},"setThreadSubscription":{"method":"PUT","params":{"ignored":{"type":"boolean"},"thread_id":{"required":true,"type":"integer"}},"url":"/notifications/threads/:thread_id/subscription"},"starRepo":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"},"unstarRepo":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/user/starred/:owner/:repo"}},"apps":{"addRepoToInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"PUT","params":{"installation_id":{"required":true,"type":"integer"},"repository_id":{"required":true,"type":"integer"}},"url":"/user/installations/:installation_id/repositories/:repository_id"},"checkAccountIsAssociatedWithAny":{"method":"GET","params":{"account_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/accounts/:account_id"},"checkAccountIsAssociatedWithAnyStubbed":{"method":"GET","params":{"account_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"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","params":{"body":{"required":true,"type":"string"},"content_reference_id":{"required":true,"type":"integer"},"title":{"required":true,"type":"string"}},"url":"/content_references/:content_reference_id/attachments"},"createFromManifest":{"headers":{"accept":"application/vnd.github.fury-preview+json"},"method":"POST","params":{"code":{"required":true,"type":"string"}},"url":"/app-manifests/:code/conversions"},"createInstallationToken":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"POST","params":{"installation_id":{"required":true,"type":"integer"},"permissions":{"type":"object"},"repository_ids":{"type":"integer[]"}},"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"},"method":"DELETE","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":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/installation"},"findRepoInstallation":{"deprecated":"octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)","headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/installation"},"findUserInstallation":{"deprecated":"octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)","headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username/installation"},"getAuthenticated":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{},"url":"/app"},"getBySlug":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"app_slug":{"required":true,"type":"string"}},"url":"/apps/:app_slug"},"getInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"installation_id":{"required":true,"type":"integer"}},"url":"/app/installations/:installation_id"},"getOrgInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/installation"},"getRepoInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/installation"},"getUserInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username/installation"},"listAccountsUserOrOrgOnPlan":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"plan_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/marketplace_listing/plans/:plan_id/accounts"},"listAccountsUserOrOrgOnPlanStubbed":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"plan_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/marketplace_listing/stubbed/plans/:plan_id/accounts"},"listInstallationReposForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"installation_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/installations/:installation_id/repositories"},"listInstallations":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/app/installations"},"listInstallationsForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/installations"},"listMarketplacePurchasesForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/marketplace_purchases"},"listMarketplacePurchasesForAuthenticatedUserStubbed":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/marketplace_purchases/stubbed"},"listPlans":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/plans"},"listPlansStubbed":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/marketplace_listing/stubbed/plans"},"listRepos":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/installation/repositories"},"removeRepoFromInstallation":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"DELETE","params":{"installation_id":{"required":true,"type":"integer"},"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":{"create":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"actions":{"type":"object[]"},"actions[].description":{"required":true,"type":"string"},"actions[].identifier":{"required":true,"type":"string"},"actions[].label":{"required":true,"type":"string"},"completed_at":{"type":"string"},"conclusion":{"enum":["success","failure","neutral","cancelled","timed_out","action_required"],"type":"string"},"details_url":{"type":"string"},"external_id":{"type":"string"},"head_sha":{"required":true,"type":"string"},"name":{"required":true,"type":"string"},"output":{"type":"object"},"output.annotations":{"type":"object[]"},"output.annotations[].annotation_level":{"enum":["notice","warning","failure"],"required":true,"type":"string"},"output.annotations[].end_column":{"type":"integer"},"output.annotations[].end_line":{"required":true,"type":"integer"},"output.annotations[].message":{"required":true,"type":"string"},"output.annotations[].path":{"required":true,"type":"string"},"output.annotations[].raw_details":{"type":"string"},"output.annotations[].start_column":{"type":"integer"},"output.annotations[].start_line":{"required":true,"type":"integer"},"output.annotations[].title":{"type":"string"},"output.images":{"type":"object[]"},"output.images[].alt":{"required":true,"type":"string"},"output.images[].caption":{"type":"string"},"output.images[].image_url":{"required":true,"type":"string"},"output.summary":{"required":true,"type":"string"},"output.text":{"type":"string"},"output.title":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"started_at":{"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-runs"},"createSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"head_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites"},"get":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_run_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id"},"getSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_suite_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id"},"listAnnotations":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_run_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id/annotations"},"listForRef":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_name":{"type":"string"},"filter":{"enum":["latest","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/check-runs"},"listForSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"check_name":{"type":"string"},"check_suite_id":{"required":true,"type":"integer"},"filter":{"enum":["latest","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id/check-runs"},"listSuitesForRef":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"GET","params":{"app_id":{"type":"integer"},"check_name":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/check-suites"},"rerequestSuite":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"POST","params":{"check_suite_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/:check_suite_id/rerequest"},"setSuitesPreferences":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"PATCH","params":{"auto_trigger_checks":{"type":"object[]"},"auto_trigger_checks[].app_id":{"required":true,"type":"integer"},"auto_trigger_checks[].setting":{"required":true,"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/check-suites/preferences"},"update":{"headers":{"accept":"application/vnd.github.antiope-preview+json"},"method":"PATCH","params":{"actions":{"type":"object[]"},"actions[].description":{"required":true,"type":"string"},"actions[].identifier":{"required":true,"type":"string"},"actions[].label":{"required":true,"type":"string"},"check_run_id":{"required":true,"type":"integer"},"completed_at":{"type":"string"},"conclusion":{"enum":["success","failure","neutral","cancelled","timed_out","action_required"],"type":"string"},"details_url":{"type":"string"},"external_id":{"type":"string"},"name":{"type":"string"},"output":{"type":"object"},"output.annotations":{"type":"object[]"},"output.annotations[].annotation_level":{"enum":["notice","warning","failure"],"required":true,"type":"string"},"output.annotations[].end_column":{"type":"integer"},"output.annotations[].end_line":{"required":true,"type":"integer"},"output.annotations[].message":{"required":true,"type":"string"},"output.annotations[].path":{"required":true,"type":"string"},"output.annotations[].raw_details":{"type":"string"},"output.annotations[].start_column":{"type":"integer"},"output.annotations[].start_line":{"required":true,"type":"integer"},"output.annotations[].title":{"type":"string"},"output.images":{"type":"object[]"},"output.images[].alt":{"required":true,"type":"string"},"output.images[].caption":{"type":"string"},"output.images[].image_url":{"required":true,"type":"string"},"output.summary":{"required":true,"type":"string"},"output.text":{"type":"string"},"output.title":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"started_at":{"type":"string"},"status":{"enum":["queued","in_progress","completed"],"type":"string"}},"url":"/repos/:owner/:repo/check-runs/:check_run_id"}},"codesOfConduct":{"getConductCode":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{"key":{"required":true,"type":"string"}},"url":"/codes_of_conduct/:key"},"getForRepo":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/community/code_of_conduct"},"listConductCodes":{"headers":{"accept":"application/vnd.github.scarlet-witch-preview+json"},"method":"GET","params":{},"url":"/codes_of_conduct"}},"emojis":{"get":{"method":"GET","params":{},"url":"/emojis"}},"gists":{"checkIsStarred":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"create":{"method":"POST","params":{"description":{"type":"string"},"files":{"required":true,"type":"object"},"files.content":{"type":"string"},"public":{"type":"boolean"}},"url":"/gists"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments"},"delete":{"method":"DELETE","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"},"fork":{"method":"POST","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/forks"},"get":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"},"getRevision":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/gists/:gist_id/:sha"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists"},"listComments":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/comments"},"listCommits":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/commits"},"listForks":{"method":"GET","params":{"gist_id":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/gists/:gist_id/forks"},"listPublic":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists/public"},"listPublicForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/gists"},"listStarred":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/gists/starred"},"star":{"method":"PUT","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"unstar":{"method":"DELETE","params":{"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/star"},"update":{"method":"PATCH","params":{"description":{"type":"string"},"files":{"type":"object"},"files.content":{"type":"string"},"files.filename":{"type":"string"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"gist_id":{"required":true,"type":"string"}},"url":"/gists/:gist_id/comments/:comment_id"}},"git":{"createBlob":{"method":"POST","params":{"content":{"required":true,"type":"string"},"encoding":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/blobs"},"createCommit":{"method":"POST","params":{"author":{"type":"object"},"author.date":{"type":"string"},"author.email":{"type":"string"},"author.name":{"type":"string"},"committer":{"type":"object"},"committer.date":{"type":"string"},"committer.email":{"type":"string"},"committer.name":{"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"parents":{"required":true,"type":"string[]"},"repo":{"required":true,"type":"string"},"signature":{"type":"string"},"tree":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/commits"},"createRef":{"method":"POST","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs"},"createTag":{"method":"POST","params":{"message":{"required":true,"type":"string"},"object":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag":{"required":true,"type":"string"},"tagger":{"type":"object"},"tagger.date":{"type":"string"},"tagger.email":{"type":"string"},"tagger.name":{"type":"string"},"type":{"enum":["commit","tree","blob"],"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/tags"},"createTree":{"method":"POST","params":{"base_tree":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tree":{"required":true,"type":"object[]"},"tree[].content":{"type":"string"},"tree[].mode":{"enum":["100644","100755","040000","160000","120000"],"type":"string"},"tree[].path":{"type":"string"},"tree[].sha":{"allowNull":true,"type":"string"},"tree[].type":{"enum":["blob","tree","commit"],"type":"string"}},"url":"/repos/:owner/:repo/git/trees"},"deleteRef":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:ref"},"getBlob":{"method":"GET","params":{"file_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/blobs/:file_sha"},"getCommit":{"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/commits/:commit_sha"},"getRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/ref/:ref"},"getTag":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag_sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/tags/:tag_sha"},"getTree":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"recursive":{"enum":["1"],"type":"integer"},"repo":{"required":true,"type":"string"},"tree_sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/trees/:tree_sha"},"listMatchingRefs":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/matching-refs/:ref"},"listRefs":{"method":"GET","params":{"namespace":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:namespace"},"updateRef":{"method":"PATCH","params":{"force":{"type":"boolean"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/git/refs/:ref"}},"gitignore":{"getTemplate":{"method":"GET","params":{"name":{"required":true,"type":"string"}},"url":"/gitignore/templates/:name"},"listTemplates":{"method":"GET","params":{},"url":"/gitignore/templates"}},"interactions":{"addOrUpdateRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"PUT","params":{"limit":{"enum":["existing_users","contributors_only","collaborators_only"],"required":true,"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"addOrUpdateRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"PUT","params":{"limit":{"enum":["existing_users","contributors_only","collaborators_only"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"},"getRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"getRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"},"removeRestrictionsForOrg":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"DELETE","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/interaction-limits"},"removeRestrictionsForRepo":{"headers":{"accept":"application/vnd.github.sombra-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/interaction-limits"}},"issues":{"addAssignees":{"method":"POST","params":{"assignees":{"type":"string[]"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/assignees"},"addLabels":{"method":"POST","params":{"issue_number":{"required":true,"type":"integer"},"labels":{"required":true,"type":"string[]"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"checkAssignee":{"method":"GET","params":{"assignee":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/assignees/:assignee"},"create":{"method":"POST","params":{"assignee":{"type":"string"},"assignees":{"type":"string[]"},"body":{"type":"string"},"labels":{"type":"string[]"},"milestone":{"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/comments"},"createLabel":{"method":"POST","params":{"color":{"required":true,"type":"string"},"description":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels"},"createMilestone":{"method":"POST","params":{"description":{"type":"string"},"due_on":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"deleteLabel":{"method":"DELETE","params":{"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:name"},"deleteMilestone":{"method":"DELETE","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"},"get":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"getEvent":{"method":"GET","params":{"event_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/events/:event_id"},"getLabel":{"method":"GET","params":{"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:name"},"getMilestone":{"method":"GET","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"},"list":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/issues"},"listAssignees":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/assignees"},"listComments":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/comments"},"listCommentsForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/issues/comments"},"listEvents":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/events"},"listEventsForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/events"},"listEventsForTimeline":{"headers":{"accept":"application/vnd.github.mockingbird-preview+json"},"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/timeline"},"listForAuthenticatedUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/user/issues"},"listForOrg":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"filter":{"enum":["assigned","created","mentioned","subscribed","all"],"type":"string"},"labels":{"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/orgs/:org/issues"},"listForRepo":{"method":"GET","params":{"assignee":{"type":"string"},"creator":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"labels":{"type":"string"},"mentioned":{"type":"string"},"milestone":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated","comments"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/issues"},"listLabelsForMilestone":{"method":"GET","params":{"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number/labels"},"listLabelsForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels"},"listLabelsOnIssue":{"method":"GET","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"listMilestonesForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["due_on","completeness"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/milestones"},"lock":{"method":"PUT","params":{"issue_number":{"required":true,"type":"integer"},"lock_reason":{"enum":["off-topic","too heated","resolved","spam"],"type":"string"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/lock"},"removeAssignees":{"method":"DELETE","params":{"assignees":{"type":"string[]"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/assignees"},"removeLabel":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"name":{"required":true,"type":"string"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels/:name"},"removeLabels":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"replaceLabels":{"method":"PUT","params":{"issue_number":{"required":true,"type":"integer"},"labels":{"type":"string[]"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/labels"},"unlock":{"method":"DELETE","params":{"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/lock"},"update":{"method":"PATCH","params":{"assignee":{"type":"string"},"assignees":{"type":"string[]"},"body":{"type":"string"},"issue_number":{"required":true,"type":"integer"},"labels":{"type":"string[]"},"milestone":{"allowNull":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id"},"updateLabel":{"method":"PATCH","params":{"color":{"type":"string"},"current_name":{"required":true,"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/labels/:current_name"},"updateMilestone":{"method":"PATCH","params":{"description":{"type":"string"},"due_on":{"type":"string"},"milestone_number":{"required":true,"type":"integer"},"number":{"alias":"milestone_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/milestones/:milestone_number"}},"licenses":{"get":{"method":"GET","params":{"license":{"required":true,"type":"string"}},"url":"/licenses/:license"},"getForRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/license"},"list":{"deprecated":"octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)","method":"GET","params":{},"url":"/licenses"},"listCommonlyUsed":{"method":"GET","params":{},"url":"/licenses"}},"markdown":{"render":{"method":"POST","params":{"context":{"type":"string"},"mode":{"enum":["markdown","gfm"],"type":"string"},"text":{"required":true,"type":"string"}},"url":"/markdown"},"renderRaw":{"headers":{"content-type":"text/plain; charset=utf-8"},"method":"POST","params":{"data":{"mapTo":"data","required":true,"type":"string"}},"url":"/markdown/raw"}},"meta":{"get":{"method":"GET","params":{},"url":"/meta"}},"migrations":{"cancelImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import"},"deleteArchiveForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id/archive"},"deleteArchiveForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/archive"},"getArchiveForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id/archive"},"getArchiveForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/archive"},"getCommitAuthors":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"since":{"type":"string"}},"url":"/repos/:owner/:repo/import/authors"},"getImportProgress":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import"},"getLargeFiles":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/large_files"},"getStatusForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"}},"url":"/user/migrations/:migration_id"},"getStatusForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id"},"listForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/migrations"},"listForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/migrations"},"mapCommitAuthor":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"author_id":{"required":true,"type":"integer"},"email":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/authors/:author_id"},"setLfsPreference":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"use_lfs":{"enum":["opt_in","opt_out"],"required":true,"type":"string"}},"url":"/repos/:owner/:repo/import/lfs"},"startForAuthenticatedUser":{"method":"POST","params":{"exclude_attachments":{"type":"boolean"},"lock_repositories":{"type":"boolean"},"repositories":{"required":true,"type":"string[]"}},"url":"/user/migrations"},"startForOrg":{"method":"POST","params":{"exclude_attachments":{"type":"boolean"},"lock_repositories":{"type":"boolean"},"org":{"required":true,"type":"string"},"repositories":{"required":true,"type":"string[]"}},"url":"/orgs/:org/migrations"},"startImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tfvc_project":{"type":"string"},"vcs":{"enum":["subversion","git","mercurial","tfvc"],"type":"string"},"vcs_password":{"type":"string"},"vcs_url":{"required":true,"type":"string"},"vcs_username":{"type":"string"}},"url":"/repos/:owner/:repo/import"},"unlockRepoForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"repo_name":{"required":true,"type":"string"}},"url":"/user/migrations/:migration_id/repos/:repo_name/lock"},"unlockRepoForOrg":{"headers":{"accept":"application/vnd.github.wyandotte-preview+json"},"method":"DELETE","params":{"migration_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"},"repo_name":{"required":true,"type":"string"}},"url":"/orgs/:org/migrations/:migration_id/repos/:repo_name/lock"},"updateImport":{"headers":{"accept":"application/vnd.github.barred-rock-preview+json"},"method":"PATCH","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"vcs_password":{"type":"string"},"vcs_username":{"type":"string"}},"url":"/repos/:owner/:repo/import"}},"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"},"client_id":{"required":true,"type":"string"}},"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"},"client_secret":{"type":"string"},"fingerprint":{"type":"string"},"note":{"required":true,"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"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"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"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"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"required":true,"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"url":"/authorizations/clients/:client_id/:fingerprint"},"getOrCreateAuthorizationForAppFingerprint":{"deprecated":"octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)","method":"PUT","params":{"client_id":{"required":true,"type":"string"},"client_secret":{"required":true,"type":"string"},"fingerprint":{"required":true,"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"scopes":{"type":"string[]"}},"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"},"per_page":{"type":"integer"}},"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"},"per_page":{"type":"integer"}},"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"},"client_id":{"required":true,"type":"string"}},"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"},"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"},"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[]"},"authorization_id":{"required":true,"type":"integer"},"fingerprint":{"type":"string"},"note":{"type":"string"},"note_url":{"type":"string"},"remove_scopes":{"type":"string[]"},"scopes":{"type":"string[]"}},"url":"/authorizations/:authorization_id"}},"orgs":{"addOrUpdateMembership":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"role":{"enum":["admin","member"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"blockUser":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"checkBlockedUser":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"checkMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/members/:username"},"checkPublicMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"concealMembership":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"convertMemberToOutsideCollaborator":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/outside_collaborators/:username"},"createHook":{"method":"POST","params":{"active":{"type":"boolean"},"config":{"required":true,"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks"},"createInvitation":{"method":"POST","params":{"email":{"type":"string"},"invitee_id":{"type":"integer"},"org":{"required":true,"type":"string"},"role":{"enum":["admin","direct_member","billing_manager"],"type":"string"},"team_ids":{"type":"integer[]"}},"url":"/orgs/:org/invitations"},"deleteHook":{"method":"DELETE","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"get":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org"},"getHook":{"method":"GET","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"getMembership":{"method":"GET","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"getMembershipForAuthenticatedUser":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/user/memberships/orgs/:org"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/organizations"},"listBlockedUsers":{"method":"GET","params":{"org":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks"},"listForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/orgs"},"listForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/orgs"},"listHooks":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/hooks"},"listInstallations":{"headers":{"accept":"application/vnd.github.machine-man-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/installations"},"listInvitationTeams":{"method":"GET","params":{"invitation_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/invitations/:invitation_id/teams"},"listMembers":{"method":"GET","params":{"filter":{"enum":["2fa_disabled","all"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"role":{"enum":["all","admin","member"],"type":"string"}},"url":"/orgs/:org/members"},"listMemberships":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["active","pending"],"type":"string"}},"url":"/user/memberships/orgs"},"listOutsideCollaborators":{"method":"GET","params":{"filter":{"enum":["2fa_disabled","all"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/outside_collaborators"},"listPendingInvitations":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/invitations"},"listPublicMembers":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/public_members"},"pingHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id/pings"},"publicizeMembership":{"method":"PUT","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/public_members/:username"},"removeMember":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/members/:username"},"removeMembership":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/memberships/:username"},"removeOutsideCollaborator":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/outside_collaborators/:username"},"unblockUser":{"method":"DELETE","params":{"org":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/orgs/:org/blocks/:username"},"update":{"method":"PATCH","params":{"billing_email":{"type":"string"},"company":{"type":"string"},"default_repository_permission":{"enum":["read","write","admin","none"],"type":"string"},"description":{"type":"string"},"email":{"type":"string"},"has_organization_projects":{"type":"boolean"},"has_repository_projects":{"type":"boolean"},"location":{"type":"string"},"members_allowed_repository_creation_type":{"enum":["all","private","none"],"type":"string"},"members_can_create_repositories":{"type":"boolean"},"name":{"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org"},"updateHook":{"method":"PATCH","params":{"active":{"type":"boolean"},"config":{"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"hook_id":{"required":true,"type":"integer"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/hooks/:hook_id"},"updateMembership":{"method":"PATCH","params":{"org":{"required":true,"type":"string"},"state":{"enum":["active"],"required":true,"type":"string"}},"url":"/user/memberships/orgs/:org"}},"projects":{"addCollaborator":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PUT","params":{"permission":{"enum":["read","write","admin"],"type":"string"},"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username"},"createCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"column_id":{"required":true,"type":"integer"},"content_id":{"type":"integer"},"content_type":{"type":"string"},"note":{"type":"string"}},"url":"/projects/columns/:column_id/cards"},"createColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"name":{"required":true,"type":"string"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/columns"},"createForAuthenticatedUser":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"}},"url":"/user/projects"},"createForOrg":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"}},"url":"/orgs/:org/projects"},"createForRepo":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"body":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/projects"},"delete":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id"},"deleteCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"card_id":{"required":true,"type":"integer"}},"url":"/projects/columns/cards/:card_id"},"deleteColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"column_id":{"required":true,"type":"integer"}},"url":"/projects/columns/:column_id"},"get":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id"},"getCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"card_id":{"required":true,"type":"integer"}},"url":"/projects/columns/cards/:card_id"},"getColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"column_id":{"required":true,"type":"integer"}},"url":"/projects/columns/:column_id"},"listCards":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"archived_state":{"enum":["all","archived","not_archived"],"type":"string"},"column_id":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/projects/columns/:column_id/cards"},"listCollaborators":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"affiliation":{"enum":["outside","direct","all"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/collaborators"},"listColumns":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"project_id":{"required":true,"type":"integer"}},"url":"/projects/:project_id/columns"},"listForOrg":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/orgs/:org/projects"},"listForRepo":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/projects"},"listForUser":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"state":{"enum":["open","closed","all"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/projects"},"moveCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"card_id":{"required":true,"type":"integer"},"column_id":{"type":"integer"},"position":{"required":true,"type":"string","validation":"^(top|bottom|after:\\d+)$"}},"url":"/projects/columns/cards/:card_id/moves"},"moveColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"POST","params":{"column_id":{"required":true,"type":"integer"},"position":{"required":true,"type":"string","validation":"^(first|last|after:\\d+)$"}},"url":"/projects/columns/:column_id/moves"},"removeCollaborator":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username"},"reviewUserPermissionLevel":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"project_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/projects/:project_id/collaborators/:username/permission"},"update":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"body":{"type":"string"},"name":{"type":"string"},"organization_permission":{"type":"string"},"private":{"type":"boolean"},"project_id":{"required":true,"type":"integer"},"state":{"enum":["open","closed"],"type":"string"}},"url":"/projects/:project_id"},"updateCard":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"archived":{"type":"boolean"},"card_id":{"required":true,"type":"integer"},"note":{"type":"string"}},"url":"/projects/columns/cards/:card_id"},"updateColumn":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PATCH","params":{"column_id":{"required":true,"type":"integer"},"name":{"required":true,"type":"string"}},"url":"/projects/columns/:column_id"}},"pulls":{"checkIfMerged":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/merge"},"create":{"method":"POST","params":{"base":{"required":true,"type":"string"},"body":{"type":"string"},"draft":{"type":"boolean"},"head":{"required":true,"type":"string"},"maintainer_can_modify":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"title":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"createComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"commit_id":{"required":true,"type":"string"},"in_reply_to":{"deprecated":true,"description":"The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.","type":"integer"},"line":{"type":"integer"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"position":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"side":{"enum":["LEFT","RIGHT"],"type":"string"},"start_line":{"type":"integer"},"start_side":{"enum":["LEFT","RIGHT","side"],"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"createCommentReply":{"deprecated":"octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)","method":"POST","params":{"body":{"required":true,"type":"string"},"commit_id":{"required":true,"type":"string"},"in_reply_to":{"deprecated":true,"description":"The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.","type":"integer"},"line":{"type":"integer"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"position":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"side":{"enum":["LEFT","RIGHT"],"type":"string"},"start_line":{"type":"integer"},"start_side":{"enum":["LEFT","RIGHT","side"],"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"createFromIssue":{"deprecated":"octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request","method":"POST","params":{"base":{"required":true,"type":"string"},"draft":{"type":"boolean"},"head":{"required":true,"type":"string"},"issue":{"required":true,"type":"integer"},"maintainer_can_modify":{"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"createReview":{"method":"POST","params":{"body":{"type":"string"},"comments":{"type":"object[]"},"comments[].body":{"required":true,"type":"string"},"comments[].path":{"required":true,"type":"string"},"comments[].position":{"required":true,"type":"integer"},"commit_id":{"type":"string"},"event":{"enum":["APPROVE","REQUEST_CHANGES","COMMENT"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews"},"createReviewCommentReply":{"method":"POST","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies"},"createReviewRequest":{"method":"POST","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"reviewers":{"type":"string[]"},"team_reviewers":{"type":"string[]"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"deleteComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"deletePendingReview":{"method":"DELETE","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"},"deleteReviewRequest":{"method":"DELETE","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"reviewers":{"type":"string[]"},"team_reviewers":{"type":"string[]"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"dismissReview":{"method":"PUT","params":{"message":{"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals"},"get":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number"},"getComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"getCommentsForReview":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments"},"getReview":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"},"list":{"method":"GET","params":{"base":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"head":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["created","updated","popularity","long-running"],"type":"string"},"state":{"enum":["open","closed","all"],"type":"string"}},"url":"/repos/:owner/:repo/pulls"},"listComments":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/comments"},"listCommentsForRepo":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"since":{"type":"string"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments"},"listCommits":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/commits"},"listFiles":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/files"},"listReviewRequests":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/requested_reviewers"},"listReviews":{"method":"GET","params":{"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews"},"merge":{"method":"PUT","params":{"commit_message":{"type":"string"},"commit_title":{"type":"string"},"merge_method":{"enum":["merge","squash","rebase"],"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/merge"},"submitReview":{"method":"POST","params":{"body":{"type":"string"},"event":{"enum":["APPROVE","REQUEST_CHANGES","COMMENT"],"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events"},"update":{"method":"PATCH","params":{"base":{"type":"string"},"body":{"type":"string"},"maintainer_can_modify":{"type":"boolean"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"state":{"enum":["open","closed"],"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number"},"updateBranch":{"headers":{"accept":"application/vnd.github.lydian-preview+json"},"method":"PUT","params":{"expected_head_sha":{"type":"string"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/:pull_number/update-branch"},"updateComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id"},"updateReview":{"method":"PUT","params":{"body":{"required":true,"type":"string"},"number":{"alias":"pull_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"pull_number":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"review_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id"}},"rateLimit":{"get":{"method":"GET","params":{},"url":"/rate_limit"}},"reactions":{"createForCommitComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id/reactions"},"createForIssue":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/reactions"},"createForIssueComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id/reactions"},"createForPullRequestReviewComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id/reactions"},"createForTeamDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/reactions"},"createForTeamDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"POST","params":{"comment_number":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"},"delete":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"DELETE","params":{"reaction_id":{"required":true,"type":"integer"}},"url":"/reactions/:reaction_id"},"listForCommitComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id/reactions"},"listForIssue":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"issue_number":{"required":true,"type":"integer"},"number":{"alias":"issue_number","deprecated":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/:issue_number/reactions"},"listForIssueComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/issues/comments/:comment_id/reactions"},"listForPullRequestReviewComment":{"headers":{"accept":"application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pulls/comments/:comment_id/reactions"},"listForTeamDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/reactions"},"listForTeamDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json,application/vnd.github.squirrel-girl-preview+json"},"method":"GET","params":{"comment_number":{"required":true,"type":"integer"},"content":{"enum":["+1","-1","laugh","confused","heart","hooray","rocket","eyes"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions"}},"repos":{"acceptInvitation":{"method":"PATCH","params":{"invitation_id":{"required":true,"type":"integer"}},"url":"/user/repository_invitations/:invitation_id"},"addCollaborator":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"permission":{"enum":["pull","push","admin"],"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"addDeployKey":{"method":"POST","params":{"key":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"read_only":{"type":"boolean"},"repo":{"required":true,"type":"string"},"title":{"type":"string"}},"url":"/repos/:owner/:repo/keys"},"addProtectedBranchAdminEnforcement":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"addProtectedBranchAppRestrictions":{"method":"POST","params":{"apps":{"mapTo":"data","required":true,"type":"string[]"},"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"},"addProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"addProtectedBranchRequiredStatusChecksContexts":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"addProtectedBranchTeamRestrictions":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"addProtectedBranchUserRestrictions":{"method":"POST","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"checkCollaborator":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"checkVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"compareCommits":{"method":"GET","params":{"base":{"required":true,"type":"string"},"head":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/compare/:base...:head"},"createCommitComment":{"method":"POST","params":{"body":{"required":true,"type":"string"},"commit_sha":{"required":true,"type":"string"},"line":{"type":"integer"},"owner":{"required":true,"type":"string"},"path":{"type":"string"},"position":{"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"alias":"commit_sha","deprecated":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/comments"},"createDeployment":{"method":"POST","params":{"auto_merge":{"type":"boolean"},"description":{"type":"string"},"environment":{"type":"string"},"owner":{"required":true,"type":"string"},"payload":{"type":"string"},"production_environment":{"type":"boolean"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"required_contexts":{"type":"string[]"},"task":{"type":"string"},"transient_environment":{"type":"boolean"}},"url":"/repos/:owner/:repo/deployments"},"createDeploymentStatus":{"method":"POST","params":{"auto_inactive":{"type":"boolean"},"deployment_id":{"required":true,"type":"integer"},"description":{"type":"string"},"environment":{"enum":["production","staging","qa"],"type":"string"},"environment_url":{"type":"string"},"log_url":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"state":{"enum":["error","failure","inactive","in_progress","queued","pending","success"],"required":true,"type":"string"},"target_url":{"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses"},"createDispatchEvent":{"headers":{"accept":"application/vnd.github.everest-preview+json"},"method":"POST","params":{"client_payload":{"type":"object"},"event_type":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/dispatches"},"createFile":{"deprecated":"octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)","method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"createForAuthenticatedUser":{"method":"POST","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"auto_init":{"type":"boolean"},"description":{"type":"string"},"gitignore_template":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"license_template":{"type":"string"},"name":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"type":"integer"}},"url":"/user/repos"},"createFork":{"method":"POST","params":{"organization":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/forks"},"createHook":{"method":"POST","params":{"active":{"type":"boolean"},"config":{"required":true,"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks"},"createInOrg":{"method":"POST","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"auto_init":{"type":"boolean"},"description":{"type":"string"},"gitignore_template":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"license_template":{"type":"string"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"type":"integer"}},"url":"/orgs/:org/repos"},"createOrUpdateFile":{"method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"createRelease":{"method":"POST","params":{"body":{"type":"string"},"draft":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"prerelease":{"type":"boolean"},"repo":{"required":true,"type":"string"},"tag_name":{"required":true,"type":"string"},"target_commitish":{"type":"string"}},"url":"/repos/:owner/:repo/releases"},"createStatus":{"method":"POST","params":{"context":{"type":"string"},"description":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"},"state":{"enum":["error","failure","pending","success"],"required":true,"type":"string"},"target_url":{"type":"string"}},"url":"/repos/:owner/:repo/statuses/:sha"},"createUsingTemplate":{"headers":{"accept":"application/vnd.github.baptiste-preview+json"},"method":"POST","params":{"description":{"type":"string"},"name":{"required":true,"type":"string"},"owner":{"type":"string"},"private":{"type":"boolean"},"template_owner":{"required":true,"type":"string"},"template_repo":{"required":true,"type":"string"}},"url":"/repos/:template_owner/:template_repo/generate"},"declineInvitation":{"method":"DELETE","params":{"invitation_id":{"required":true,"type":"integer"}},"url":"/user/repository_invitations/:invitation_id"},"delete":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"deleteCommitComment":{"method":"DELETE","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"deleteDownload":{"method":"DELETE","params":{"download_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads/:download_id"},"deleteFile":{"method":"DELETE","params":{"author":{"type":"object"},"author.email":{"type":"string"},"author.name":{"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"type":"string"},"committer.name":{"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"deleteHook":{"method":"DELETE","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"deleteInvitation":{"method":"DELETE","params":{"invitation_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations/:invitation_id"},"deleteRelease":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"deleteReleaseAsset":{"method":"DELETE","params":{"asset_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"disableAutomatedSecurityFixes":{"headers":{"accept":"application/vnd.github.london-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/automated-security-fixes"},"disablePagesSite":{"headers":{"accept":"application/vnd.github.switcheroo-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages"},"disableVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"enableAutomatedSecurityFixes":{"headers":{"accept":"application/vnd.github.london-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/automated-security-fixes"},"enablePagesSite":{"headers":{"accept":"application/vnd.github.switcheroo-preview+json"},"method":"POST","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"source":{"type":"object"},"source.branch":{"enum":["master","gh-pages"],"type":"string"},"source.path":{"type":"string"}},"url":"/repos/:owner/:repo/pages"},"enableVulnerabilityAlerts":{"headers":{"accept":"application/vnd.github.dorian-preview+json"},"method":"PUT","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/vulnerability-alerts"},"get":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"getAppsWithAccessToProtectedBranch":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"},"getArchiveLink":{"method":"GET","params":{"archive_format":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/:archive_format/:ref"},"getBranch":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch"},"getBranchProtection":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"getClones":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"per":{"enum":["day","week"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/clones"},"getCodeFrequencyStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/code_frequency"},"getCollaboratorPermissionLevel":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username/permission"},"getCombinedStatusForRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/status"},"getCommit":{"method":"GET","params":{"commit_sha":{"alias":"ref","deprecated":true,"type":"string"},"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"alias":"ref","deprecated":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref"},"getCommitActivityStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/commit_activity"},"getCommitComment":{"method":"GET","params":{"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"getCommitRefSha":{"deprecated":"octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit","headers":{"accept":"application/vnd.github.v3.sha"},"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref"},"getContents":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"getContributorsStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/contributors"},"getDeployKey":{"method":"GET","params":{"key_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys/:key_id"},"getDeployment":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id"},"getDeploymentStatus":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"status_id":{"required":true,"type":"integer"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id"},"getDownload":{"method":"GET","params":{"download_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads/:download_id"},"getHook":{"method":"GET","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"getLatestPagesBuild":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds/latest"},"getLatestRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/latest"},"getPages":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages"},"getPagesBuild":{"method":"GET","params":{"build_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds/:build_id"},"getParticipationStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/participation"},"getProtectedBranchAdminEnforcement":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"getProtectedBranchPullRequestReviewEnforcement":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"getProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"getProtectedBranchRequiredStatusChecks":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"getProtectedBranchRestrictions":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions"},"getPunchCardStats":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/stats/punch_card"},"getReadme":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/readme"},"getRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"getReleaseAsset":{"method":"GET","params":{"asset_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"getReleaseByTag":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"tag":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/tags/:tag"},"getTeamsWithAccessToProtectedBranch":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"getTopPaths":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/popular/paths"},"getTopReferrers":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/popular/referrers"},"getUsersWithAccessToProtectedBranch":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"getViews":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"per":{"enum":["day","week"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/traffic/views"},"list":{"method":"GET","params":{"affiliation":{"type":"string"},"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","owner","public","private","member"],"type":"string"},"visibility":{"enum":["all","public","private"],"type":"string"}},"url":"/user/repos"},"listAppsWithAccessToProtectedBranch":{"deprecated":"octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)","method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"},"listAssetsForRelease":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id/assets"},"listBranches":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"protected":{"type":"boolean"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches"},"listBranchesForHeadCommit":{"headers":{"accept":"application/vnd.github.groot-preview+json"},"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/branches-where-head"},"listCollaborators":{"method":"GET","params":{"affiliation":{"enum":["outside","direct","all"],"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators"},"listCommentsForCommit":{"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"alias":"commit_sha","deprecated":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/comments"},"listCommitComments":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments"},"listCommits":{"method":"GET","params":{"author":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"path":{"type":"string"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"},"since":{"type":"string"},"until":{"type":"string"}},"url":"/repos/:owner/:repo/commits"},"listContributors":{"method":"GET","params":{"anon":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/contributors"},"listDeployKeys":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys"},"listDeploymentStatuses":{"method":"GET","params":{"deployment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/deployments/:deployment_id/statuses"},"listDeployments":{"method":"GET","params":{"environment":{"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"},"task":{"type":"string"}},"url":"/repos/:owner/:repo/deployments"},"listDownloads":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/downloads"},"listForOrg":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","public","private","forks","sources","member"],"type":"string"}},"url":"/orgs/:org/repos"},"listForUser":{"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"sort":{"enum":["created","updated","pushed","full_name"],"type":"string"},"type":{"enum":["all","owner","member"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/repos"},"listForks":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"},"sort":{"enum":["newest","oldest","stargazers"],"type":"string"}},"url":"/repos/:owner/:repo/forks"},"listHooks":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks"},"listInvitations":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations"},"listInvitationsForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/repository_invitations"},"listLanguages":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/languages"},"listPagesBuilds":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds"},"listProtectedBranchRequiredStatusChecksContexts":{"method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"listProtectedBranchTeamRestrictions":{"deprecated":"octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)","method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"listProtectedBranchUserRestrictions":{"deprecated":"octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)","method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"listPublic":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/repositories"},"listPullRequestsAssociatedWithCommit":{"headers":{"accept":"application/vnd.github.groot-preview+json"},"method":"GET","params":{"commit_sha":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:commit_sha/pulls"},"listReleases":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases"},"listStatusesForRef":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"ref":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/commits/:ref/statuses"},"listTags":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/tags"},"listTeams":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/teams"},"listTeamsWithAccessToProtectedBranch":{"deprecated":"octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)","method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"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"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/topics"},"listUsersWithAccessToProtectedBranch":{"deprecated":"octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)","method":"GET","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"merge":{"method":"POST","params":{"base":{"required":true,"type":"string"},"commit_message":{"type":"string"},"head":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/merges"},"pingHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id/pings"},"removeBranchProtection":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"removeCollaborator":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/collaborators/:username"},"removeDeployKey":{"method":"DELETE","params":{"key_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/keys/:key_id"},"removeProtectedBranchAdminEnforcement":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/enforce_admins"},"removeProtectedBranchAppRestrictions":{"method":"DELETE","params":{"apps":{"mapTo":"data","required":true,"type":"string[]"},"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"},"removeProtectedBranchPullRequestReviewEnforcement":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"removeProtectedBranchRequiredSignatures":{"headers":{"accept":"application/vnd.github.zzzax-preview+json"},"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_signatures"},"removeProtectedBranchRequiredStatusChecks":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"removeProtectedBranchRequiredStatusChecksContexts":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"removeProtectedBranchRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions"},"removeProtectedBranchTeamRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"removeProtectedBranchUserRestrictions":{"method":"DELETE","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/users"},"replaceProtectedBranchAppRestrictions":{"method":"PUT","params":{"apps":{"mapTo":"data","required":true,"type":"string[]"},"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/apps"},"replaceProtectedBranchRequiredStatusChecksContexts":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"contexts":{"mapTo":"data","required":true,"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts"},"replaceProtectedBranchTeamRestrictions":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"teams":{"mapTo":"data","required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection/restrictions/teams"},"replaceProtectedBranchUserRestrictions":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"users":{"mapTo":"data","required":true,"type":"string[]"}},"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[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/topics"},"requestPageBuild":{"method":"POST","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/pages/builds"},"retrieveCommunityProfileMetrics":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/community/profile"},"testPushHook":{"method":"POST","params":{"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id/tests"},"transfer":{"headers":{"accept":"application/vnd.github.nightshade-preview+json"},"method":"POST","params":{"new_owner":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_ids":{"type":"integer[]"}},"url":"/repos/:owner/:repo/transfer"},"update":{"method":"PATCH","params":{"allow_merge_commit":{"type":"boolean"},"allow_rebase_merge":{"type":"boolean"},"allow_squash_merge":{"type":"boolean"},"archived":{"type":"boolean"},"default_branch":{"type":"string"},"description":{"type":"string"},"has_issues":{"type":"boolean"},"has_projects":{"type":"boolean"},"has_wiki":{"type":"boolean"},"homepage":{"type":"string"},"is_template":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"private":{"type":"boolean"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo"},"updateBranchProtection":{"method":"PUT","params":{"branch":{"required":true,"type":"string"},"enforce_admins":{"allowNull":true,"required":true,"type":"boolean"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"required_pull_request_reviews":{"allowNull":true,"required":true,"type":"object"},"required_pull_request_reviews.dismiss_stale_reviews":{"type":"boolean"},"required_pull_request_reviews.dismissal_restrictions":{"type":"object"},"required_pull_request_reviews.dismissal_restrictions.teams":{"type":"string[]"},"required_pull_request_reviews.dismissal_restrictions.users":{"type":"string[]"},"required_pull_request_reviews.require_code_owner_reviews":{"type":"boolean"},"required_pull_request_reviews.required_approving_review_count":{"type":"integer"},"required_status_checks":{"allowNull":true,"required":true,"type":"object"},"required_status_checks.contexts":{"required":true,"type":"string[]"},"required_status_checks.strict":{"required":true,"type":"boolean"},"restrictions":{"allowNull":true,"required":true,"type":"object"},"restrictions.apps":{"type":"string[]"},"restrictions.teams":{"required":true,"type":"string[]"},"restrictions.users":{"required":true,"type":"string[]"}},"url":"/repos/:owner/:repo/branches/:branch/protection"},"updateCommitComment":{"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/comments/:comment_id"},"updateFile":{"deprecated":"octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)","method":"PUT","params":{"author":{"type":"object"},"author.email":{"required":true,"type":"string"},"author.name":{"required":true,"type":"string"},"branch":{"type":"string"},"committer":{"type":"object"},"committer.email":{"required":true,"type":"string"},"committer.name":{"required":true,"type":"string"},"content":{"required":true,"type":"string"},"message":{"required":true,"type":"string"},"owner":{"required":true,"type":"string"},"path":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"sha":{"type":"string"}},"url":"/repos/:owner/:repo/contents/:path"},"updateHook":{"method":"PATCH","params":{"active":{"type":"boolean"},"add_events":{"type":"string[]"},"config":{"type":"object"},"config.content_type":{"type":"string"},"config.insecure_ssl":{"type":"string"},"config.secret":{"type":"string"},"config.url":{"required":true,"type":"string"},"events":{"type":"string[]"},"hook_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"remove_events":{"type":"string[]"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/hooks/:hook_id"},"updateInformationAboutPagesSite":{"method":"PUT","params":{"cname":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"source":{"enum":["\"gh-pages\"","\"master\"","\"master /docs\""],"type":"string"}},"url":"/repos/:owner/:repo/pages"},"updateInvitation":{"method":"PATCH","params":{"invitation_id":{"required":true,"type":"integer"},"owner":{"required":true,"type":"string"},"permissions":{"enum":["read","write","admin"],"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/invitations/:invitation_id"},"updateProtectedBranchPullRequestReviewEnforcement":{"method":"PATCH","params":{"branch":{"required":true,"type":"string"},"dismiss_stale_reviews":{"type":"boolean"},"dismissal_restrictions":{"type":"object"},"dismissal_restrictions.teams":{"type":"string[]"},"dismissal_restrictions.users":{"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"require_code_owner_reviews":{"type":"boolean"},"required_approving_review_count":{"type":"integer"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews"},"updateProtectedBranchRequiredStatusChecks":{"method":"PATCH","params":{"branch":{"required":true,"type":"string"},"contexts":{"type":"string[]"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"strict":{"type":"boolean"}},"url":"/repos/:owner/:repo/branches/:branch/protection/required_status_checks"},"updateRelease":{"method":"PATCH","params":{"body":{"type":"string"},"draft":{"type":"boolean"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"prerelease":{"type":"boolean"},"release_id":{"required":true,"type":"integer"},"repo":{"required":true,"type":"string"},"tag_name":{"type":"string"},"target_commitish":{"type":"string"}},"url":"/repos/:owner/:repo/releases/:release_id"},"updateReleaseAsset":{"method":"PATCH","params":{"asset_id":{"required":true,"type":"integer"},"label":{"type":"string"},"name":{"type":"string"},"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"}},"url":"/repos/:owner/:repo/releases/assets/:asset_id"},"uploadReleaseAsset":{"method":"POST","params":{"file":{"mapTo":"data","required":true,"type":"string | object"},"headers":{"required":true,"type":"object"},"headers.content-length":{"required":true,"type":"integer"},"headers.content-type":{"required":true,"type":"string"},"label":{"type":"string"},"name":{"required":true,"type":"string"},"url":{"required":true,"type":"string"}},"url":":url"}},"search":{"code":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["indexed"],"type":"string"}},"url":"/search/code"},"commits":{"headers":{"accept":"application/vnd.github.cloak-preview+json"},"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["author-date","committer-date"],"type":"string"}},"url":"/search/commits"},"issues":{"deprecated":"octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)","method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["comments","reactions","reactions-+1","reactions--1","reactions-smile","reactions-thinking_face","reactions-heart","reactions-tada","interactions","created","updated"],"type":"string"}},"url":"/search/issues"},"issuesAndPullRequests":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["comments","reactions","reactions-+1","reactions--1","reactions-smile","reactions-thinking_face","reactions-heart","reactions-tada","interactions","created","updated"],"type":"string"}},"url":"/search/issues"},"labels":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"q":{"required":true,"type":"string"},"repository_id":{"required":true,"type":"integer"},"sort":{"enum":["created","updated"],"type":"string"}},"url":"/search/labels"},"repos":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["stars","forks","help-wanted-issues","updated"],"type":"string"}},"url":"/search/repositories"},"topics":{"method":"GET","params":{"q":{"required":true,"type":"string"}},"url":"/search/topics"},"users":{"method":"GET","params":{"order":{"enum":["desc","asc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"q":{"required":true,"type":"string"},"sort":{"enum":["followers","repositories","joined"],"type":"string"}},"url":"/search/users"}},"teams":{"addMember":{"deprecated":"octokit.teams.addMember() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member","method":"PUT","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"addOrUpdateMembership":{"method":"PUT","params":{"role":{"enum":["member","maintainer"],"type":"string"},"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"addOrUpdateProject":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"PUT","params":{"permission":{"enum":["read","write","admin"],"type":"string"},"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"addOrUpdateRepo":{"method":"PUT","params":{"owner":{"required":true,"type":"string"},"permission":{"enum":["pull","push","admin"],"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"checkManagesRepo":{"method":"GET","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"create":{"method":"POST","params":{"description":{"type":"string"},"maintainers":{"type":"string[]"},"name":{"required":true,"type":"string"},"org":{"required":true,"type":"string"},"parent_team_id":{"type":"integer"},"permission":{"enum":["pull","push","admin"],"type":"string"},"privacy":{"enum":["secret","closed"],"type":"string"},"repo_names":{"type":"string[]"}},"url":"/orgs/:org/teams"},"createDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"POST","params":{"body":{"required":true,"type":"string"},"private":{"type":"boolean"},"team_id":{"required":true,"type":"integer"},"title":{"required":true,"type":"string"}},"url":"/teams/:team_id/discussions"},"createDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"POST","params":{"body":{"required":true,"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments"},"delete":{"method":"DELETE","params":{"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"deleteDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"DELETE","params":{"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number"},"deleteDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"DELETE","params":{"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"},"get":{"method":"GET","params":{"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"getByName":{"method":"GET","params":{"org":{"required":true,"type":"string"},"team_slug":{"required":true,"type":"string"}},"url":"/orgs/:org/teams/:team_slug"},"getDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number"},"getDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"},"getMember":{"deprecated":"octokit.teams.getMember() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member","method":"GET","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"getMembership":{"method":"GET","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"list":{"method":"GET","params":{"org":{"required":true,"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/orgs/:org/teams"},"listChild":{"headers":{"accept":"application/vnd.github.hellcat-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/teams"},"listDiscussionComments":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"discussion_number":{"required":true,"type":"integer"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments"},"listDiscussions":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"GET","params":{"direction":{"enum":["asc","desc"],"type":"string"},"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions"},"listForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/teams"},"listMembers":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"role":{"enum":["member","maintainer","all"],"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/members"},"listPendingInvitations":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/invitations"},"listProjects":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects"},"listRepos":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos"},"removeMember":{"deprecated":"octokit.teams.removeMember() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member","method":"DELETE","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/members/:username"},"removeMembership":{"method":"DELETE","params":{"team_id":{"required":true,"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/teams/:team_id/memberships/:username"},"removeProject":{"method":"DELETE","params":{"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"removeRepo":{"method":"DELETE","params":{"owner":{"required":true,"type":"string"},"repo":{"required":true,"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/repos/:owner/:repo"},"reviewProject":{"headers":{"accept":"application/vnd.github.inertia-preview+json"},"method":"GET","params":{"project_id":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/projects/:project_id"},"update":{"method":"PATCH","params":{"description":{"type":"string"},"name":{"required":true,"type":"string"},"parent_team_id":{"type":"integer"},"permission":{"enum":["pull","push","admin"],"type":"string"},"privacy":{"enum":["secret","closed"],"type":"string"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id"},"updateDiscussion":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"PATCH","params":{"body":{"type":"string"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"},"title":{"type":"string"}},"url":"/teams/:team_id/discussions/:discussion_number"},"updateDiscussionComment":{"headers":{"accept":"application/vnd.github.echo-preview+json"},"method":"PATCH","params":{"body":{"required":true,"type":"string"},"comment_number":{"required":true,"type":"integer"},"discussion_number":{"required":true,"type":"integer"},"team_id":{"required":true,"type":"integer"}},"url":"/teams/:team_id/discussions/:discussion_number/comments/:comment_number"}},"users":{"addEmails":{"method":"POST","params":{"emails":{"required":true,"type":"string[]"}},"url":"/user/emails"},"block":{"method":"PUT","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"checkBlocked":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"checkFollowing":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"checkFollowingForUser":{"method":"GET","params":{"target_user":{"required":true,"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/following/:target_user"},"createGpgKey":{"method":"POST","params":{"armored_public_key":{"type":"string"}},"url":"/user/gpg_keys"},"createPublicKey":{"method":"POST","params":{"key":{"type":"string"},"title":{"type":"string"}},"url":"/user/keys"},"deleteEmails":{"method":"DELETE","params":{"emails":{"required":true,"type":"string[]"}},"url":"/user/emails"},"deleteGpgKey":{"method":"DELETE","params":{"gpg_key_id":{"required":true,"type":"integer"}},"url":"/user/gpg_keys/:gpg_key_id"},"deletePublicKey":{"method":"DELETE","params":{"key_id":{"required":true,"type":"integer"}},"url":"/user/keys/:key_id"},"follow":{"method":"PUT","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"getAuthenticated":{"method":"GET","params":{},"url":"/user"},"getByUsername":{"method":"GET","params":{"username":{"required":true,"type":"string"}},"url":"/users/:username"},"getContextForUser":{"headers":{"accept":"application/vnd.github.hagar-preview+json"},"method":"GET","params":{"subject_id":{"type":"string"},"subject_type":{"enum":["organization","repository","issue","pull_request"],"type":"string"},"username":{"required":true,"type":"string"}},"url":"/users/:username/hovercard"},"getGpgKey":{"method":"GET","params":{"gpg_key_id":{"required":true,"type":"integer"}},"url":"/user/gpg_keys/:gpg_key_id"},"getPublicKey":{"method":"GET","params":{"key_id":{"required":true,"type":"integer"}},"url":"/user/keys/:key_id"},"list":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"since":{"type":"string"}},"url":"/users"},"listBlocked":{"method":"GET","params":{},"url":"/user/blocks"},"listEmails":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/emails"},"listFollowersForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/followers"},"listFollowersForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/followers"},"listFollowingForAuthenticatedUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/following"},"listFollowingForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/following"},"listGpgKeys":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/gpg_keys"},"listGpgKeysForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/gpg_keys"},"listPublicEmails":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/public_emails"},"listPublicKeys":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"}},"url":"/user/keys"},"listPublicKeysForUser":{"method":"GET","params":{"page":{"type":"integer"},"per_page":{"type":"integer"},"username":{"required":true,"type":"string"}},"url":"/users/:username/keys"},"togglePrimaryEmailVisibility":{"method":"PATCH","params":{"email":{"required":true,"type":"string"},"visibility":{"required":true,"type":"string"}},"url":"/user/email/visibility"},"unblock":{"method":"DELETE","params":{"username":{"required":true,"type":"string"}},"url":"/user/blocks/:username"},"unfollow":{"method":"DELETE","params":{"username":{"required":true,"type":"string"}},"url":"/user/following/:username"},"updateAuthenticated":{"method":"PATCH","params":{"bio":{"type":"string"},"blog":{"type":"string"},"company":{"type":"string"},"email":{"type":"string"},"hireable":{"type":"boolean"},"location":{"type":"string"},"name":{"type":"string"}},"url":"/user"}}}; /***/ }), @@ -10292,227 +10490,30 @@ module.exports = function bind(fn, thisArg) { /***/ }), /***/ 732: -/***/ (function(module, __unusedexports, __webpack_require__) { - -/** - * Detect Electron renderer process, which is node, but we should - * treat as a browser. - */ - -if (typeof process === 'undefined' || process.type === 'renderer') { - module.exports = __webpack_require__(235); -} else { - module.exports = __webpack_require__(738); -} - - -/***/ }), - -/***/ 736: -/***/ (function(__unusedmodule, exports, __webpack_require__) { +/***/ (function(module) { "use strict"; -/// -Object.defineProperty(exports, "__esModule", { value: true }); -var IncomingWebhook_1 = __webpack_require__(337); -exports.IncomingWebhook = IncomingWebhook_1.IncomingWebhook; -var errors_1 = __webpack_require__(353); -exports.ErrorCode = errors_1.ErrorCode; -//# sourceMappingURL=index.js.map - -/***/ }), - -/***/ 738: -/***/ (function(module, exports, __webpack_require__) { - -/** - * Module dependencies. - */ - -var tty = __webpack_require__(993); -var util = __webpack_require__(669); - -/** - * This is the Node.js implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = __webpack_require__(138); -exports.init = init; -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; - -/** - * Colors. - */ - -exports.colors = [ 6, 2, 3, 4, 5, 1 ]; - -try { - var supportsColor = __webpack_require__(247); - if (supportsColor && supportsColor.level >= 2) { - exports.colors = [ - 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, - 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, - 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 214, 215, 220, 221 - ]; - } -} catch (err) { - // swallow - we only care if `supports-color` is available; it doesn't have to be. -} - -/** - * Build up the default `inspectOpts` object from the environment variables. - * - * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js - */ - -exports.inspectOpts = Object.keys(process.env).filter(function (key) { - return /^debug_/i.test(key); -}).reduce(function (obj, key) { - // camel-case - var prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); - - // coerce string value into JS value - var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) val = true; - else if (/^(no|off|false|disabled)$/i.test(val)) val = false; - else if (val === 'null') val = null; - else val = Number(val); - - obj[prop] = val; - return obj; -}, {}); - -/** - * Is stdout a TTY? Colored output is enabled when `true`. - */ - -function useColors() { - return 'colors' in exports.inspectOpts - ? Boolean(exports.inspectOpts.colors) - : tty.isatty(process.stderr.fd); -} - -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -exports.formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .split('\n').map(function(str) { - return str.trim() - }).join(' '); -}; - -/** - * Map %o to `util.inspect()`, allowing multiple lines if needed. - */ -exports.formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); }; -/** - * Adds ANSI color escape codes if enabled. - * - * @api public - */ - -function formatArgs(args) { - var name = this.namespace; - var useColors = this.useColors; - - if (useColors) { - var c = this.color; - var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); - var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; - - args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); - } else { - args[0] = getDate() + name + ' ' + args[0]; - } -} - -function getDate() { - if (exports.inspectOpts.hideDate) { - return ''; - } else { - return new Date().toISOString() + ' '; - } -} - -/** - * Invokes `util.format()` with the specified arguments and writes to stderr. - */ - -function log() { - return process.stderr.write(util.format.apply(util, arguments) + '\n'); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - if (null == namespaces) { - // If you set a process.env field to null or undefined, it gets cast to the - // string 'null' or 'undefined'. Just delete instead. - delete process.env.DEBUG; - } else { - process.env.DEBUG = namespaces; - } -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - return process.env.DEBUG; -} - -/** - * Init logic for `debug` instances. - * - * Create a new `inspectOpts` object in case `useColors` is set - * differently for a particular `debug` instance. - */ - -function init (debug) { - debug.inspectOpts = {}; - - var keys = Object.keys(exports.inspectOpts); - for (var i = 0; i < keys.length; i++) { - debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } -} -/** - * Enable namespaces listed in `process.env.DEBUG` initially. - */ +/***/ }), -exports.enable(load()); +/***/ 736: +/***/ (function(__unusedmodule, exports, __webpack_require__) { + +"use strict"; +/// +Object.defineProperty(exports, "__esModule", { value: true }); +var IncomingWebhook_1 = __webpack_require__(337); +exports.IncomingWebhook = IncomingWebhook_1.IncomingWebhook; +var errors_1 = __webpack_require__(353); +exports.ErrorCode = errors_1.ErrorCode; +//# sourceMappingURL=index.js.map /***/ }), @@ -10578,28 +10579,6 @@ function sync (path, options) { } -/***/ }), - -/***/ 746: -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = getUserAgentNode - -const osName = __webpack_require__(2) - -function getUserAgentNode () { - try { - return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})` - } catch (error) { - if (/wmic os get Caption/.test(error.message)) { - return 'Windows ' - } - - throw error - } -} - - /***/ }), /***/ 747: @@ -10620,12 +10599,12 @@ Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var endpoint = __webpack_require__(385); -var getUserAgent = _interopDefault(__webpack_require__(261)); +var universalUserAgent = __webpack_require__(211); var isPlainObject = _interopDefault(__webpack_require__(696)); var nodeFetch = _interopDefault(__webpack_require__(454)); var requestError = __webpack_require__(463); -const VERSION = "0.0.0-development"; +const VERSION = "5.3.1"; function getBufferResponse(response) { return response.arrayBuffer(); @@ -10684,7 +10663,11 @@ function fetchWrapper(requestOptions) { }); try { - Object.assign(error, JSON.parse(error.message)); + let responseBody = JSON.parse(error.message); + Object.assign(error, responseBody); + let errors = responseBody.errors; // Assumption `errors` would always be in Array Fotmat + + error.message = error.message + ": " + errors.map(JSON.stringify).join(", "); } catch (e) {// ignore, see octokit/rest.js#684 } @@ -10751,11 +10734,12 @@ function withDefaults(oldEndpoint, newDefaults) { const request = withDefaults(endpoint.endpoint, { headers: { - "user-agent": `octokit-request.js/${VERSION} ${getUserAgent()}` + "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` } }); exports.request = request; +//# sourceMappingURL=index.js.map /***/ }), @@ -10924,10 +10908,11 @@ module.exports = defaults; "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; @@ -11035,27 +11020,21 @@ class Slack extends webhook_1.IncomingWebhook { }); } } -Slack.accessory = [ - { - failure: { - color: '#cb2431', - result: 'Failed' - } +exports.Slack = Slack; +Slack.accessory = { + failure: { + color: '#cb2431', + result: 'Failed' }, - { - success: { - color: '#2cbe4e', - result: 'Succeeded' - } + success: { + color: '#2cbe4e', + result: 'Succeeded' }, - { - cancelled: { - color: '#ffc107', - result: 'Cancelled' - } + cancelled: { + color: '#ffc107', + result: 'Cancelled' } -]; -exports.Slack = Slack; +}; /***/ }), @@ -11072,139 +11051,360 @@ var InterceptorManager = __webpack_require__(283); var dispatchRequest = __webpack_require__(946); /** - * Create a new instance of Axios + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ +function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} + +/** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ +Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = utils.merge({ + url: arguments[0] + }, arguments[1]); + } + + config = utils.merge(defaults, {method: 'get'}, this.defaults, config); + config.method = config.method.toLowerCase(); + + // Hook up interceptors middleware + var chain = [dispatchRequest, undefined]; + var promise = Promise.resolve(config); + + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + chain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + chain.push(interceptor.fulfilled, interceptor.rejected); + }); + + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; +}; + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(utils.merge(config || {}, { + method: method, + url: url, + data: data + })); + }; +}); + +module.exports = Axios; + + +/***/ }), + +/***/ 784: +/***/ (function(module, __unusedexports, __webpack_require__) { + +/** + * Detect Electron renderer process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer') { + module.exports = __webpack_require__(794); +} else { + module.exports = __webpack_require__(81); +} + + +/***/ }), + +/***/ 794: +/***/ (function(module, exports, __webpack_require__) { + +/** + * This is the web browser implementation of `debug()`. + * + * Expose `debug()` as the module. + */ + +exports = module.exports = __webpack_require__(25); +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = 'undefined' != typeof chrome + && 'undefined' != typeof chrome.storage + ? chrome.storage.local + : localstorage(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', + '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', + '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', + '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', + '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', + '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', + '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', + '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', + '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', + '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', + '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + // is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || + // double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +exports.formatters.j = function(v) { + try { + return JSON.stringify(v); + } catch (err) { + return '[UnexpectedJSONParseError]: ' + err.message; + } +}; + + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + var useColors = this.useColors; + + args[0] = (useColors ? '%c' : '') + + this.namespace + + (useColors ? ' %c' : ' ') + + args[0] + + (useColors ? '%c ' : ' ') + + '+' + exports.humanize(this.diff); + + if (!useColors) return; + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit') + + // the final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function(match) { + if ('%%' === match) return; + index++; + if ('%c' === match) { + // we only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". * - * @param {Object} instanceConfig The default config for the instance + * @api public */ -function Axios(instanceConfig) { - this.defaults = instanceConfig; - this.interceptors = { - request: new InterceptorManager(), - response: new InterceptorManager() - }; + +function log() { + // this hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return 'object' === typeof console + && console.log + && Function.prototype.apply.call(console.log, console, arguments); } /** - * Dispatch a request + * Save `namespaces`. * - * @param {Object} config The config specific for this request (merged with this.defaults) + * @param {String} namespaces + * @api private */ -Axios.prototype.request = function request(config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof config === 'string') { - config = utils.merge({ - url: arguments[0] - }, arguments[1]); - } - config = utils.merge(defaults, {method: 'get'}, this.defaults, config); - config.method = config.method.toLowerCase(); - - // Hook up interceptors middleware - var chain = [dispatchRequest, undefined]; - var promise = Promise.resolve(config); +function save(namespaces) { + try { + if (null == namespaces) { + exports.storage.removeItem('debug'); + } else { + exports.storage.debug = namespaces; + } + } catch(e) {} +} - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - chain.unshift(interceptor.fulfilled, interceptor.rejected); - }); +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - chain.push(interceptor.fulfilled, interceptor.rejected); - }); +function load() { + var r; + try { + r = exports.storage.debug; + } catch(e) {} - while (chain.length) { - promise = promise.then(chain.shift(), chain.shift()); + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; } - return promise; -}; + return r; +} -// Provide aliases for supported request methods -utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, config) { - return this.request(utils.merge(config || {}, { - method: method, - url: url - })); - }; -}); +/** + * Enable namespaces listed in `localStorage.debug` initially. + */ -utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function(url, data, config) { - return this.request(utils.merge(config || {}, { - method: method, - url: url, - data: data - })); - }; -}); +exports.enable(load()); -module.exports = Axios; +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + return window.localStorage; + } catch (e) {} +} /***/ }), -/***/ 794: +/***/ 807: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = getUserAgentNode - -const osName = __webpack_require__(2) +module.exports = paginate; -function getUserAgentNode () { - try { - return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})` - } catch (error) { - if (/wmic os get Caption/.test(error.message)) { - return 'Windows ' - } +const iterator = __webpack_require__(8); - throw error +function paginate(octokit, route, options, mapFn) { + if (typeof options === "function") { + mapFn = options; + options = undefined; } + options = octokit.request.endpoint.merge(route, options); + return gather( + octokit, + [], + iterator(octokit, options)[Symbol.asyncIterator](), + mapFn + ); } +function gather(octokit, results, iterator, mapFn) { + return iterator.next().then(result => { + if (result.done) { + return results; + } -/***/ }), - -/***/ 807: -/***/ (function(module, __unusedexports, __webpack_require__) { + let earlyExit = false; + function done() { + earlyExit = true; + } -module.exports = paginate + results = results.concat( + mapFn ? mapFn(result.value, done) : result.value.data + ); -const iterator = __webpack_require__(8) + if (earlyExit) { + return results; + } -function paginate (octokit, route, options, mapFn) { - if (typeof options === 'function') { - mapFn = options - options = undefined - } - options = octokit.request.endpoint.merge(route, options) - return gather(octokit, [], iterator(octokit, options)[Symbol.asyncIterator](), mapFn) + return gather(octokit, results, iterator, mapFn); + }); } -function gather (octokit, results, iterator, mapFn) { - return iterator.next() - .then(result => { - if (result.done) { - return results - } - let earlyExit = false - function done () { - earlyExit = true - } +/***/ }), - results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data) +/***/ 812: +/***/ (function(module) { - if (earlyExit) { - return results - } +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ - return gather(octokit, results, iterator, mapFn) - }) +module.exports = function isBuffer (obj) { + return obj != null && obj.constructor != null && + typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj) } @@ -12440,12 +12640,14 @@ module.exports = get; /***/ 855: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = registerPlugin +module.exports = registerPlugin; -const factory = __webpack_require__(47) +const factory = __webpack_require__(47); -function registerPlugin (plugins, pluginFunction) { - return factory(plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction)) +function registerPlugin(plugins, pluginFunction) { + return factory( + plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction) + ); } @@ -12477,33 +12679,37 @@ module.exports = class GraphqlError extends Error { /***/ 863: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = authenticationBeforeRequest +module.exports = authenticationBeforeRequest; -const btoa = __webpack_require__(675) +const btoa = __webpack_require__(675); -const withAuthorizationPrefix = __webpack_require__(143) +const withAuthorizationPrefix = __webpack_require__(143); -function authenticationBeforeRequest (state, options) { - if (typeof state.auth === 'string') { - options.headers['authorization'] = withAuthorizationPrefix(state.auth) +function authenticationBeforeRequest(state, options) { + if (typeof state.auth === "string") { + options.headers.authorization = withAuthorizationPrefix(state.auth); // https://developer.github.com/v3/previews/#integrations - if (/^bearer /i.test(state.auth) && !/machine-man/.test(options.headers['accept'])) { - const acceptHeaders = options.headers['accept'].split(',') - .concat('application/vnd.github.machine-man-preview+json') - options.headers['accept'] = acceptHeaders.filter(Boolean).join(',') + if ( + /^bearer /i.test(state.auth) && + !/machine-man/.test(options.headers.accept) + ) { + const acceptHeaders = options.headers.accept + .split(",") + .concat("application/vnd.github.machine-man-preview+json"); + options.headers.accept = acceptHeaders.filter(Boolean).join(","); } - return + return; } if (state.auth.username) { - const hash = btoa(`${state.auth.username}:${state.auth.password}`) - options.headers['authorization'] = `Basic ${hash}` + const hash = btoa(`${state.auth.username}:${state.auth.password}`); + options.headers.authorization = `Basic ${hash}`; if (state.otp) { - options.headers['x-github-otp'] = state.otp + options.headers["x-github-otp"] = state.otp; } - return + return; } if (state.auth.clientId) { @@ -12518,25 +12724,25 @@ function authenticationBeforeRequest (state, options) { // We identify by checking the URL. It must merge both "/applications/:client_id/tokens/:access_token" // as well as "/applications/123/tokens/token456" if (/\/applications\/:?[\w_]+\/tokens\/:?[\w_]+($|\?)/.test(options.url)) { - const hash = btoa(`${state.auth.clientId}:${state.auth.clientSecret}`) - options.headers['authorization'] = `Basic ${hash}` - return + const hash = btoa(`${state.auth.clientId}:${state.auth.clientSecret}`); + options.headers.authorization = `Basic ${hash}`; + return; } - options.url += options.url.indexOf('?') === -1 ? '?' : '&' - options.url += `client_id=${state.auth.clientId}&client_secret=${state.auth.clientSecret}` - return + options.url += options.url.indexOf("?") === -1 ? "?" : "&"; + options.url += `client_id=${state.auth.clientId}&client_secret=${state.auth.clientSecret}`; + return; } return Promise.resolve() .then(() => { - return state.auth() + return state.auth(); }) - .then((authorization) => { - options.headers['authorization'] = withAuthorizationPrefix(authorization) - }) + .then(authorization => { + options.headers.authorization = withAuthorizationPrefix(authorization); + }); } @@ -12633,119 +12839,7 @@ module.exports = function (str) { /***/ 867: /***/ (function(module) { -"use strict"; - - -var isMergeableObject = function isMergeableObject(value) { - return isNonNullObject(value) - && !isSpecial(value) -}; - -function isNonNullObject(value) { - return !!value && typeof value === 'object' -} - -function isSpecial(value) { - var stringValue = Object.prototype.toString.call(value); - - return stringValue === '[object RegExp]' - || stringValue === '[object Date]' - || isReactElement(value) -} - -// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 -var canUseSymbol = typeof Symbol === 'function' && Symbol.for; -var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; - -function isReactElement(value) { - return value.$$typeof === REACT_ELEMENT_TYPE -} - -function emptyTarget(val) { - return Array.isArray(val) ? [] : {} -} - -function cloneUnlessOtherwiseSpecified(value, options) { - return (options.clone !== false && options.isMergeableObject(value)) - ? deepmerge(emptyTarget(value), value, options) - : value -} - -function defaultArrayMerge(target, source, options) { - return target.concat(source).map(function(element) { - return cloneUnlessOtherwiseSpecified(element, options) - }) -} - -function getMergeFunction(key, options) { - if (!options.customMerge) { - return deepmerge - } - var customMerge = options.customMerge(key); - return typeof customMerge === 'function' ? customMerge : deepmerge -} - -function getEnumerableOwnPropertySymbols(target) { - return Object.getOwnPropertySymbols - ? Object.getOwnPropertySymbols(target).filter(function(symbol) { - return target.propertyIsEnumerable(symbol) - }) - : [] -} - -function getKeys(target) { - return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)) -} - -function mergeObject(target, source, options) { - var destination = {}; - if (options.isMergeableObject(target)) { - getKeys(target).forEach(function(key) { - destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); - }); - } - getKeys(source).forEach(function(key) { - if (!options.isMergeableObject(source[key]) || !target[key]) { - destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); - } else { - destination[key] = getMergeFunction(key, options)(target[key], source[key], options); - } - }); - return destination -} - -function deepmerge(target, source, options) { - options = options || {}; - options.arrayMerge = options.arrayMerge || defaultArrayMerge; - options.isMergeableObject = options.isMergeableObject || isMergeableObject; - - var sourceIsArray = Array.isArray(source); - var targetIsArray = Array.isArray(target); - var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; - - if (!sourceAndTargetTypesMatch) { - return cloneUnlessOtherwiseSpecified(source, options) - } else if (sourceIsArray) { - return options.arrayMerge(target, source, options) - } else { - return mergeObject(target, source, options) - } -} - -deepmerge.all = function deepmergeAll(array, options) { - if (!Array.isArray(array)) { - throw new Error('first argument should be an array') - } - - return array.reduce(function(prev, next) { - return deepmerge(prev, next, options) - }, {}) -}; - -var deepmerge_1 = deepmerge; - -module.exports = deepmerge_1; - +module.exports = require("tty"); /***/ }), @@ -13838,92 +13932,103 @@ module.exports = function combineURLs(baseURL, relativeURL) { /***/ 899: /***/ (function(module, __unusedexports, __webpack_require__) { -module.exports = registerEndpoints +module.exports = registerEndpoints; -const { Deprecation } = __webpack_require__(692) +const { Deprecation } = __webpack_require__(692); -function registerEndpoints (octokit, routes) { +function registerEndpoints(octokit, routes) { Object.keys(routes).forEach(namespaceName => { if (!octokit[namespaceName]) { - octokit[namespaceName] = {} + octokit[namespaceName] = {}; } Object.keys(routes[namespaceName]).forEach(apiName => { - const apiOptions = routes[namespaceName][apiName] + const apiOptions = routes[namespaceName][apiName]; - const endpointDefaults = ['method', 'url', 'headers'].reduce((map, key) => { - if (typeof apiOptions[key] !== 'undefined') { - map[key] = apiOptions[key] - } + const endpointDefaults = ["method", "url", "headers"].reduce( + (map, key) => { + if (typeof apiOptions[key] !== "undefined") { + map[key] = apiOptions[key]; + } - return map - }, {}) + return map; + }, + {} + ); endpointDefaults.request = { validate: apiOptions.params - } + }; - let request = octokit.request.defaults(endpointDefaults) + let request = octokit.request.defaults(endpointDefaults); // patch request & endpoint methods to support deprecated parameters. // Not the most elegant solution, but we don’t want to move deprecation // logic into octokit/endpoint.js as it’s out of scope - const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated) + const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find( + key => apiOptions.params[key].deprecated + ); if (hasDeprecatedParam) { - const patch = patchForDeprecation.bind(null, octokit, apiOptions) + const patch = patchForDeprecation.bind(null, octokit, apiOptions); request = patch( octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()` - ) + ); request.endpoint = patch( request.endpoint, `.${namespaceName}.${apiName}.endpoint()` - ) + ); request.endpoint.merge = patch( request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()` - ) + ); } if (apiOptions.deprecated) { - octokit[namespaceName][apiName] = function deprecatedEndpointMethod () { - octokit.log.warn(new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)) - octokit[namespaceName][apiName] = request - return request.apply(null, arguments) - } + octokit[namespaceName][apiName] = function deprecatedEndpointMethod() { + octokit.log.warn( + new Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`) + ); + octokit[namespaceName][apiName] = request; + return request.apply(null, arguments); + }; - return + return; } - octokit[namespaceName][apiName] = request - }) - }) + octokit[namespaceName][apiName] = request; + }); + }); } -function patchForDeprecation (octokit, apiOptions, method, methodName) { - const patchedMethod = (options) => { - options = Object.assign({}, options) +function patchForDeprecation(octokit, apiOptions, method, methodName) { + const patchedMethod = options => { + options = Object.assign({}, options); Object.keys(options).forEach(key => { if (apiOptions.params[key] && apiOptions.params[key].deprecated) { - const aliasKey = apiOptions.params[key].alias + const aliasKey = apiOptions.params[key].alias; - octokit.log.warn(new Deprecation(`[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead`)) + octokit.log.warn( + new Deprecation( + `[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead` + ) + ); if (!(aliasKey in options)) { - options[aliasKey] = options[key] + options[aliasKey] = options[key]; } - delete options[key] + delete options[key]; } - }) + }); - return method(options) - } + return method(options); + }; Object.keys(method).forEach(key => { - patchedMethod[key] = method[key] - }) + patchedMethod[key] = method[key]; + }); - return patchedMethod + return patchedMethod; } @@ -13953,7 +14058,7 @@ function hasNextPage (link) { var utils = __webpack_require__(35); var transformData = __webpack_require__(589); -var isCancel = __webpack_require__(492); +var isCancel = __webpack_require__(732); var defaults = __webpack_require__(774); var isAbsoluteURL = __webpack_require__(590); var combineURLs = __webpack_require__(887); @@ -14061,26 +14166,26 @@ module.exports = function(fn) { /***/ 954: /***/ (function(module) { -module.exports = validateAuth +module.exports = validateAuth; -function validateAuth (auth) { - if (typeof auth === 'string') { - return +function validateAuth(auth) { + if (typeof auth === "string") { + return; } - if (typeof auth === 'function') { - return + if (typeof auth === "function") { + return; } if (auth.username && auth.password) { - return + return; } if (auth.clientId && auth.clientSecret) { - return + return; } - throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`) + throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`); } @@ -14561,13 +14666,6 @@ function onceStrict (fn) { } -/***/ }), - -/***/ 993: -/***/ (function(module) { - -module.exports = require("tty"); - /***/ }) /******/ }); \ No newline at end of file diff --git a/src/slack.ts b/src/slack.ts index 34ab2ef2..f154bc42 100644 --- a/src/slack.ts +++ b/src/slack.ts @@ -7,26 +7,20 @@ import { } from '@slack/webhook'; export class Slack extends IncomingWebhook { - static readonly accessory: object[] = [ - { - failure: { - color: '#cb2431', - result: 'Failed' - } + static readonly accessory: object = { + failure: { + color: '#cb2431', + result: 'Failed' }, - { - success: { - color: '#2cbe4e', - result: 'Succeeded' - } + success: { + color: '#2cbe4e', + result: 'Succeeded' }, - { - cancelled: { - color: '#ffc107', - result: 'Cancelled' - } + cancelled: { + color: '#ffc107', + result: 'Cancelled' } - ]; + }; constructor( url: string, From 024d5a0c0ce35646b720580f6504e76f1f5f0495 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 06:07:17 +0900 Subject: [PATCH 18/21] [slack] Add Accessory interface --- dist/index.js | 2 +- src/slack.ts | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/dist/index.js b/dist/index.js index 3bcb1b2a..cfb63ed5 100644 --- a/dist/index.js +++ b/dist/index.js @@ -10983,8 +10983,8 @@ class Slack extends webhook_1.IncomingWebhook { if (status === 'always') { throw new Error('"always" cannot be specified with "type" parameter'); } - const color = Slack.accessory[status]['color']; const result = Slack.accessory[status]['result']; + const color = Slack.accessory[status]['color']; const mentionText = this.isMention(mentionCondition, status) ? mention : ''; let text = `${jobName} ${result}`; if (mentionText !== '') { diff --git a/src/slack.ts b/src/slack.ts index f154bc42..64fd8aa5 100644 --- a/src/slack.ts +++ b/src/slack.ts @@ -6,8 +6,19 @@ import { IncomingWebhookResult } from '@slack/webhook'; +interface AccessoryDesign { + color: string; + result: string; +} + +interface Accessory { + failure: AccessoryDesign; + success: AccessoryDesign; + cancelled: AccessoryDesign; +} + export class Slack extends IncomingWebhook { - static readonly accessory: object = { + static readonly accessory: Accessory = { failure: { color: '#cb2431', result: 'Failed' @@ -94,8 +105,8 @@ export class Slack extends IncomingWebhook { throw new Error('"always" cannot be specified with "type" parameter') } - const color: string = Slack.accessory[status]['color']; const result: string = Slack.accessory[status]['result']; + const color: string = Slack.accessory[status]['color']; const mentionText: string = this.isMention(mentionCondition, status) ? mention : ''; let text: string = `${jobName} ${result}`; From 0198c901df705813f8f31fe1946d25fb641ffe3f Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 06:22:24 +0900 Subject: [PATCH 19/21] [slack] Move main function to slack.ts --- dist/index.js | 83 ++++++++++++++++++++------------------------------- src/index.ts | 35 +--------------------- src/slack.ts | 38 +++++++++++++++++++++-- 3 files changed, 69 insertions(+), 87 deletions(-) diff --git a/dist/index.js b/dist/index.js index cfb63ed5..d635fea4 100644 --- a/dist/index.js +++ b/dist/index.js @@ -5323,56 +5323,9 @@ isStream.transform = function (stream) { "use strict"; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; Object.defineProperty(exports, "__esModule", { value: true }); -const core = __importStar(__webpack_require__(470)); const slack_1 = __webpack_require__(777); -const utils_1 = __webpack_require__(163); -function run() { - return __awaiter(this, void 0, void 0, function* () { - try { - const status = utils_1.isAllowedStatus(core.getInput('type', { required: true })); - const jobName = core.getInput('job_name', { required: true }); - const mention = core.getInput('mention'); - const mentionCondition = core.getInput('mention_if'); - const username = core.getInput('username'); - const iconEmoji = core.getInput('icon_emoji'); - const channel = core.getInput('channel'); - const url = core.getInput('url') || process.env.SLACK_WEBHOOK || ''; - if (url === '') { - throw new Error(` - ERROR: Missing Slack Incoming Webhooks URL. - Please configure "SLACK_WEBHOOK" as environment variable or - specify the key called "url" in "with" section. - `); - } - const slack = new slack_1.Slack(url, username, iconEmoji, channel); - const payload = slack.generatePayload(jobName, mention, mentionCondition, status); - const result = yield slack.notify(payload); - core.debug(`Response from Slack: ${JSON.stringify(result)}`); - } - catch (err) { - console.log(err); - core.setFailed(err.message); - } - }); -} -run(); +slack_1.run(); /***/ }), @@ -10926,6 +10879,7 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); const github = __importStar(__webpack_require__(469)); const core = __importStar(__webpack_require__(470)); +const utils_1 = __webpack_require__(163); const webhook_1 = __webpack_require__(736); class Slack extends webhook_1.IncomingWebhook { constructor(url, username, iconEmoji, channel) { @@ -10983,8 +10937,8 @@ class Slack extends webhook_1.IncomingWebhook { if (status === 'always') { throw new Error('"always" cannot be specified with "type" parameter'); } - const result = Slack.accessory[status]['result']; const color = Slack.accessory[status]['color']; + const result = Slack.accessory[status]['result']; const mentionText = this.isMention(mentionCondition, status) ? mention : ''; let text = `${jobName} ${result}`; if (mentionText !== '') { @@ -11020,7 +10974,6 @@ class Slack extends webhook_1.IncomingWebhook { }); } } -exports.Slack = Slack; Slack.accessory = { failure: { color: '#cb2431', @@ -11035,6 +10988,36 @@ Slack.accessory = { result: 'Cancelled' } }; +function run() { + return __awaiter(this, void 0, void 0, function* () { + try { + const status = utils_1.isAllowedStatus(core.getInput('type', { required: true })); + const jobName = core.getInput('job_name', { required: true }); + const mention = core.getInput('mention'); + const mentionCondition = core.getInput('mention_if'); + const username = core.getInput('username'); + const iconEmoji = core.getInput('icon_emoji'); + const channel = core.getInput('channel'); + const url = core.getInput('url') || process.env.SLACK_WEBHOOK || ''; + if (url === '') { + throw new Error(` + ERROR: Missing Slack Incoming Webhooks URL. + Please configure "SLACK_WEBHOOK" as environment variable or + specify the key called "url" in "with" section. + `); + } + const slack = new Slack(url, username, iconEmoji, channel); + const payload = slack.generatePayload(jobName, mention, mentionCondition, status); + const result = yield slack.notify(payload); + core.debug(`Response from Slack: ${JSON.stringify(result)}`); + } + catch (err) { + console.log(err); + core.setFailed(err.message); + } + }); +} +exports.run = run; /***/ }), diff --git a/src/index.ts b/src/index.ts index c6e81550..d8118c9f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,36 +1,3 @@ -import * as core from '@actions/core'; -import { Slack } from './slack'; -import { isAllowedStatus } from './utils'; - -async function run() { - try { - const status: string = isAllowedStatus(core.getInput('type', { required: true })); - const jobName: string = core.getInput('job_name', { required: true }); - const mention: string = core.getInput('mention'); - const mentionCondition: string = core.getInput('mention_if'); - const username: string = core.getInput('username'); - const iconEmoji: string = core.getInput('icon_emoji'); - const channel: string = core.getInput('channel'); - const url: string = core.getInput('url') || process.env.SLACK_WEBHOOK || ''; - - if (url === '') { - throw new Error(` - ERROR: Missing Slack Incoming Webhooks URL. - Please configure "SLACK_WEBHOOK" as environment variable or - specify the key called "url" in "with" section. - `); - } - - const slack = new Slack(url, username, iconEmoji, channel); - const payload = slack.generatePayload(jobName, mention, mentionCondition, status); - const result = await slack.notify(payload); - - core.debug(`Response from Slack: ${JSON.stringify(result)}`); - - } catch (err) { - console.log(err) - core.setFailed(err.message); - } -} +import { run } from './slack'; run(); diff --git a/src/slack.ts b/src/slack.ts index 64fd8aa5..d27b5b01 100644 --- a/src/slack.ts +++ b/src/slack.ts @@ -1,5 +1,6 @@ import * as github from '@actions/github'; import * as core from '@actions/core'; +import { isAllowedStatus } from './utils'; import { SectionBlock, MessageAttachment } from '@slack/types'; import { IncomingWebhook, IncomingWebhookSendArguments, @@ -17,7 +18,7 @@ interface Accessory { cancelled: AccessoryDesign; } -export class Slack extends IncomingWebhook { +class Slack extends IncomingWebhook { static readonly accessory: Accessory = { failure: { color: '#cb2431', @@ -105,8 +106,8 @@ export class Slack extends IncomingWebhook { throw new Error('"always" cannot be specified with "type" parameter') } - const result: string = Slack.accessory[status]['result']; const color: string = Slack.accessory[status]['color']; + const result: string = Slack.accessory[status]['result']; const mentionText: string = this.isMention(mentionCondition, status) ? mention : ''; let text: string = `${jobName} ${result}`; @@ -144,4 +145,35 @@ export class Slack extends IncomingWebhook { throw err; } } -} \ No newline at end of file +} + +export async function run() { + try { + const status: string = isAllowedStatus(core.getInput('type', { required: true })); + const jobName: string = core.getInput('job_name', { required: true }); + const mention: string = core.getInput('mention'); + const mentionCondition: string = core.getInput('mention_if'); + const username: string = core.getInput('username'); + const iconEmoji: string = core.getInput('icon_emoji'); + const channel: string = core.getInput('channel'); + const url: string = core.getInput('url') || process.env.SLACK_WEBHOOK || ''; + + if (url === '') { + throw new Error(` + ERROR: Missing Slack Incoming Webhooks URL. + Please configure "SLACK_WEBHOOK" as environment variable or + specify the key called "url" in "with" section. + `); + } + + const slack = new Slack(url, username, iconEmoji, channel); + const payload = slack.generatePayload(jobName, mention, mentionCondition, status); + const result = await slack.notify(payload); + + core.debug(`Response from Slack: ${JSON.stringify(result)}`); + + } catch (err) { + console.log(err) + core.setFailed(err.message); + } +} From 6fdcdb4ba3e4d65c5958f21278f535a3a2340e11 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 06:26:57 +0900 Subject: [PATCH 20/21] [utils] isAllowedStatus returns lowercase job status --- dist/index.js | 2 +- src/utils.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dist/index.js b/dist/index.js index d635fea4..3e28ea3a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -2511,7 +2511,7 @@ function isAllowedStatus(status) { if (!jobStatusList.includes(lowercaseStatus)) { throw new Error('Invalid value input'); } - return status; + return lowercaseStatus; } exports.isAllowedStatus = isAllowedStatus; diff --git a/src/utils.ts b/src/utils.ts index e7ef53ff..a3766620 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -10,5 +10,5 @@ export function isAllowedStatus(status: string): string { if (!jobStatusList.includes(lowercaseStatus)) { throw new Error('Invalid value input'); } - return status; + return lowercaseStatus; } \ No newline at end of file From 473ba82019f494edd1a19bc5c9e25940f08f41a8 Mon Sep 17 00:00:00 2001 From: homoluctus Date: Wed, 13 Nov 2019 06:31:33 +0900 Subject: [PATCH 21/21] [readme] Change image to new one --- README.md | 4 ---- images/slack.png | Bin 198770 -> 167883 bytes 2 files changed, 4 deletions(-) diff --git a/README.md b/README.md index 05cf45d9..26763fe6 100644 --- a/README.md +++ b/README.md @@ -53,10 +53,6 @@ Please refer `action.yml` for more details. Notification Preview -## Preview - -Notification Preview - # Contribute 1. Fork this repository 2. Pull your repository in local machine diff --git a/images/slack.png b/images/slack.png index a9f38ba7391a42ed8ae1d12404fbbd461f8bd1c0..7a6ac1ff1270e77881de47d3713e647b6f0e0fd7 100644 GIT binary patch literal 167883 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

3*#3VYK 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�R&1=l; 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

8d&6mZjqs}w*CK+A-Y!fhog;yP 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 J#Ph-P{{vOCf|URO literal 198770 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