├── .gitignore ├── .npmrc ├── .vscode └── settings.json ├── .prettierrc ├── CHANGELOG.md ├── action.yml ├── tsconfig.json ├── index.ts ├── LICENSE ├── package.json ├── README.md ├── CODE_OF_CONDUCT.md ├── yarn.lock └── dist └── index.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | package-lock=false 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "search.exclude": { 4 | "dist/": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "always", 3 | "singleQuote": true, 4 | "trailingComma": "all", 5 | "bracketSpacing": false 6 | } 7 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | --- 6 | 7 | ## 0.0.5 - 2021-05-10 8 | 9 | - Fix broken imports in v0.0.4 10 | 11 | ## 0.0.4 - 2021-05-07 12 | 13 | - Update dependencies 14 | 15 | ## 0.0.3 - 2021-05-06 16 | 17 | - Add `repo-token` to actions.yml 18 | 19 | ## 0.0.1 - 2019-09-09 20 | 21 | - Initial release 22 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: 'Automatic pull request review' 2 | description: '👍 Github action to automate pull requests' 3 | author: 'Andrew Musgrave ' 4 | runs: 5 | using: 'node12' 6 | main: 'dist/index.js' 7 | branding: 8 | icon: 'thumbs-up' 9 | color: 'gray-dark' 10 | inputs: 11 | event: 12 | description: 'The event to perform on the pull request review.' 13 | default: 'APPROVE' 14 | body: 15 | description: 'The contents of the review body comment. Required when event is COMMENT or REQUEST_CHANGES.' 16 | repo-token: 17 | description: 'The GH_TOKEN secret can be passed in using {{ secrets.GH_TOKEN }}' 18 | required: true 19 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */, 4 | "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, 5 | "outDir": "./dist" /* Redirect output structure to the directory. */, 6 | "rootDir": "." /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */, 7 | "strict": true /* Enable all strict type-checking options. */, 8 | "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, 9 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 10 | "moduleResolution": "node" 11 | }, 12 | "exclude": ["node_modules"] 13 | } 14 | -------------------------------------------------------------------------------- /index.ts: -------------------------------------------------------------------------------- 1 | import * as core from '@actions/core'; 2 | import * as github from '@actions/github'; 3 | 4 | const token = core.getInput('repo-token'); 5 | const requestEvent = core.getInput('event'); 6 | const body = core.getInput('body'); 7 | 8 | const octokit = github.getOctokit(token) 9 | 10 | if ( 11 | (requestEvent === 'COMMENT' || requestEvent === 'REQUEST_CHANGES') && 12 | !body 13 | ) { 14 | core.setFailed('Event type COMMENT & REQUEST_CHANGES require a body.'); 15 | } 16 | 17 | const pullRequest = github.context.payload['pull_request']; 18 | 19 | if (!pullRequest) { 20 | core.setFailed('This action is meant to be ran on pull requests'); 21 | } 22 | 23 | const query = ` 24 | mutation { 25 | addPullRequestReview(input: { 26 | pullRequestId: "${(pullRequest)['node_id']}", 27 | event: ${requestEvent}, 28 | body: "${body}" 29 | }) {clientMutationId} 30 | }`; 31 | 32 | octokit.graphql(query).catch((err) => { 33 | core.error(err); 34 | core.setFailed(err.message); 35 | }); 36 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Andrew Musgrave 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "automatic-pull-request-review", 3 | "version": "0.0.5", 4 | "description": "👍 Github action to automate pull requests", 5 | "private": true, 6 | "main": "dist/index.js", 7 | "scripts": { 8 | "watch": "ncc build index.ts --watch --minify", 9 | "build": "ncc build index.ts --minify" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/andrewmusgrave/automatic-pull-request-review.git" 14 | }, 15 | "keywords": [ 16 | "github-actions", 17 | "pulls", 18 | "request" 19 | ], 20 | "author": "Andrew Musgrave ", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/andrewmusgrave/automatic-pull-request-review/issues" 24 | }, 25 | "homepage": "https://github.com/andrewmusgrave/automatic-pull-request-review#readme", 26 | "dependencies": { 27 | "@actions/core": "^1.2.7", 28 | "@actions/github": "^4.0.0" 29 | }, 30 | "devDependencies": { 31 | "@types/node": "^12.7.4", 32 | "@vercel/ncc": "^0.28.5", 33 | "husky": "^3.0.5", 34 | "typescript": "^4.2.4" 35 | }, 36 | "files": [ 37 | "dist/index.js" 38 | ], 39 | "husky": { 40 | "hooks": { 41 | "pre-commit": "npm run build && git add ./dist/index.js" 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Automatic Pull Request Review 2 | 3 | > 👍 Github action to automate pull requests 4 | 5 | This action allows you to use any of the `pull_request` [webhook event](https://help.github.com/en/articles/events-that-trigger-workflows#webhook-events) to automate pull request reviews. For example when a `pull request` is `opened` by `dependabot`, automatically approve it. 6 | 7 | ## Usage 8 | 9 | 1. Create a new workflow by adding `.github/workflows/pull-request-automation.yml` to your project. 10 | 2. In the `pull-request-automation.yml` you have to decide which events you'll act on and the actors pull requests to automate. 11 | 12 | _For example:_ 13 | 14 | To approve all pull requests pull requests from `dependabot`, you would add the following to the `yml` file: 15 | 16 | ```yml 17 | name: Automatic pull request review 18 | on: [pull_request] 19 | jobs: 20 | automate-pullrequest-review: 21 | runs-on: ubuntu-latest 22 | steps: 23 | - name: Approve pull request 24 | if: github.actor == 'dependabot[bot]' 25 | uses: andrewmusgrave/automatic-pull-request-review@0.0.5 26 | with: 27 | repo-token: ${{ secrets.GITHUB_TOKEN }} 28 | event: APPROVE 29 | body: 'Thank you dependabot 🎊' 30 | ``` 31 | 32 | ## Workflow options 33 | 34 | These are the options recommended to be changed. For more detailed explanation of the workflow file, check out the [GitHub documentation](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file). 35 | 36 | | Setting | Description | Values | 37 | | ------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------ | 38 | | `event` | The event to perform on the pull request review. | APPROVE \| COMMENT \| DISMISS \| REQUEST_CHANGES | 39 | | `body` | The contents of the review body comment. Required when event is COMMENT or REQUEST_CHANGES | String | 40 | | `repo-token` | The personal access token | `${{ secrets.GITHUB_TOKEN }}` | 41 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at alex@alexpage.com.au. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@actions/core@^1.2.7": 6 | version "1.2.7" 7 | resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.2.7.tgz#594f8c45b213f0146e4be7eda8ae5cf4e198e5ab" 8 | integrity sha512-kzLFD5BgEvq6ubcxdgPbRKGD2Qrgya/5j+wh4LZzqT915I0V3rED+MvjH6NXghbvk1MXknpNNQ3uKjXSEN00Ig== 9 | 10 | "@actions/github@^4.0.0": 11 | version "4.0.0" 12 | resolved "https://registry.yarnpkg.com/@actions/github/-/github-4.0.0.tgz#d520483151a2bf5d2dc9cd0f20f9ac3a2e458816" 13 | integrity sha512-Ej/Y2E+VV6sR9X7pWL5F3VgEWrABaT292DRqRU6R4hnQjPtC/zD3nagxVdXWiRQvYDh8kHXo7IDmG42eJ/dOMA== 14 | dependencies: 15 | "@actions/http-client" "^1.0.8" 16 | "@octokit/core" "^3.0.0" 17 | "@octokit/plugin-paginate-rest" "^2.2.3" 18 | "@octokit/plugin-rest-endpoint-methods" "^4.0.0" 19 | 20 | "@actions/http-client@^1.0.8": 21 | version "1.0.11" 22 | resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-1.0.11.tgz#c58b12e9aa8b159ee39e7dd6cbd0e91d905633c0" 23 | integrity sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg== 24 | dependencies: 25 | tunnel "0.0.6" 26 | 27 | "@babel/code-frame@^7.0.0": 28 | version "7.5.5" 29 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" 30 | dependencies: 31 | "@babel/highlight" "^7.0.0" 32 | 33 | "@babel/highlight@^7.0.0": 34 | version "7.5.0" 35 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" 36 | dependencies: 37 | chalk "^2.0.0" 38 | esutils "^2.0.2" 39 | js-tokens "^4.0.0" 40 | 41 | "@octokit/auth-token@^2.4.4": 42 | version "2.4.5" 43 | resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" 44 | integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== 45 | dependencies: 46 | "@octokit/types" "^6.0.3" 47 | 48 | "@octokit/core@^3.0.0": 49 | version "3.4.0" 50 | resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.4.0.tgz#b48aa27d755b339fe7550548b340dcc2b513b742" 51 | integrity sha512-6/vlKPP8NF17cgYXqucdshWqmMZGXkuvtcrWCgU5NOI0Pl2GjlmZyWgBMrU8zJ3v2MJlM6++CiB45VKYmhiWWg== 52 | dependencies: 53 | "@octokit/auth-token" "^2.4.4" 54 | "@octokit/graphql" "^4.5.8" 55 | "@octokit/request" "^5.4.12" 56 | "@octokit/request-error" "^2.0.5" 57 | "@octokit/types" "^6.0.3" 58 | before-after-hook "^2.2.0" 59 | universal-user-agent "^6.0.0" 60 | 61 | "@octokit/endpoint@^6.0.1": 62 | version "6.0.11" 63 | resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.11.tgz#082adc2aebca6dcefa1fb383f5efb3ed081949d1" 64 | integrity sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ== 65 | dependencies: 66 | "@octokit/types" "^6.0.3" 67 | is-plain-object "^5.0.0" 68 | universal-user-agent "^6.0.0" 69 | 70 | "@octokit/graphql@^4.5.8": 71 | version "4.6.1" 72 | resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.6.1.tgz#f975486a46c94b7dbe58a0ca751935edc7e32cc9" 73 | integrity sha512-2lYlvf4YTDgZCTXTW4+OX+9WTLFtEUc6hGm4qM1nlZjzxj+arizM4aHWzBVBCxY9glh7GIs0WEuiSgbVzv8cmA== 74 | dependencies: 75 | "@octokit/request" "^5.3.0" 76 | "@octokit/types" "^6.0.3" 77 | universal-user-agent "^6.0.0" 78 | 79 | "@octokit/openapi-types@^7.0.0": 80 | version "7.0.0" 81 | resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-7.0.0.tgz#0f6992db9854af15eca77d71ab0ec7fad2f20411" 82 | integrity sha512-gV/8DJhAL/04zjTI95a7FhQwS6jlEE0W/7xeYAzuArD0KVAVWDLP2f3vi98hs3HLTczxXdRK/mF0tRoQPpolEw== 83 | 84 | "@octokit/plugin-paginate-rest@^2.2.3": 85 | version "2.13.3" 86 | resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.13.3.tgz#f0f1792230805108762d87906fb02d573b9e070a" 87 | integrity sha512-46lptzM9lTeSmIBt/sVP/FLSTPGx6DCzAdSX3PfeJ3mTf4h9sGC26WpaQzMEq/Z44cOcmx8VsOhO+uEgE3cjYg== 88 | dependencies: 89 | "@octokit/types" "^6.11.0" 90 | 91 | "@octokit/plugin-rest-endpoint-methods@^4.0.0": 92 | version "4.15.1" 93 | resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.15.1.tgz#91a064bee99d0ffcef74a04357e1cf15c27d1cd0" 94 | integrity sha512-4gQg4ySoW7ktKB0Mf38fHzcSffVZd6mT5deJQtpqkuPuAqzlED5AJTeW8Uk7dPRn7KaOlWcXB0MedTFJU1j4qA== 95 | dependencies: 96 | "@octokit/types" "^6.13.0" 97 | deprecation "^2.3.1" 98 | 99 | "@octokit/request-error@^2.0.0", "@octokit/request-error@^2.0.5": 100 | version "2.0.5" 101 | resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.5.tgz#72cc91edc870281ad583a42619256b380c600143" 102 | integrity sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg== 103 | dependencies: 104 | "@octokit/types" "^6.0.3" 105 | deprecation "^2.0.0" 106 | once "^1.4.0" 107 | 108 | "@octokit/request@^5.3.0", "@octokit/request@^5.4.12": 109 | version "5.4.15" 110 | resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.15.tgz#829da413dc7dd3aa5e2cdbb1c7d0ebe1f146a128" 111 | integrity sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag== 112 | dependencies: 113 | "@octokit/endpoint" "^6.0.1" 114 | "@octokit/request-error" "^2.0.0" 115 | "@octokit/types" "^6.7.1" 116 | is-plain-object "^5.0.0" 117 | node-fetch "^2.6.1" 118 | universal-user-agent "^6.0.0" 119 | 120 | "@octokit/types@^6.0.3", "@octokit/types@^6.11.0", "@octokit/types@^6.13.0", "@octokit/types@^6.7.1": 121 | version "6.14.2" 122 | resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.14.2.tgz#64c9457f38fb8522bdbba3c8cc814590a2d61bf5" 123 | integrity sha512-wiQtW9ZSy4OvgQ09iQOdyXYNN60GqjCL/UdMsepDr1Gr0QzpW6irIKbH3REuAHXAhxkEk9/F2a3Gcs1P6kW5jA== 124 | dependencies: 125 | "@octokit/openapi-types" "^7.0.0" 126 | 127 | "@types/node@^12.7.4": 128 | version "12.7.4" 129 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.4.tgz#64db61e0359eb5a8d99b55e05c729f130a678b04" 130 | 131 | "@types/normalize-package-data@^2.4.0": 132 | version "2.4.0" 133 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" 134 | 135 | "@vercel/ncc@^0.28.5": 136 | version "0.28.5" 137 | resolved "https://registry.yarnpkg.com/@vercel/ncc/-/ncc-0.28.5.tgz#6d735379f81b70b708a9c3d2196507b2a841824f" 138 | integrity sha512-ZSwD4EDCon2EsnPZ2/Qcigx4N2DiuBLV/rDnF04giEPFuDeBeUDdnSTyYYfX8KNic/prrJuS1vUEmAOHmj+fRg== 139 | 140 | ansi-styles@^3.2.1: 141 | version "3.2.1" 142 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 143 | dependencies: 144 | color-convert "^1.9.0" 145 | 146 | argparse@^1.0.7: 147 | version "1.0.10" 148 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 149 | dependencies: 150 | sprintf-js "~1.0.2" 151 | 152 | before-after-hook@^2.2.0: 153 | version "2.2.1" 154 | resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c" 155 | integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw== 156 | 157 | caller-callsite@^2.0.0: 158 | version "2.0.0" 159 | resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" 160 | dependencies: 161 | callsites "^2.0.0" 162 | 163 | caller-path@^2.0.0: 164 | version "2.0.0" 165 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" 166 | dependencies: 167 | caller-callsite "^2.0.0" 168 | 169 | callsites@^2.0.0: 170 | version "2.0.0" 171 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" 172 | 173 | chalk@^2.0.0, chalk@^2.4.2: 174 | version "2.4.2" 175 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 176 | dependencies: 177 | ansi-styles "^3.2.1" 178 | escape-string-regexp "^1.0.5" 179 | supports-color "^5.3.0" 180 | 181 | ci-info@^2.0.0: 182 | version "2.0.0" 183 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 184 | 185 | color-convert@^1.9.0: 186 | version "1.9.3" 187 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 188 | dependencies: 189 | color-name "1.1.3" 190 | 191 | color-name@1.1.3: 192 | version "1.1.3" 193 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 194 | 195 | cosmiconfig@^5.2.1: 196 | version "5.2.1" 197 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" 198 | dependencies: 199 | import-fresh "^2.0.0" 200 | is-directory "^0.3.1" 201 | js-yaml "^3.13.1" 202 | parse-json "^4.0.0" 203 | 204 | cross-spawn@^6.0.0: 205 | version "6.0.5" 206 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 207 | dependencies: 208 | nice-try "^1.0.4" 209 | path-key "^2.0.1" 210 | semver "^5.5.0" 211 | shebang-command "^1.2.0" 212 | which "^1.2.9" 213 | 214 | deprecation@^2.0.0, deprecation@^2.3.1: 215 | version "2.3.1" 216 | resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" 217 | integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== 218 | 219 | end-of-stream@^1.1.0: 220 | version "1.4.1" 221 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 222 | dependencies: 223 | once "^1.4.0" 224 | 225 | error-ex@^1.3.1: 226 | version "1.3.2" 227 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 228 | dependencies: 229 | is-arrayish "^0.2.1" 230 | 231 | escape-string-regexp@^1.0.5: 232 | version "1.0.5" 233 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 234 | 235 | esprima@^4.0.0: 236 | version "4.0.1" 237 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 238 | 239 | esutils@^2.0.2: 240 | version "2.0.3" 241 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 242 | 243 | execa@^1.0.0: 244 | version "1.0.0" 245 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 246 | dependencies: 247 | cross-spawn "^6.0.0" 248 | get-stream "^4.0.0" 249 | is-stream "^1.1.0" 250 | npm-run-path "^2.0.0" 251 | p-finally "^1.0.0" 252 | signal-exit "^3.0.0" 253 | strip-eof "^1.0.0" 254 | 255 | find-up@^4.0.0: 256 | version "4.1.0" 257 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 258 | dependencies: 259 | locate-path "^5.0.0" 260 | path-exists "^4.0.0" 261 | 262 | get-stdin@^7.0.0: 263 | version "7.0.0" 264 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" 265 | 266 | get-stream@^4.0.0: 267 | version "4.1.0" 268 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 269 | dependencies: 270 | pump "^3.0.0" 271 | 272 | has-flag@^3.0.0: 273 | version "3.0.0" 274 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 275 | 276 | hosted-git-info@^2.1.4: 277 | version "2.8.4" 278 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" 279 | 280 | husky@^3.0.5: 281 | version "3.0.5" 282 | resolved "https://registry.yarnpkg.com/husky/-/husky-3.0.5.tgz#d7db27c346645a8dc52df02aa534a377ad7925e0" 283 | dependencies: 284 | chalk "^2.4.2" 285 | cosmiconfig "^5.2.1" 286 | execa "^1.0.0" 287 | get-stdin "^7.0.0" 288 | is-ci "^2.0.0" 289 | opencollective-postinstall "^2.0.2" 290 | pkg-dir "^4.2.0" 291 | please-upgrade-node "^3.2.0" 292 | read-pkg "^5.1.1" 293 | run-node "^1.0.0" 294 | slash "^3.0.0" 295 | 296 | import-fresh@^2.0.0: 297 | version "2.0.0" 298 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" 299 | dependencies: 300 | caller-path "^2.0.0" 301 | resolve-from "^3.0.0" 302 | 303 | is-arrayish@^0.2.1: 304 | version "0.2.1" 305 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 306 | 307 | is-ci@^2.0.0: 308 | version "2.0.0" 309 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 310 | dependencies: 311 | ci-info "^2.0.0" 312 | 313 | is-directory@^0.3.1: 314 | version "0.3.1" 315 | resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" 316 | 317 | is-plain-object@^5.0.0: 318 | version "5.0.0" 319 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" 320 | integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== 321 | 322 | is-stream@^1.1.0: 323 | version "1.1.0" 324 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 325 | 326 | isexe@^2.0.0: 327 | version "2.0.0" 328 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 329 | 330 | js-tokens@^4.0.0: 331 | version "4.0.0" 332 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 333 | 334 | js-yaml@^3.13.1: 335 | version "3.13.1" 336 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" 337 | dependencies: 338 | argparse "^1.0.7" 339 | esprima "^4.0.0" 340 | 341 | json-parse-better-errors@^1.0.1: 342 | version "1.0.2" 343 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 344 | 345 | lines-and-columns@^1.1.6: 346 | version "1.1.6" 347 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 348 | 349 | locate-path@^5.0.0: 350 | version "5.0.0" 351 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 352 | dependencies: 353 | p-locate "^4.1.0" 354 | 355 | nice-try@^1.0.4: 356 | version "1.0.5" 357 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 358 | 359 | node-fetch@^2.6.1: 360 | version "2.6.1" 361 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" 362 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 363 | 364 | normalize-package-data@^2.5.0: 365 | version "2.5.0" 366 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 367 | dependencies: 368 | hosted-git-info "^2.1.4" 369 | resolve "^1.10.0" 370 | semver "2 || 3 || 4 || 5" 371 | validate-npm-package-license "^3.0.1" 372 | 373 | npm-run-path@^2.0.0: 374 | version "2.0.2" 375 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 376 | dependencies: 377 | path-key "^2.0.0" 378 | 379 | once@^1.3.1, once@^1.4.0: 380 | version "1.4.0" 381 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 382 | dependencies: 383 | wrappy "1" 384 | 385 | opencollective-postinstall@^2.0.2: 386 | version "2.0.2" 387 | resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" 388 | 389 | p-finally@^1.0.0: 390 | version "1.0.0" 391 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 392 | 393 | p-limit@^2.2.0: 394 | version "2.2.1" 395 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" 396 | dependencies: 397 | p-try "^2.0.0" 398 | 399 | p-locate@^4.1.0: 400 | version "4.1.0" 401 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 402 | dependencies: 403 | p-limit "^2.2.0" 404 | 405 | p-try@^2.0.0: 406 | version "2.2.0" 407 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 408 | 409 | parse-json@^4.0.0: 410 | version "4.0.0" 411 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" 412 | dependencies: 413 | error-ex "^1.3.1" 414 | json-parse-better-errors "^1.0.1" 415 | 416 | parse-json@^5.0.0: 417 | version "5.0.0" 418 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" 419 | dependencies: 420 | "@babel/code-frame" "^7.0.0" 421 | error-ex "^1.3.1" 422 | json-parse-better-errors "^1.0.1" 423 | lines-and-columns "^1.1.6" 424 | 425 | path-exists@^4.0.0: 426 | version "4.0.0" 427 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 428 | 429 | path-key@^2.0.0, path-key@^2.0.1: 430 | version "2.0.1" 431 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 432 | 433 | path-parse@^1.0.6: 434 | version "1.0.6" 435 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 436 | 437 | pkg-dir@^4.2.0: 438 | version "4.2.0" 439 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 440 | dependencies: 441 | find-up "^4.0.0" 442 | 443 | please-upgrade-node@^3.2.0: 444 | version "3.2.0" 445 | resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" 446 | dependencies: 447 | semver-compare "^1.0.0" 448 | 449 | pump@^3.0.0: 450 | version "3.0.0" 451 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 452 | dependencies: 453 | end-of-stream "^1.1.0" 454 | once "^1.3.1" 455 | 456 | read-pkg@^5.1.1: 457 | version "5.2.0" 458 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" 459 | dependencies: 460 | "@types/normalize-package-data" "^2.4.0" 461 | normalize-package-data "^2.5.0" 462 | parse-json "^5.0.0" 463 | type-fest "^0.6.0" 464 | 465 | resolve-from@^3.0.0: 466 | version "3.0.0" 467 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 468 | 469 | resolve@^1.10.0: 470 | version "1.12.0" 471 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" 472 | dependencies: 473 | path-parse "^1.0.6" 474 | 475 | run-node@^1.0.0: 476 | version "1.0.0" 477 | resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" 478 | 479 | semver-compare@^1.0.0: 480 | version "1.0.0" 481 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" 482 | 483 | "semver@2 || 3 || 4 || 5", semver@^5.5.0: 484 | version "5.7.1" 485 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 486 | 487 | shebang-command@^1.2.0: 488 | version "1.2.0" 489 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 490 | dependencies: 491 | shebang-regex "^1.0.0" 492 | 493 | shebang-regex@^1.0.0: 494 | version "1.0.0" 495 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 496 | 497 | signal-exit@^3.0.0: 498 | version "3.0.2" 499 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 500 | 501 | slash@^3.0.0: 502 | version "3.0.0" 503 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 504 | 505 | spdx-correct@^3.0.0: 506 | version "3.1.0" 507 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" 508 | dependencies: 509 | spdx-expression-parse "^3.0.0" 510 | spdx-license-ids "^3.0.0" 511 | 512 | spdx-exceptions@^2.1.0: 513 | version "2.2.0" 514 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 515 | 516 | spdx-expression-parse@^3.0.0: 517 | version "3.0.0" 518 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 519 | dependencies: 520 | spdx-exceptions "^2.1.0" 521 | spdx-license-ids "^3.0.0" 522 | 523 | spdx-license-ids@^3.0.0: 524 | version "3.0.5" 525 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" 526 | 527 | sprintf-js@~1.0.2: 528 | version "1.0.3" 529 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 530 | 531 | strip-eof@^1.0.0: 532 | version "1.0.0" 533 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 534 | 535 | supports-color@^5.3.0: 536 | version "5.5.0" 537 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 538 | dependencies: 539 | has-flag "^3.0.0" 540 | 541 | tunnel@0.0.6: 542 | version "0.0.6" 543 | resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" 544 | integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== 545 | 546 | type-fest@^0.6.0: 547 | version "0.6.0" 548 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" 549 | 550 | typescript@^4.2.4: 551 | version "4.2.4" 552 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" 553 | integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== 554 | 555 | universal-user-agent@^6.0.0: 556 | version "6.0.0" 557 | resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" 558 | integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== 559 | 560 | validate-npm-package-license@^3.0.1: 561 | version "3.0.4" 562 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 563 | dependencies: 564 | spdx-correct "^3.0.0" 565 | spdx-expression-parse "^3.0.0" 566 | 567 | which@^1.2.9: 568 | version "1.3.1" 569 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 570 | dependencies: 571 | isexe "^2.0.0" 572 | 573 | wrappy@1: 574 | version "1.0.2" 575 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 576 | -------------------------------------------------------------------------------- /dist/index.js: -------------------------------------------------------------------------------- 1 | (()=>{var __webpack_modules__={351:function(e,r,t){"use strict";var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)if(Object.hasOwnProperty.call(e,t))r[t]=e[t];r["default"]=e;return r};Object.defineProperty(r,"__esModule",{value:true});const o=s(t(87));const n=t(278);function issueCommand(e,r,t){const s=new Command(e,r,t);process.stdout.write(s.toString()+o.EOL)}r.issueCommand=issueCommand;function issue(e,r=""){issueCommand(e,{},r)}r.issue=issue;const i="::";class Command{constructor(e,r,t){if(!e){e="missing.command"}this.command=e;this.properties=r;this.message=t}toString(){let e=i+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=true;for(const t in this.properties){if(this.properties.hasOwnProperty(t)){const s=this.properties[t];if(s){if(r){r=false}else{e+=","}e+=`${t}=${escapeProperty(s)}`}}}}e+=`${i}${escapeData(this.message)}`;return e}}function escapeData(e){return n.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return n.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},186:function(e,r,t){"use strict";var s=this&&this.__awaiter||function(e,r,t,s){function adopt(e){return e instanceof t?e:new t((function(r){r(e)}))}return new(t||(t=Promise))((function(t,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?t(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,r||[])).next())}))};var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)if(Object.hasOwnProperty.call(e,t))r[t]=e[t];r["default"]=e;return r};Object.defineProperty(r,"__esModule",{value:true});const n=t(351);const i=t(717);const a=t(278);const c=o(t(87));const u=o(t(622));var p;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(p=r.ExitCode||(r.ExitCode={}));function exportVariable(e,r){const t=a.toCommandValue(r);process.env[e]=t;const s=process.env["GITHUB_ENV"]||"";if(s){const r="_GitHubActionsFileCommandDelimeter_";const s=`${e}<<${r}${c.EOL}${t}${c.EOL}${r}`;i.issueCommand("ENV",s)}else{n.issueCommand("set-env",{name:e},t)}}r.exportVariable=exportVariable;function setSecret(e){n.issueCommand("add-mask",{},e)}r.setSecret=setSecret;function addPath(e){const r=process.env["GITHUB_PATH"]||"";if(r){i.issueCommand("PATH",e)}else{n.issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${u.delimiter}${process.env["PATH"]}`}r.addPath=addPath;function getInput(e,r){const t=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(r&&r.required&&!t){throw new Error(`Input required and not supplied: ${e}`)}return t.trim()}r.getInput=getInput;function setOutput(e,r){process.stdout.write(c.EOL);n.issueCommand("set-output",{name:e},r)}r.setOutput=setOutput;function setCommandEcho(e){n.issue("echo",e?"on":"off")}r.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=p.Failure;error(e)}r.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}r.isDebug=isDebug;function debug(e){n.issueCommand("debug",{},e)}r.debug=debug;function error(e){n.issue("error",e instanceof Error?e.toString():e)}r.error=error;function warning(e){n.issue("warning",e instanceof Error?e.toString():e)}r.warning=warning;function info(e){process.stdout.write(e+c.EOL)}r.info=info;function startGroup(e){n.issue("group",e)}r.startGroup=startGroup;function endGroup(){n.issue("endgroup")}r.endGroup=endGroup;function group(e,r){return s(this,void 0,void 0,(function*(){startGroup(e);let t;try{t=yield r()}finally{endGroup()}return t}))}r.group=group;function saveState(e,r){n.issueCommand("save-state",{name:e},r)}r.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}r.getState=getState},717:function(e,r,t){"use strict";var s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)if(Object.hasOwnProperty.call(e,t))r[t]=e[t];r["default"]=e;return r};Object.defineProperty(r,"__esModule",{value:true});const o=s(t(747));const n=s(t(87));const i=t(278);function issueCommand(e,r){const t=process.env[`GITHUB_${e}`];if(!t){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!o.existsSync(t)){throw new Error(`Missing file at path: ${t}`)}o.appendFileSync(t,`${i.toCommandValue(r)}${n.EOL}`,{encoding:"utf8"})}r.issueCommand=issueCommand},278:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}r.toCommandValue=toCommandValue},53:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});r.Context=void 0;const s=t(747);const o=t(87);class Context{constructor(){this.payload={};if(process.env.GITHUB_EVENT_PATH){if(s.existsSync(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse(s.readFileSync(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${o.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;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10)}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,r]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:r}}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'")}}r.Context=Context},438:function(e,r,t){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,r,t,s){if(s===undefined)s=t;Object.defineProperty(e,s,{enumerable:true,get:function(){return r[t]}})}:function(e,r,t,s){if(s===undefined)s=t;e[s]=r[t]});var o=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:true,value:r})}:function(e,r){e["default"]=r});var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)if(Object.hasOwnProperty.call(e,t))s(r,e,t);o(r,e);return r};Object.defineProperty(r,"__esModule",{value:true});r.getOctokit=r.context=void 0;const i=n(t(53));const a=t(30);r.context=new i.Context;function getOctokit(e,r){return new a.GitHub(a.getOctokitOptions(e,r))}r.getOctokit=getOctokit},914:function(e,r,t){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,r,t,s){if(s===undefined)s=t;Object.defineProperty(e,s,{enumerable:true,get:function(){return r[t]}})}:function(e,r,t,s){if(s===undefined)s=t;e[s]=r[t]});var o=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:true,value:r})}:function(e,r){e["default"]=r});var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)if(Object.hasOwnProperty.call(e,t))s(r,e,t);o(r,e);return r};Object.defineProperty(r,"__esModule",{value:true});r.getApiBaseUrl=r.getProxyAgent=r.getAuthString=void 0;const i=n(t(925));function getAuthString(e,r){if(!e&&!r.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&r.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof r.auth==="string"?r.auth:`token ${e}`}r.getAuthString=getAuthString;function getProxyAgent(e){const r=new i.HttpClient;return r.getAgent(e)}r.getProxyAgent=getProxyAgent;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}r.getApiBaseUrl=getApiBaseUrl},30:function(e,r,t){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,r,t,s){if(s===undefined)s=t;Object.defineProperty(e,s,{enumerable:true,get:function(){return r[t]}})}:function(e,r,t,s){if(s===undefined)s=t;e[s]=r[t]});var o=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:true,value:r})}:function(e,r){e["default"]=r});var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)if(Object.hasOwnProperty.call(e,t))s(r,e,t);o(r,e);return r};Object.defineProperty(r,"__esModule",{value:true});r.getOctokitOptions=r.GitHub=r.context=void 0;const i=n(t(53));const a=n(t(914));const c=t(762);const u=t(44);const p=t(193);r.context=new i.Context;const l=a.getApiBaseUrl();const d={baseUrl:l,request:{agent:a.getProxyAgent(l)}};r.GitHub=c.Octokit.plugin(u.restEndpointMethods,p.paginateRest).defaults(d);function getOctokitOptions(e,r){const t=Object.assign({},r||{});const s=a.getAuthString(e,t);if(s){t.auth=s}return t}r.getOctokitOptions=getOctokitOptions},925:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});const s=t(605);const o=t(211);const n=t(443);let i;var a;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(a=r.HttpCodes||(r.HttpCodes={}));var c;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(c=r.Headers||(r.Headers={}));var u;(function(e){e["ApplicationJson"]="application/json"})(u=r.MediaTypes||(r.MediaTypes={}));function getProxyUrl(e){let r=n.getProxyUrl(new URL(e));return r?r.href:""}r.getProxyUrl=getProxyUrl;const p=[a.MovedPermanently,a.ResourceMoved,a.SeeOther,a.TemporaryRedirect,a.PermanentRedirect];const l=[a.BadGateway,a.ServiceUnavailable,a.GatewayTimeout];const d=["OPTIONS","GET","DELETE","HEAD"];const m=10;const g=5;class HttpClientError extends Error{constructor(e,r){super(e);this.name="HttpClientError";this.statusCode=r;Object.setPrototypeOf(this,HttpClientError.prototype)}}r.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return new Promise((async(e,r)=>{let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))}}r.HttpClientResponse=HttpClientResponse;function isHttps(e){let r=new URL(e);return r.protocol==="https:"}r.isHttps=isHttps;class HttpClient{constructor(e,r,t){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=r||[];this.requestOptions=t;if(t){if(t.ignoreSslError!=null){this._ignoreSslError=t.ignoreSslError}this._socketTimeout=t.socketTimeout;if(t.allowRedirects!=null){this._allowRedirects=t.allowRedirects}if(t.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=t.allowRedirectDowngrade}if(t.maxRedirects!=null){this._maxRedirects=Math.max(t.maxRedirects,0)}if(t.keepAlive!=null){this._keepAlive=t.keepAlive}if(t.allowRetries!=null){this._allowRetries=t.allowRetries}if(t.maxRetries!=null){this._maxRetries=t.maxRetries}}}options(e,r){return this.request("OPTIONS",e,null,r||{})}get(e,r){return this.request("GET",e,null,r||{})}del(e,r){return this.request("DELETE",e,null,r||{})}post(e,r,t){return this.request("POST",e,r,t||{})}patch(e,r,t){return this.request("PATCH",e,r,t||{})}put(e,r,t){return this.request("PUT",e,r,t||{})}head(e,r){return this.request("HEAD",e,null,r||{})}sendStream(e,r,t,s){return this.request(e,r,t,s)}async getJson(e,r={}){r[c.Accept]=this._getExistingOrDefaultHeader(r,c.Accept,u.ApplicationJson);let t=await this.get(e,r);return this._processResponse(t,this.requestOptions)}async postJson(e,r,t={}){let s=JSON.stringify(r,null,2);t[c.Accept]=this._getExistingOrDefaultHeader(t,c.Accept,u.ApplicationJson);t[c.ContentType]=this._getExistingOrDefaultHeader(t,c.ContentType,u.ApplicationJson);let o=await this.post(e,s,t);return this._processResponse(o,this.requestOptions)}async putJson(e,r,t={}){let s=JSON.stringify(r,null,2);t[c.Accept]=this._getExistingOrDefaultHeader(t,c.Accept,u.ApplicationJson);t[c.ContentType]=this._getExistingOrDefaultHeader(t,c.ContentType,u.ApplicationJson);let o=await this.put(e,s,t);return this._processResponse(o,this.requestOptions)}async patchJson(e,r,t={}){let s=JSON.stringify(r,null,2);t[c.Accept]=this._getExistingOrDefaultHeader(t,c.Accept,u.ApplicationJson);t[c.ContentType]=this._getExistingOrDefaultHeader(t,c.ContentType,u.ApplicationJson);let o=await this.patch(e,s,t);return this._processResponse(o,this.requestOptions)}async request(e,r,t,s){if(this._disposed){throw new Error("Client has already been disposed.")}let o=new URL(r);let n=this._prepareRequest(e,o,s);let i=this._allowRetries&&d.indexOf(e)!=-1?this._maxRetries+1:1;let c=0;let u;while(c0){const i=u.message.headers["location"];if(!i){break}let a=new URL(i);if(o.protocol=="https:"&&o.protocol!=a.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}await u.readBody();if(a.hostname!==o.hostname){for(let e in s){if(e.toLowerCase()==="authorization"){delete s[e]}}}n=this._prepareRequest(e,a,s);u=await this.requestRaw(n,t);r--}if(l.indexOf(u.message.statusCode)==-1){return u}c+=1;if(c{let callbackForResult=function(e,r){if(e){s(e)}t(r)};this.requestRawWithCallback(e,r,callbackForResult)}))}requestRawWithCallback(e,r,t){let s;if(typeof r==="string"){e.options.headers["Content-Length"]=Buffer.byteLength(r,"utf8")}let o=false;let handleResult=(e,r)=>{if(!o){o=true;t(e,r)}};let n=e.httpModule.request(e.options,(e=>{let r=new HttpClientResponse(e);handleResult(null,r)}));n.on("socket",(e=>{s=e}));n.setTimeout(this._socketTimeout||3*6e4,(()=>{if(s){s.end()}handleResult(new Error("Request timeout: "+e.options.path),null)}));n.on("error",(function(e){handleResult(e,null)}));if(r&&typeof r==="string"){n.write(r,"utf8")}if(r&&typeof r!=="string"){r.on("close",(function(){n.end()}));r.pipe(n)}else{n.end()}}getAgent(e){let r=new URL(e);return this._getAgent(r)}_prepareRequest(e,r,t){const n={};n.parsedUrl=r;const i=n.parsedUrl.protocol==="https:";n.httpModule=i?o:s;const a=i?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):a;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(t);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){this.handlers.forEach((e=>{e.prepareRequest(n.options)}))}return n}_mergeHeaders(e){const lowercaseKeys=e=>Object.keys(e).reduce(((r,t)=>(r[t.toLowerCase()]=e[t],r)),{});if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,r,t){const lowercaseKeys=e=>Object.keys(e).reduce(((r,t)=>(r[t.toLowerCase()]=e[t],r)),{});let s;if(this.requestOptions&&this.requestOptions.headers){s=lowercaseKeys(this.requestOptions.headers)[r]}return e[r]||s||t}_getAgent(e){let r;let a=n.getProxyUrl(e);let c=a&&a.hostname;if(this._keepAlive&&c){r=this._proxyAgent}if(this._keepAlive&&!c){r=this._agent}if(!!r){return r}const u=e.protocol==="https:";let p=100;if(!!this.requestOptions){p=this.requestOptions.maxSockets||s.globalAgent.maxSockets}if(c){if(!i){i=t(294)}const e={maxSockets:p,keepAlive:this._keepAlive,proxy:{...(a.username||a.password)&&{proxyAuth:`${a.username}:${a.password}`},host:a.hostname,port:a.port}};let s;const o=a.protocol==="https:";if(u){s=o?i.httpsOverHttps:i.httpsOverHttp}else{s=o?i.httpOverHttps:i.httpOverHttp}r=s(e);this._proxyAgent=r}if(this._keepAlive&&!r){const e={keepAlive:this._keepAlive,maxSockets:p};r=u?new o.Agent(e):new s.Agent(e);this._agent=r}if(!r){r=u?o.globalAgent:s.globalAgent}if(u&&this._ignoreSslError){r.options=Object.assign(r.options||{},{rejectUnauthorized:false})}return r}_performExponentialBackoff(e){e=Math.min(m,e);const r=g*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),r)))}static dateTimeDeserializer(e,r){if(typeof r==="string"){let e=new Date(r);if(!isNaN(e.valueOf())){return e}}return r}async _processResponse(e,r){return new Promise((async(t,s)=>{const o=e.message.statusCode;const n={statusCode:o,result:null,headers:{}};if(o==a.NotFound){t(n)}let i;let c;try{c=await e.readBody();if(c&&c.length>0){if(r&&r.deserializeDates){i=JSON.parse(c,HttpClient.dateTimeDeserializer)}else{i=JSON.parse(c)}n.result=i}n.headers=e.message.headers}catch(e){}if(o>299){let e;if(i&&i.message){e=i.message}else if(c&&c.length>0){e=c}else{e="Failed request: ("+o+")"}let r=new HttpClientError(e,o);r.result=n.result;s(r)}else{t(n)}}))}}r.HttpClient=HttpClient},443:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});function getProxyUrl(e){let r=e.protocol==="https:";let t;if(checkBypass(e)){return t}let s;if(r){s=process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{s=process.env["http_proxy"]||process.env["HTTP_PROXY"]}if(s){t=new URL(s)}return t}r.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}let r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let t;if(e.port){t=Number(e.port)}else if(e.protocol==="http:"){t=80}else if(e.protocol==="https:"){t=443}let s=[e.hostname.toUpperCase()];if(typeof t==="number"){s.push(`${s[0]}:${t}`)}for(let e of r.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(s.some((r=>r===e))){return true}}return false}r.checkBypass=checkBypass},334:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});async function auth(e){const r=e.split(/\./).length===3?"app":/^v\d+\./.test(e)?"installation":"oauth";return{type:"token",token:e,tokenType:r}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,r,t,s){const o=r.endpoint.merge(t,s);o.headers.authorization=withAuthorizationPrefix(e);return r(o)}const t=function createTokenAuth(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};r.createTokenAuth=t},762:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});var s=t(429);var o=t(682);var n=t(234);var i=t(668);var a=t(334);function _objectWithoutPropertiesLoose(e,r){if(e==null)return{};var t={};var s=Object.keys(e);var o,n;for(n=0;n=0)continue;t[o]=e[o]}return t}function _objectWithoutProperties(e,r){if(e==null)return{};var t=_objectWithoutPropertiesLoose(e,r);var s,o;if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,s))continue;t[s]=e[s]}}return t}const c="3.4.0";class Octokit{constructor(e={}){const r=new o.Collection;const t={baseUrl:n.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};t.headers["user-agent"]=[e.userAgent,`octokit-core.js/${c} ${s.getUserAgent()}`].filter(Boolean).join(" ");if(e.baseUrl){t.baseUrl=e.baseUrl}if(e.previews){t.mediaType.previews=e.previews}if(e.timeZone){t.headers["time-zone"]=e.timeZone}this.request=n.request.defaults(t);this.graphql=i.withCustomRequest(this.request).defaults(t);this.log=Object.assign({debug:()=>{},info:()=>{},warn:console.warn.bind(console),error:console.error.bind(console)},e.log);this.hook=r;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const t=a.createTokenAuth(e.auth);r.wrap("request",t.hook);this.auth=t}}else{const{authStrategy:t}=e,s=_objectWithoutProperties(e,["authStrategy"]);const o=t(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:s},e.auth));r.wrap("request",o.hook);this.auth=o}const u=this.constructor;u.plugins.forEach((r=>{Object.assign(this,r(this,e))}))}static defaults(e){const r=class extends(this){constructor(...r){const t=r[0]||{};if(typeof e==="function"){super(e(t));return}super(Object.assign({},e,t,t.userAgent&&e.userAgent?{userAgent:`${t.userAgent} ${e.userAgent}`}:null))}};return r}static plugin(...e){var r;const t=this.plugins;const s=(r=class extends(this){},r.plugins=t.concat(e.filter((e=>!t.includes(e)))),r);return s}}Octokit.VERSION=c;Octokit.plugins=[];r.Octokit=Octokit},440:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});var s=t(287);var o=t(429);function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((r,t)=>{r[t.toLowerCase()]=e[t];return r}),{})}function mergeDeep(e,r){const t=Object.assign({},e);Object.keys(r).forEach((o=>{if(s.isPlainObject(r[o])){if(!(o in e))Object.assign(t,{[o]:r[o]});else t[o]=mergeDeep(e[o],r[o])}else{Object.assign(t,{[o]:r[o]})}}));return t}function removeUndefinedProperties(e){for(const r in e){if(e[r]===undefined){delete e[r]}}return e}function merge(e,r,t){if(typeof r==="string"){let[e,s]=r.split(" ");t=Object.assign(s?{method:e,url:s}:{url:e},t)}else{t=Object.assign({},r)}t.headers=lowercaseKeys(t.headers);removeUndefinedProperties(t);removeUndefinedProperties(t.headers);const s=mergeDeep(e||{},t);if(e&&e.mediaType.previews.length){s.mediaType.previews=e.mediaType.previews.filter((e=>!s.mediaType.previews.includes(e))).concat(s.mediaType.previews)}s.mediaType.previews=s.mediaType.previews.map((e=>e.replace(/-preview/,"")));return s}function addQueryParameters(e,r){const t=/\?/.test(e)?"&":"?";const s=Object.keys(r);if(s.length===0){return e}return e+t+s.map((e=>{if(e==="q"){return"q="+r.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(r[e])}`})).join("&")}const n=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const r=e.match(n);if(!r){return[]}return r.map(removeNonChars).reduce(((e,r)=>e.concat(r)),[])}function omit(e,r){return Object.keys(e).filter((e=>!r.includes(e))).reduce(((r,t)=>{r[t]=e[t];return r}),{})}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,r,t){r=e==="+"||e==="#"?encodeReserved(r):encodeUnreserved(r);if(t){return encodeUnreserved(t)+"="+r}else{return r}}function isDefined(e){return e!==undefined&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,r,t,s){var o=e[t],n=[];if(isDefined(o)&&o!==""){if(typeof o==="string"||typeof o==="number"||typeof o==="boolean"){o=o.toString();if(s&&s!=="*"){o=o.substring(0,parseInt(s,10))}n.push(encodeValue(r,o,isKeyOperator(r)?t:""))}else{if(s==="*"){if(Array.isArray(o)){o.filter(isDefined).forEach((function(e){n.push(encodeValue(r,e,isKeyOperator(r)?t:""))}))}else{Object.keys(o).forEach((function(e){if(isDefined(o[e])){n.push(encodeValue(r,o[e],e))}}))}}else{const e=[];if(Array.isArray(o)){o.filter(isDefined).forEach((function(t){e.push(encodeValue(r,t))}))}else{Object.keys(o).forEach((function(t){if(isDefined(o[t])){e.push(encodeUnreserved(t));e.push(encodeValue(r,o[t].toString()))}}))}if(isKeyOperator(r)){n.push(encodeUnreserved(t)+"="+e.join(","))}else if(e.length!==0){n.push(e.join(","))}}}}else{if(r===";"){if(isDefined(o)){n.push(encodeUnreserved(t))}}else if(o===""&&(r==="&"||r==="?")){n.push(encodeUnreserved(t)+"=")}else if(o===""){n.push("")}}return n}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,r){var t=["+","#",".","/",";","?","&"];return e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,s,o){if(s){let e="";const o=[];if(t.indexOf(s.charAt(0))!==-1){e=s.charAt(0);s=s.substr(1)}s.split(/,/g).forEach((function(t){var s=/([^:\*]*)(?::(\d+)|(\*))?/.exec(t);o.push(getValues(r,e,s[1],s[2]||s[3]))}));if(e&&e!=="+"){var n=",";if(e==="?"){n="&"}else if(e!=="#"){n=e}return(o.length!==0?e:"")+o.join(n)}else{return o.join(",")}}else{return encodeReserved(o)}}))}function parse(e){let r=e.method.toUpperCase();let t=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let s=Object.assign({},e.headers);let o;let n=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const i=extractUrlVariableNames(t);t=parseUrl(t).expand(n);if(!/^http/.test(t)){t=e.baseUrl+t}const a=Object.keys(e).filter((e=>i.includes(e))).concat("baseUrl");const c=omit(n,a);const u=/application\/octet-stream/i.test(s.accept);if(!u){if(e.mediaType.format){s.accept=s.accept.split(/,/).map((r=>r.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(e.mediaType.previews.length){const r=s.accept.match(/[\w-]+(?=-preview)/g)||[];s.accept=r.concat(e.mediaType.previews).map((r=>{const t=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${r}-preview${t}`})).join(",")}}if(["GET","HEAD"].includes(r)){t=addQueryParameters(t,c)}else{if("data"in c){o=c.data}else{if(Object.keys(c).length){o=c}else{s["content-length"]=0}}}if(!s["content-type"]&&typeof o!=="undefined"){s["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(r)&&typeof o==="undefined"){o=""}return Object.assign({method:r,url:t,headers:s},typeof o!=="undefined"?{body:o}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,r,t){return parse(merge(e,r,t))}function withDefaults(e,r){const t=merge(e,r);const s=endpointWithDefaults.bind(null,t);return Object.assign(s,{DEFAULTS:t,defaults:withDefaults.bind(null,t),merge:merge.bind(null,t),parse:parse})}const i="6.0.11";const a=`octokit-endpoint.js/${i} ${o.getUserAgent()}`;const c={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":a},mediaType:{format:"",previews:[]}};const u=withDefaults(null,c);r.endpoint=u},668:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});var s=t(234);var o=t(429);const n="4.6.1";class GraphqlError extends Error{constructor(e,r){const t=r.data.errors[0].message;super(t);Object.assign(this,r.data);Object.assign(this,{headers:r.headers});this.name="GraphqlError";this.request=e;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}}const i=["method","baseUrl","url","headers","request","query","mediaType"];const a=["query","method","url"];const c=/\/api\/v3\/?$/;function graphql(e,r,t){if(t){if(typeof r==="string"&&"query"in t){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in t){if(!a.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const s=typeof r==="string"?Object.assign({query:r},t):r;const o=Object.keys(s).reduce(((e,r)=>{if(i.includes(r)){e[r]=s[r];return e}if(!e.variables){e.variables={}}e.variables[r]=s[r];return e}),{});const n=s.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(c.test(n)){o.url=n.replace(c,"/api/graphql")}return e(o).then((e=>{if(e.data.errors){const r={};for(const t of Object.keys(e.headers)){r[t]=e.headers[t]}throw new GraphqlError(o,{headers:r,data:e.data})}return e.data.data}))}function withDefaults(e,r){const t=e.defaults(r);const newApi=(e,r)=>graphql(t,e,r);return Object.assign(newApi,{defaults:withDefaults.bind(null,t),endpoint:s.request.endpoint})}const u=withDefaults(s.request,{headers:{"user-agent":`octokit-graphql.js/${n} ${o.getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}r.graphql=u;r.withCustomRequest=withCustomRequest},193:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});const t="2.13.3";function normalizePaginatedListResponse(e){const r="total_count"in e.data&&!("url"in e.data);if(!r)return e;const t=e.data.incomplete_results;const s=e.data.repository_selection;const o=e.data.total_count;delete e.data.incomplete_results;delete e.data.repository_selection;delete e.data.total_count;const n=Object.keys(e.data)[0];const i=e.data[n];e.data=i;if(typeof t!=="undefined"){e.data.incomplete_results=t}if(typeof s!=="undefined"){e.data.repository_selection=s}e.data.total_count=o;return e}function iterator(e,r,t){const s=typeof r==="function"?r.endpoint(t):e.request.endpoint(r,t);const o=typeof r==="function"?r:e.request;const n=s.method;const i=s.headers;let a=s.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!a)return{done:true};const e=await o({method:n,url:a,headers:i});const r=normalizePaginatedListResponse(e);a=((r.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:r}}})}}function paginate(e,r,t,s){if(typeof t==="function"){s=t;t=undefined}return gather(e,[],iterator(e,r,t)[Symbol.asyncIterator](),s)}function gather(e,r,t,s){return t.next().then((o=>{if(o.done){return r}let n=false;function done(){n=true}r=r.concat(s?s(o.value,done):o.value.data);if(n){return r}return gather(e,r,t,s)}))}const s=Object.assign(paginate,{iterator:iterator});const o=["GET /app/installations","GET /applications/grants","GET /authorizations","GET /enterprises/{enterprise}/actions/permissions/organizations","GET /enterprises/{enterprise}/actions/runner-groups","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations","GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners","GET /enterprises/{enterprise}/actions/runners","GET /enterprises/{enterprise}/actions/runners/downloads","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/runners/downloads","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/blocks","GET /orgs/{org}/credential-authorizations","GET /orgs/{org}/events","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/projects","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/team-sync/groups","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/team-sync/group-mappings","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runners/downloads","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/git/matching-refs/{ref}","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /scim/v2/enterprises/{enterprise}/Groups","GET /scim/v2/enterprises/{enterprise}/Users","GET /scim/v2/organizations/{org}/Users","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/team-sync/group-mappings","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return o.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=t;r.composePaginateRest=s;r.isPaginatingEndpoint=isPaginatingEndpoint;r.paginateRest=paginateRest;r.paginatingEndpoints=o},44:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});function _defineProperty(e,r,t){if(r in e){Object.defineProperty(e,r,{value:t,enumerable:true,configurable:true,writable:true})}else{e[r]=t}return e}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);if(r)s=s.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}));t.push.apply(t,s)}return t}function _objectSpread2(e){for(var r=1;r{"use strict";Object.defineProperty(r,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var s=t(932);var o=_interopDefault(t(223));const n=o((e=>console.warn(e)));class RequestError extends Error{constructor(e,r,t){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=r;Object.defineProperty(this,"code",{get(){n(new s.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return r}});this.headers=t.headers||{};const o=Object.assign({},t.request);if(t.request.headers.authorization){o.headers=Object.assign({},t.request.headers,{authorization:t.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}o.url=o.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=o}}r.RequestError=RequestError},234:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var s=t(440);var o=t(429);var n=t(287);var i=_interopDefault(t(467));var a=t(537);const c="5.4.15";function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){if(n.isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let r={};let t;let s;const o=e.request&&e.request.fetch||i;return o(e.url,Object.assign({method:e.method,body:e.body,headers:e.headers,redirect:e.redirect},e.request)).then((o=>{s=o.url;t=o.status;for(const e of o.headers){r[e[0]]=e[1]}if(t===204||t===205){return}if(e.method==="HEAD"){if(t<400){return}throw new a.RequestError(o.statusText,t,{headers:r,request:e})}if(t===304){throw new a.RequestError("Not modified",t,{headers:r,request:e})}if(t>=400){return o.text().then((s=>{const o=new a.RequestError(s,t,{headers:r,request:e});try{let e=JSON.parse(o.message);Object.assign(o,e);let r=e.errors;o.message=o.message+": "+r.map(JSON.stringify).join(", ")}catch(e){}throw o}))}const n=o.headers.get("content-type");if(/application\/json/.test(n)){return o.json()}if(!n||/^text\/|charset=utf-8$/.test(n)){return o.text()}return getBufferResponse(o)})).then((e=>({status:t,url:s,headers:r,data:e}))).catch((t=>{if(t instanceof a.RequestError){throw t}throw new a.RequestError(t.message,500,{headers:r,request:e})}))}function withDefaults(e,r){const t=e.defaults(r);const newApi=function(e,r){const s=t.merge(e,r);if(!s.request||!s.request.hook){return fetchWrapper(t.parse(s))}const request=(e,r)=>fetchWrapper(t.parse(t.merge(e,r)));Object.assign(request,{endpoint:t,defaults:withDefaults.bind(null,t)});return s.request.hook(request,s)};return Object.assign(newApi,{endpoint:t,defaults:withDefaults.bind(null,t)})}const u=withDefaults(s.endpoint,{headers:{"user-agent":`octokit-request.js/${c} ${o.getUserAgent()}`}});r.request=u},682:(e,r,t)=>{var s=t(670);var o=t(549);var n=t(819);var i=Function.bind;var a=i.bind(i);function bindApi(e,r,t){var s=a(n,null).apply(null,t?[r,t]:[r]);e.api={remove:s};e.remove=s;["before","error","after","wrap"].forEach((function(s){var n=t?[r,s,t]:[r,s];e[s]=e.api[s]=a(o,null).apply(null,n)}))}function HookSingular(){var e="h";var r={registry:{}};var t=s.bind(null,r,e);bindApi(t,r,e);return t}function HookCollection(){var e={registry:{}};var r=s.bind(null,e);bindApi(r,e);return r}var c=false;function Hook(){if(!c){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');c=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},549:e=>{e.exports=addHook;function addHook(e,r,t,s){var o=s;if(!e.registry[t]){e.registry[t]=[]}if(r==="before"){s=function(e,r){return Promise.resolve().then(o.bind(null,r)).then(e.bind(null,r))}}if(r==="after"){s=function(e,r){var t;return Promise.resolve().then(e.bind(null,r)).then((function(e){t=e;return o(t,r)})).then((function(){return t}))}}if(r==="error"){s=function(e,r){return Promise.resolve().then(e.bind(null,r)).catch((function(e){return o(e,r)}))}}e.registry[t].push({hook:s,orig:o})}},670:e=>{e.exports=register;function register(e,r,t,s){if(typeof t!=="function"){throw new Error("method for before hook must be a function")}if(!s){s={}}if(Array.isArray(r)){return r.reverse().reduce((function(r,t){return register.bind(null,e,t,r,s)}),t)()}return Promise.resolve().then((function(){if(!e.registry[r]){return t(s)}return e.registry[r].reduce((function(e,r){return r.hook.bind(null,e,s)}),t)()}))}},819:e=>{e.exports=removeHook;function removeHook(e,r,t){if(!e.registry[r]){return}var s=e.registry[r].map((function(e){return e.orig})).indexOf(t);if(s===-1){return}e.registry[r].splice(s,1)}},932:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}r.Deprecation=Deprecation},287:(e,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true}); 2 | /*! 3 | * is-plain-object 4 | * 5 | * Copyright (c) 2014-2017, Jon Schlinkert. 6 | * Released under the MIT License. 7 | */function isObject(e){return Object.prototype.toString.call(e)==="[object Object]"}function isPlainObject(e){var r,t;if(isObject(e)===false)return false;r=e.constructor;if(r===undefined)return true;t=r.prototype;if(isObject(t)===false)return false;if(t.hasOwnProperty("isPrototypeOf")===false){return false}return true}r.isPlainObject=isPlainObject},467:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:true});function _interopDefault(e){return e&&typeof e==="object"&&"default"in e?e["default"]:e}var s=_interopDefault(t(413));var o=_interopDefault(t(605));var n=_interopDefault(t(835));var i=_interopDefault(t(211));var a=_interopDefault(t(761));const c=s.Readable;const u=Symbol("buffer");const p=Symbol("type");class Blob{constructor(){this[p]="";const e=arguments[0];const r=arguments[1];const t=[];let s=0;if(e){const r=e;const o=Number(r.length);for(let e=0;e1&&arguments[1]!==undefined?arguments[1]:{},o=t.size;let n=o===undefined?0:o;var i=t.timeout;let a=i===undefined?0:i;if(e==null){e=null}else if(isURLSearchParams(e)){e=Buffer.from(e.toString())}else if(isBlob(e));else if(Buffer.isBuffer(e));else if(Object.prototype.toString.call(e)==="[object ArrayBuffer]"){e=Buffer.from(e)}else if(ArrayBuffer.isView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(e instanceof s);else{e=Buffer.from(String(e))}this[d]={body:e,disturbed:false,error:null};this.size=n;this.timeout=a;if(e instanceof s){e.on("error",(function(e){const t=e.name==="AbortError"?e:new FetchError(`Invalid response body while trying to fetch ${r.url}: ${e.message}`,"system",e);r[d].error=t}))}}Body.prototype={get body(){return this[d].body},get bodyUsed(){return this[d].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}))},blob(){let e=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(r){return Object.assign(new Blob([],{type:e.toLowerCase()}),{[u]:r})}))},json(){var e=this;return consumeBody.call(this).then((function(r){try{return JSON.parse(r.toString())}catch(r){return Body.Promise.reject(new FetchError(`invalid json response body at ${e.url} reason: ${r.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(e){return e.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var e=this;return consumeBody.call(this).then((function(r){return convertBody(r,e.headers)}))}};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(e){for(const r of Object.getOwnPropertyNames(Body.prototype)){if(!(r in e)){const t=Object.getOwnPropertyDescriptor(Body.prototype,r);Object.defineProperty(e,r,t)}}};function consumeBody(){var e=this;if(this[d].disturbed){return Body.Promise.reject(new TypeError(`body used already for: ${this.url}`))}this[d].disturbed=true;if(this[d].error){return Body.Promise.reject(this[d].error)}let r=this.body;if(r===null){return Body.Promise.resolve(Buffer.alloc(0))}if(isBlob(r)){r=r.stream()}if(Buffer.isBuffer(r)){return Body.Promise.resolve(r)}if(!(r instanceof s)){return Body.Promise.resolve(Buffer.alloc(0))}let t=[];let o=0;let n=false;return new Body.Promise((function(s,i){let a;if(e.timeout){a=setTimeout((function(){n=true;i(new FetchError(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))}),e.timeout)}r.on("error",(function(r){if(r.name==="AbortError"){n=true;i(r)}else{i(new FetchError(`Invalid response body while trying to fetch ${e.url}: ${r.message}`,"system",r))}}));r.on("data",(function(r){if(n||r===null){return}if(e.size&&o+r.length>e.size){n=true;i(new FetchError(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}o+=r.length;t.push(r)}));r.on("end",(function(){if(n){return}clearTimeout(a);try{s(Buffer.concat(t,o))}catch(r){i(new FetchError(`Could not create Buffer from response body for ${e.url}: ${r.message}`,"system",r))}}))}))}function convertBody(e,r){if(typeof l!=="function"){throw new Error("The package `encoding` must be installed to use the textConverted() function")}const t=r.get("content-type");let s="utf-8";let o,n;if(t){o=/charset=([^;]*)/i.exec(t)}n=e.slice(0,1024).toString();if(!o&&n){o=/0&&arguments[0]!==undefined?arguments[0]:undefined;this[T]=Object.create(null);if(e instanceof Headers){const r=e.raw();const t=Object.keys(r);for(const e of t){for(const t of r[e]){this.append(e,t)}}return}if(e==null);else if(typeof e==="object"){const r=e[Symbol.iterator];if(r!=null){if(typeof r!=="function"){throw new TypeError("Header pairs must be iterable")}const t=[];for(const r of e){if(typeof r!=="object"||typeof r[Symbol.iterator]!=="function"){throw new TypeError("Each header pair must be iterable")}t.push(Array.from(r))}for(const e of t){if(e.length!==2){throw new TypeError("Each header pair must be a name/value tuple")}this.append(e[0],e[1])}}else{for(const r of Object.keys(e)){const t=e[r];this.append(r,t)}}}else{throw new TypeError("Provided initializer must be an object")}}get(e){e=`${e}`;validateName(e);const r=find(this[T],e);if(r===undefined){return null}return this[T][r].join(", ")}forEach(e){let r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;let t=getHeaders(this);let s=0;while(s1&&arguments[1]!==undefined?arguments[1]:"key+value";const t=Object.keys(e[T]).sort();return t.map(r==="key"?function(e){return e.toLowerCase()}:r==="value"?function(r){return e[T][r].join(", ")}:function(r){return[r.toLowerCase(),e[T][r].join(", ")]})}const E=Symbol("internal");function createHeadersIterator(e,r){const t=Object.create(b);t[E]={target:e,kind:r,index:0};return t}const b=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==b){throw new TypeError("Value of `this` is not a HeadersIterator")}var e=this[E];const r=e.target,t=e.kind,s=e.index;const o=getHeaders(r,t);const n=o.length;if(s>=n){return{value:undefined,done:true}}this[E].index=s+1;return{value:o[s],done:false}}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(b,Symbol.toStringTag,{value:"HeadersIterator",writable:false,enumerable:false,configurable:true});function exportNodeCompatibleHeaders(e){const r=Object.assign({__proto__:null},e[T]);const t=find(e[T],"Host");if(t!==undefined){r[t]=r[t][0]}return r}function createHeadersLenient(e){const r=new Headers;for(const t of Object.keys(e)){if(g.test(t)){continue}if(Array.isArray(e[t])){for(const s of e[t]){if(h.test(s)){continue}if(r[T][t]===undefined){r[T][t]=[s]}else{r[T][t].push(s)}}}else if(!h.test(e[t])){r[T][t]=[e[t]]}}return r}const w=Symbol("Response internals");const _=o.STATUS_CODES;class Response{constructor(){let e=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;let r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};Body.call(this,e,r);const t=r.status||200;const s=new Headers(r.headers);if(e!=null&&!s.has("Content-Type")){const r=extractContentType(e);if(r){s.append("Content-Type",r)}}this[w]={url:r.url,status:t,statusText:r.statusText||_[t],headers:s,counter:r.counter}}get url(){return this[w].url||""}get status(){return this[w].status}get ok(){return this[w].status>=200&&this[w].status<300}get redirected(){return this[w].counter>0}get statusText(){return this[w].statusText}get headers(){return this[w].headers}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 y=Symbol("Request internals");const v=n.parse;const G=n.format;const k="destroy"in s.Readable.prototype;function isRequest(e){return typeof e==="object"&&typeof e[y]==="object"}function isAbortSignal(e){const r=e&&typeof e==="object"&&Object.getPrototypeOf(e);return!!(r&&r.constructor.name==="AbortSignal")}class Request{constructor(e){let r=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let t;if(!isRequest(e)){if(e&&e.href){t=v(e.href)}else{t=v(`${e}`)}e={}}else{t=v(e.url)}let s=r.method||e.method||"GET";s=s.toUpperCase();if((r.body!=null||isRequest(e)&&e.body!==null)&&(s==="GET"||s==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body")}let o=r.body!=null?r.body:isRequest(e)&&e.body!==null?clone(e):null;Body.call(this,o,{timeout:r.timeout||e.timeout||0,size:r.size||e.size||0});const n=new Headers(r.headers||e.headers||{});if(o!=null&&!n.has("Content-Type")){const e=extractContentType(o);if(e){n.append("Content-Type",e)}}let i=isRequest(e)?e.signal:null;if("signal"in r)i=r.signal;if(i!=null&&!isAbortSignal(i)){throw new TypeError("Expected signal to be an instanceof AbortSignal")}this[y]={method:s,redirect:r.redirect||e.redirect||"follow",headers:n,parsedURL:t,signal:i};this.follow=r.follow!==undefined?r.follow:e.follow!==undefined?e.follow:20;this.compress=r.compress!==undefined?r.compress:e.compress!==undefined?e.compress:true;this.counter=r.counter||e.counter||0;this.agent=r.agent||e.agent}get method(){return this[y].method}get url(){return G(this[y].parsedURL)}get headers(){return this[y].headers}get redirect(){return this[y].redirect}get signal(){return this[y].signal}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}});function getNodeRequestOptions(e){const r=e[y].parsedURL;const t=new Headers(e[y].headers);if(!t.has("Accept")){t.set("Accept","*/*")}if(!r.protocol||!r.hostname){throw new TypeError("Only absolute URLs are supported")}if(!/^https?:$/.test(r.protocol)){throw new TypeError("Only HTTP(S) protocols are supported")}if(e.signal&&e.body instanceof s.Readable&&!k){throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8")}let o=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)){o="0"}if(e.body!=null){const r=getTotalBytes(e);if(typeof r==="number"){o=String(r)}}if(o){t.set("Content-Length",o)}if(!t.has("User-Agent")){t.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)")}if(e.compress&&!t.has("Accept-Encoding")){t.set("Accept-Encoding","gzip,deflate")}let n=e.agent;if(typeof n==="function"){n=n(r)}if(!t.has("Connection")&&!n){t.set("Connection","close")}return Object.assign({},r,{method:e.method,headers:exportNodeCompatibleHeaders(t),agent:n})}function AbortError(e){Error.call(this,e);this.type="aborted";this.message=e;Error.captureStackTrace(this,this.constructor)}AbortError.prototype=Object.create(Error.prototype);AbortError.prototype.constructor=AbortError;AbortError.prototype.name="AbortError";const O=s.PassThrough;const P=n.resolve;function fetch(e,r){if(!fetch.Promise){throw new Error("native promise missing, set fetch.Promise to your favorite alternative")}Body.Promise=fetch.Promise;return new fetch.Promise((function(t,n){const c=new Request(e,r);const u=getNodeRequestOptions(c);const p=(u.protocol==="https:"?i:o).request;const l=c.signal;let d=null;const m=function abort(){let e=new AbortError("The user aborted a request.");n(e);if(c.body&&c.body instanceof s.Readable){c.body.destroy(e)}if(!d||!d.body)return;d.body.emit("error",e)};if(l&&l.aborted){m();return}const g=function abortAndFinalize(){m();finalize()};const h=p(u);let T;if(l){l.addEventListener("abort",g)}function finalize(){h.abort();if(l)l.removeEventListener("abort",g);clearTimeout(T)}if(c.timeout){h.once("socket",(function(e){T=setTimeout((function(){n(new FetchError(`network timeout at: ${c.url}`,"request-timeout"));finalize()}),c.timeout)}))}h.on("error",(function(e){n(new FetchError(`request to ${c.url} failed, reason: ${e.message}`,"system",e));finalize()}));h.on("response",(function(e){clearTimeout(T);const r=createHeadersLenient(e.headers);if(fetch.isRedirect(e.statusCode)){const s=r.get("Location");const o=s===null?null:P(c.url,s);switch(c.redirect){case"error":n(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${c.url}`,"no-redirect"));finalize();return;case"manual":if(o!==null){try{r.set("Location",o)}catch(e){n(e)}}break;case"follow":if(o===null){break}if(c.counter>=c.follow){n(new FetchError(`maximum redirect reached at: ${c.url}`,"max-redirect"));finalize();return}const s={headers:new Headers(c.headers),follow:c.follow,counter:c.counter+1,agent:c.agent,compress:c.compress,method:c.method,body:c.body,signal:c.signal,timeout:c.timeout,size:c.size};if(e.statusCode!==303&&c.body&&getTotalBytes(c)===null){n(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect"));finalize();return}if(e.statusCode===303||(e.statusCode===301||e.statusCode===302)&&c.method==="POST"){s.method="GET";s.body=undefined;s.headers.delete("content-length")}t(fetch(new Request(o,s)));finalize();return}}e.once("end",(function(){if(l)l.removeEventListener("abort",g)}));let s=e.pipe(new O);const o={url:c.url,status:e.statusCode,statusText:e.statusMessage,headers:r,size:c.size,timeout:c.timeout,counter:c.counter};const i=r.get("Content-Encoding");if(!c.compress||c.method==="HEAD"||i===null||e.statusCode===204||e.statusCode===304){d=new Response(s,o);t(d);return}const u={flush:a.Z_SYNC_FLUSH,finishFlush:a.Z_SYNC_FLUSH};if(i=="gzip"||i=="x-gzip"){s=s.pipe(a.createGunzip(u));d=new Response(s,o);t(d);return}if(i=="deflate"||i=="x-deflate"){const r=e.pipe(new O);r.once("data",(function(e){if((e[0]&15)===8){s=s.pipe(a.createInflate())}else{s=s.pipe(a.createInflateRaw())}d=new Response(s,o);t(d)}));return}if(i=="br"&&typeof a.createBrotliDecompress==="function"){s=s.pipe(a.createBrotliDecompress());d=new Response(s,o);t(d);return}d=new Response(s,o);t(d)}));writeToStream(h,c)}))}fetch.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};fetch.Promise=global.Promise;e.exports=r=fetch;Object.defineProperty(r,"__esModule",{value:true});r.default=r;r.Headers=Headers;r.Request=Request;r.Response=Response;r.FetchError=FetchError},223:(e,r,t)=>{var s=t(940);e.exports=s(once);e.exports.strict=s(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(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var r=e.name||"Function wrapped with `once`";f.onceError=r+" shouldn't be called more than once";f.called=false;return f}},294:(e,r,t)=>{e.exports=t(219)},219:(e,r,t)=>{"use strict";var s=t(631);var o=t(16);var n=t(605);var i=t(211);var a=t(614);var c=t(357);var u=t(669);r.httpOverHttp=httpOverHttp;r.httpsOverHttp=httpsOverHttp;r.httpOverHttps=httpOverHttps;r.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var r=new TunnelingAgent(e);r.request=n.request;return r}function httpsOverHttp(e){var r=new TunnelingAgent(e);r.request=n.request;r.createSocket=createSecureSocket;r.defaultPort=443;return r}function httpOverHttps(e){var r=new TunnelingAgent(e);r.request=i.request;return r}function httpsOverHttps(e){var r=new TunnelingAgent(e);r.request=i.request;r.createSocket=createSecureSocket;r.defaultPort=443;return r}function TunnelingAgent(e){var r=this;r.options=e||{};r.proxyOptions=r.options.proxy||{};r.maxSockets=r.options.maxSockets||n.Agent.defaultMaxSockets;r.requests=[];r.sockets=[];r.on("free",(function onFree(e,t,s,o){var n=toOptions(t,s,o);for(var i=0,a=r.requests.length;i=this.maxSockets){o.requests.push(n);return}o.createSocket(n,(function(r){r.on("free",onFree);r.on("close",onCloseOrRemove);r.on("agentRemove",onCloseOrRemove);e.onSocket(r);function onFree(){o.emit("free",r,n)}function onCloseOrRemove(e){o.removeSocket(r);r.removeListener("free",onFree);r.removeListener("close",onCloseOrRemove);r.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,r){var t=this;var s={};t.sockets.push(s);var o=mergeOptions({},t.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}p("making CONNECT request");var n=t.request(o);n.useChunkedEncodingByDefault=false;n.once("response",onResponse);n.once("upgrade",onUpgrade);n.once("connect",onConnect);n.once("error",onError);n.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,r,t){process.nextTick((function(){onConnect(e,r,t)}))}function onConnect(o,i,a){n.removeAllListeners();i.removeAllListeners();if(o.statusCode!==200){p("tunneling socket could not be established, statusCode=%d",o.statusCode);i.destroy();var c=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);c.code="ECONNRESET";e.request.emit("error",c);t.removeSocket(s);return}if(a.length>0){p("got illegal response body from proxy");i.destroy();var c=new Error("got illegal response body from proxy");c.code="ECONNRESET";e.request.emit("error",c);t.removeSocket(s);return}p("tunneling connection has established");t.sockets[t.sockets.indexOf(s)]=i;return r(i)}function onError(r){n.removeAllListeners();p("tunneling socket could not be established, cause=%s\n",r.message,r.stack);var o=new Error("tunneling socket could not be established, "+"cause="+r.message);o.code="ECONNRESET";e.request.emit("error",o);t.removeSocket(s)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var r=this.sockets.indexOf(e);if(r===-1){return}this.sockets.splice(r,1);var t=this.requests.shift();if(t){this.createSocket(t,(function(e){t.request.onSocket(e)}))}};function createSecureSocket(e,r){var t=this;TunnelingAgent.prototype.createSocket.call(t,e,(function(s){var n=e.request.getHeader("host");var i=mergeOptions({},t.options,{socket:s,servername:n?n.replace(/:.*$/,""):e.host});var a=o.connect(0,i);t.sockets[t.sockets.indexOf(s)]=a;r(a)}))}function toOptions(e,r,t){if(typeof e==="string"){return{host:e,port:r,localAddress:t}}return e}function mergeOptions(e){for(var r=1,t=arguments.length;r{"use strict";Object.defineProperty(r,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&"version"in process){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}r.getUserAgent=getUserAgent},940:e=>{e.exports=wrappy;function wrappy(e,r){if(e&&r)return wrappy(e)(r);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(r){wrapper[r]=e[r]}));return wrapper;function wrapper(){var r=new Array(arguments.length);for(var t=0;t{module.exports=eval("require")("encoding")},357:e=>{"use strict";e.exports=require("assert")},614:e=>{"use strict";e.exports=require("events")},747:e=>{"use strict";e.exports=require("fs")},605:e=>{"use strict";e.exports=require("http")},211:e=>{"use strict";e.exports=require("https")},631:e=>{"use strict";e.exports=require("net")},87:e=>{"use strict";e.exports=require("os")},622:e=>{"use strict";e.exports=require("path")},413:e=>{"use strict";e.exports=require("stream")},16:e=>{"use strict";e.exports=require("tls")},835:e=>{"use strict";e.exports=require("url")},669:e=>{"use strict";e.exports=require("util")},761:e=>{"use strict";e.exports=require("zlib")}};var __webpack_module_cache__={};function __nccwpck_require__(e){var r=__webpack_module_cache__[e];if(r!==undefined){return r.exports}var t=__webpack_module_cache__[e]={exports:{}};var s=true;try{__webpack_modules__[e].call(t.exports,t,t.exports,__nccwpck_require__);s=false}finally{if(s)delete __webpack_module_cache__[e]}return t.exports}(()=>{__nccwpck_require__.n=e=>{var r=e&&e.__esModule?()=>e["default"]:()=>e;__nccwpck_require__.d(r,{a:r});return r}})();(()=>{__nccwpck_require__.d=(e,r)=>{for(var t in r){if(__nccwpck_require__.o(r,t)&&!__nccwpck_require__.o(e,t)){Object.defineProperty(e,t,{enumerable:true,get:r[t]})}}}})();(()=>{__nccwpck_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__={};(()=>{"use strict";__nccwpck_require__.r(__webpack_exports__);var e=__nccwpck_require__(186);var r=__nccwpck_require__.n(e);var t=__nccwpck_require__(438);var s=__nccwpck_require__.n(t);const o=e.getInput("repo-token");const n=e.getInput("event");const i=e.getInput("body");const a=t.getOctokit(o);if((n==="COMMENT"||n==="REQUEST_CHANGES")&&!i){e.setFailed("Event type COMMENT & REQUEST_CHANGES require a body.")}const c=t.context.payload.pull_request;if(!c){e.setFailed("This action is meant to be ran on pull requests")}const u=`\nmutation {\n addPullRequestReview(input: {\n pullRequestId: "${c["node_id"]}",\n event: ${n},\n body: "${i}"\n }) {clientMutationId}\n}`;a.graphql(u).catch((r=>{e.error(r);e.setFailed(r.message)}))})();module.exports=__webpack_exports__})(); --------------------------------------------------------------------------------