├── .gitignore ├── action.yml ├── .github ├── ISSUE_TEMPLATE │ ├── solution.md │ └── question.md └── workflows │ └── main.yml ├── package.json ├── README.md ├── src └── index.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: "Auto close issues" 2 | description: "Automatically close issues that don't follow the issue template" 3 | author: "Lucas Bento" 4 | 5 | branding: 6 | icon: "archive" 7 | color: "red" 8 | 9 | inputs: 10 | github-token: 11 | description: The `GITHUB_TOKEN` secret. 12 | required: true 13 | issue-close-message: 14 | description: Use default message or input field. 15 | required: false 16 | closed-issues-label: 17 | description: Use default label or input field. 18 | required: false 19 | 20 | runs: 21 | using: "node12" 22 | main: "dist/index.js" 23 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/solution.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: 💪 Share a solution 3 | about: Share a solution to a problem regarding upgrading React Native to a new version. 4 | labels: 💪 Solution 5 | --- 6 | 7 | ## Environment 8 | 9 | 10 | 11 | ## Upgrading version 12 | 13 | 14 | 15 | ## Problem 16 | 17 | 18 | 19 | ## Solution 20 | 21 | 24 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | on: 2 | issues: 3 | types: [opened, edited] 4 | 5 | jobs: 6 | hello_world_job: 7 | runs-on: ubuntu-latest 8 | name: A job to say hello 9 | steps: 10 | # To use this repository's private action, you must check out the repository 11 | - name: Checkout 12 | uses: actions/checkout@v1 13 | - name: Hello world action step 14 | uses: ./ # Uses an action in the root directory 15 | id: hello 16 | with: 17 | github-token: ${{ secrets.GITHUB_TOKEN }} 18 | closed-issues-label: "🙁 Not following issue template" 19 | # Use the output from the `hello` step 20 | - name: Get the output time 21 | run: echo "The time was ${{ steps.hello.outputs.time }}" 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: ❔Create a question 3 | about: Create a question regarding upgrading React Native to a new version. 4 | labels: ❔Question 5 | --- 6 | 7 | ## Environment 8 | 9 | 10 | 11 | ## Upgrading version 12 | 13 | 14 | 15 | ## Description 16 | 17 | 20 | 21 | ## Reproducible demo 22 | 23 | 27 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "auto-close-issues", 3 | "description": "Automatically close issues that don't follow the issue template", 4 | "version": "1.0.2", 5 | "author": { 6 | "name": "Lucas Bento", 7 | "url": "https://github.com/lucasbento" 8 | }, 9 | "dependencies": { 10 | "@actions/core": "^1.2.0", 11 | "@actions/github": "^2.0.0", 12 | "mdjson": "^2.0.1" 13 | }, 14 | "devDependencies": { 15 | "@zeit/ncc": "^0.21.0" 16 | }, 17 | "homepage": "https://github.com/lucasbento/auto-close-issues", 18 | "keywords": [ 19 | "actions", 20 | "automatic", 21 | "close", 22 | "issues" 23 | ], 24 | "license": "MIT", 25 | "main": "dist/index.js", 26 | "repository": "https://github.com/lucasbento/auto-close-issues", 27 | "scripts": { 28 | "build": "ncc build src/index.js" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Close issues that don't follow the issue template 2 | 3 | ## How it works 4 | 5 | This GitHub action will fetch all the files inside of `.github/ISSUE_TEMPLATE`, parse the titles and compare those titles with the content of the opened/edited issue, if they don't match, it will: 6 | 7 | 1. Add a label to the issue (configurable with the input property `closed-issues-label`); 8 | > This step won't run if no label is provided. 9 | 1. Add a message to the issue; 10 | 1. Close it. 11 | 12 | If the user happens to edit the issue to match the template, the action will run again and, if it matches, it will remove the label and reopen the issue automatically. 13 | 14 | > This will only work if you have the input property `closed-issues-label` provided. 15 | 16 | ## Installation 17 | 18 | Put the following content in the file `.github/workflows/main.yml`: 19 | 20 | ```yml 21 | on: 22 | issues: 23 | types: [opened, edited] 24 | 25 | jobs: 26 | auto_close_issues: 27 | runs-on: ubuntu-latest 28 | steps: 29 | - name: Checkout 30 | uses: actions/checkout@v1 31 | - name: Automatically close issues that don't follow the issue template 32 | uses: lucasbento/auto-close-issues@v1.0.2 33 | with: 34 | github-token: ${{ secrets.GITHUB_TOKEN }} 35 | issue-close-message: "@${issue.user.login}: hello! :wave:\n\nThis issue is being automatically closed because it does not follow the issue template." # optional property 36 | closed-issues-label: "🙁 Not following issue template" # optional property 37 | ``` 38 | 39 | ## Configuration 40 | 41 | You can configure `issue-close-message` and `closed-issues-label`, which are, respectively, the message that is shown when closing the issue and the label added to the issue when it being closed. 42 | 43 | For `issue-close-message` the example configuration uses `issue.user.login` to mention the user's username, you can check what you can specify on the message on [GitHub webhook documentation](https://developer.github.com/v3/activity/events/types/#webhook-payload-example-15). 44 | 45 | ## License 46 | 47 | This project is released under the MIT license. 48 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const fs = require("fs"); 2 | const core = require("@actions/core"); 3 | const github = require("@actions/github"); 4 | const mdjson = require("mdjson"); 5 | 6 | const ISSUE_TEMPLATE_DIR = ".github/ISSUE_TEMPLATE"; 7 | 8 | // Grab the closing message from params or fallback to a default message 9 | const getIssueCloseMessage = () => { 10 | const message = 11 | core.getInput("issue-close-message") || 12 | "@${issue.user.login}: hello! :wave:\n\nThis issue is being automatically closed because it does not follow the issue template."; 13 | 14 | const { payload } = github.context; 15 | 16 | return Function( 17 | ...Object.keys(payload), 18 | `return \`${message}\`` 19 | )(...Object.values(payload)); 20 | }; 21 | 22 | (async () => { 23 | const client = new github.GitHub( 24 | core.getInput("github-token", { required: true }) 25 | ); 26 | 27 | const { payload } = github.context; 28 | 29 | const issueBodyMarkdown = payload.issue.body; 30 | // Get all the markdown titles from the issue body 31 | const issueBodyTitles = Object.keys(mdjson(issueBodyMarkdown)); 32 | 33 | // Get a list of the templates 34 | const issueTemplates = fs.readdirSync(ISSUE_TEMPLATE_DIR); 35 | 36 | // Compare template titles with issue body 37 | const doesIssueMatchAnyTemplate = issueTemplates.some(template => { 38 | const templateMarkdown = fs.readFileSync( 39 | `${ISSUE_TEMPLATE_DIR}/${template}`, 40 | "utf-8" 41 | ); 42 | const templateTitles = Object.keys(mdjson(templateMarkdown)); 43 | 44 | return templateTitles.every(title => issueBodyTitles.includes(title)); 45 | }); 46 | 47 | const { issue } = github.context; 48 | const closedIssueLabel = core.getInput("closed-issues-label"); 49 | 50 | if (doesIssueMatchAnyTemplate || payload.action !== "opened") { 51 | // Only reopen the issue if there's a `closed-issues-label` so it knows that 52 | // it was previously closed because of the wrong template 53 | if (payload.issue.state === "closed" && closedIssueLabel) { 54 | const labels = ( 55 | await client.issues.listLabelsOnIssue({ 56 | owner: issue.owner, 57 | repo: issue.repo, 58 | issue_number: issue.number 59 | }) 60 | ).data.map(({ name }) => name); 61 | 62 | if (!labels.includes(closedIssueLabel)) { 63 | return; 64 | } 65 | 66 | await client.issues.removeLabel({ 67 | owner: issue.owner, 68 | repo: issue.repo, 69 | issue_number: issue.number, 70 | name: closedIssueLabel 71 | }); 72 | 73 | await client.issues.update({ 74 | owner: issue.owner, 75 | repo: issue.repo, 76 | issue_number: issue.number, 77 | state: "open" 78 | }); 79 | 80 | return; 81 | } 82 | 83 | return; 84 | } 85 | 86 | // If an closed issue label was provided, add it to the issue 87 | if (closedIssueLabel) { 88 | await client.issues.addLabels({ 89 | owner: issue.owner, 90 | repo: issue.repo, 91 | issue_number: issue.number, 92 | labels: [closedIssueLabel] 93 | }); 94 | } 95 | 96 | // Add the issue closing comment 97 | await client.issues.createComment({ 98 | owner: issue.owner, 99 | repo: issue.repo, 100 | issue_number: issue.number, 101 | body: getIssueCloseMessage() 102 | }); 103 | 104 | // Close the issue 105 | await client.issues.update({ 106 | owner: issue.owner, 107 | repo: issue.repo, 108 | issue_number: issue.number, 109 | state: "closed" 110 | }); 111 | })(); 112 | -------------------------------------------------------------------------------- /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.0": 6 | version "1.2.0" 7 | resolved "https://registry.yarnpkg.com/@actions/core/-/core-1.2.0.tgz#aa5f52b26c362c821d41557e599371a42f6c0b3d" 8 | integrity sha512-ZKdyhlSlyz38S6YFfPnyNgCDZuAF2T0Qv5eHflNWytPS8Qjvz39bZFMry9Bb/dpSnqWcNeav5yM2CTYpJeY+Dw== 9 | 10 | "@actions/github@^2.0.0": 11 | version "2.0.0" 12 | resolved "https://registry.yarnpkg.com/@actions/github/-/github-2.0.0.tgz#5b066b1a8747bbf48d47a058d9c241a2e37d5ee7" 13 | integrity sha512-sNpZ5dJyJyfJIO5lNYx8r/Gha4Tlm8R0MLO2cBkGdOnAAEn3t1M/MHVcoBhY/VPfjGVe5RNAUPz+6INrViiUPA== 14 | dependencies: 15 | "@octokit/graphql" "^4.3.1" 16 | "@octokit/rest" "^16.15.0" 17 | 18 | "@octokit/endpoint@^5.5.0": 19 | version "5.5.1" 20 | resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-5.5.1.tgz#2eea81e110ca754ff2de11c79154ccab4ae16b3f" 21 | integrity sha512-nBFhRUb5YzVTCX/iAK1MgQ4uWo89Gu0TH00qQHoYRCsE12dWcG1OiLd7v2EIo2+tpUKPMOQ62QFy9hy9Vg2ULg== 22 | dependencies: 23 | "@octokit/types" "^2.0.0" 24 | is-plain-object "^3.0.0" 25 | universal-user-agent "^4.0.0" 26 | 27 | "@octokit/graphql@^4.3.1": 28 | version "4.3.1" 29 | resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.3.1.tgz#9ee840e04ed2906c7d6763807632de84cdecf418" 30 | integrity sha512-hCdTjfvrK+ilU2keAdqNBWOk+gm1kai1ZcdjRfB30oA3/T6n53UVJb7w0L5cR3/rhU91xT3HSqCd+qbvH06yxA== 31 | dependencies: 32 | "@octokit/request" "^5.3.0" 33 | "@octokit/types" "^2.0.0" 34 | universal-user-agent "^4.0.0" 35 | 36 | "@octokit/request-error@^1.0.1", "@octokit/request-error@^1.0.2": 37 | version "1.2.0" 38 | resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-1.2.0.tgz#a64d2a9d7a13555570cd79722de4a4d76371baaa" 39 | integrity sha512-DNBhROBYjjV/I9n7A8kVkmQNkqFAMem90dSxqvPq57e2hBr7mNTX98y3R2zDpqMQHVRpBDjsvsfIGgBzy+4PAg== 40 | dependencies: 41 | "@octokit/types" "^2.0.0" 42 | deprecation "^2.0.0" 43 | once "^1.4.0" 44 | 45 | "@octokit/request@^5.2.0", "@octokit/request@^5.3.0": 46 | version "5.3.1" 47 | resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.3.1.tgz#3a1ace45e6f88b1be4749c5da963b3a3b4a2f120" 48 | integrity sha512-5/X0AL1ZgoU32fAepTfEoggFinO3rxsMLtzhlUX+RctLrusn/CApJuGFCd0v7GMFhF+8UiCsTTfsu7Fh1HnEJg== 49 | dependencies: 50 | "@octokit/endpoint" "^5.5.0" 51 | "@octokit/request-error" "^1.0.1" 52 | "@octokit/types" "^2.0.0" 53 | deprecation "^2.0.0" 54 | is-plain-object "^3.0.0" 55 | node-fetch "^2.3.0" 56 | once "^1.4.0" 57 | universal-user-agent "^4.0.0" 58 | 59 | "@octokit/rest@^16.15.0": 60 | version "16.36.0" 61 | resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.36.0.tgz#99892c57ba632c2a7b21845584004387b56c2cb7" 62 | integrity sha512-zoZj7Ya4vWBK4fjTwK2Cnmu7XBB1p9ygSvTk2TthN6DVJXM4hQZQoAiknWFLJWSTix4dnA3vuHtjPZbExYoCZA== 63 | dependencies: 64 | "@octokit/request" "^5.2.0" 65 | "@octokit/request-error" "^1.0.2" 66 | atob-lite "^2.0.0" 67 | before-after-hook "^2.0.0" 68 | btoa-lite "^1.0.0" 69 | deprecation "^2.0.0" 70 | lodash.get "^4.4.2" 71 | lodash.set "^4.3.2" 72 | lodash.uniq "^4.5.0" 73 | octokit-pagination-methods "^1.1.0" 74 | once "^1.4.0" 75 | universal-user-agent "^4.0.0" 76 | 77 | "@octokit/types@^2.0.0": 78 | version "2.0.2" 79 | resolved "https://registry.yarnpkg.com/@octokit/types/-/types-2.0.2.tgz#0888497f5a664e28b0449731d5e88e19b2a74f90" 80 | integrity sha512-StASIL2lgT3TRjxv17z9pAqbnI7HGu9DrJlg3sEBFfCLaMEqp+O3IQPUF6EZtQ4xkAu2ml6kMBBCtGxjvmtmuQ== 81 | dependencies: 82 | "@types/node" ">= 8" 83 | 84 | "@types/node@>= 8": 85 | version "13.1.4" 86 | resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.4.tgz#4cfd90175a200ee9b02bd6b1cd19bc349741607e" 87 | integrity sha512-Lue/mlp2egZJoHXZr4LndxDAd7i/7SQYhV0EjWfb/a4/OZ6tuVwMCVPiwkU5nsEipxEf7hmkSU7Em5VQ8P5NGA== 88 | 89 | "@zeit/ncc@^0.21.0": 90 | version "0.21.0" 91 | resolved "https://registry.yarnpkg.com/@zeit/ncc/-/ncc-0.21.0.tgz#9516fc44ca81614c5b582d6e88542fdf37c401b6" 92 | integrity sha512-RUMdvVK/w78oo+yBjruZltt0kJXYar2un/1bYQ2LuHG7GmFVm+QjxzEmySwREctaJdEnBvlMdUNWd9hXHxEI3g== 93 | 94 | ansi-regex@^2.0.0: 95 | version "2.1.1" 96 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 97 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 98 | 99 | ansi-styles@^2.2.1: 100 | version "2.2.1" 101 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 102 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 103 | 104 | atob-lite@^2.0.0: 105 | version "2.0.0" 106 | resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" 107 | integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= 108 | 109 | balanced-match@^1.0.0: 110 | version "1.0.0" 111 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 112 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 113 | 114 | before-after-hook@^2.0.0: 115 | version "2.1.0" 116 | resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" 117 | integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== 118 | 119 | brace-expansion@^1.0.0: 120 | version "1.1.11" 121 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 122 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 123 | dependencies: 124 | balanced-match "^1.0.0" 125 | concat-map "0.0.1" 126 | 127 | btoa-lite@^1.0.0: 128 | version "1.0.0" 129 | resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" 130 | integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= 131 | 132 | buffer-from@^1.0.0: 133 | version "1.1.1" 134 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 135 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 136 | 137 | camelcase@^1.0.0: 138 | version "1.2.1" 139 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" 140 | integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= 141 | 142 | chalk@^1.0.0: 143 | version "1.1.3" 144 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 145 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 146 | dependencies: 147 | ansi-styles "^2.2.1" 148 | escape-string-regexp "^1.0.2" 149 | has-ansi "^2.0.0" 150 | strip-ansi "^3.0.0" 151 | supports-color "^2.0.0" 152 | 153 | co@3.1.0: 154 | version "3.1.0" 155 | resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" 156 | integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g= 157 | 158 | collapse-white-space@^1.0.0: 159 | version "1.0.5" 160 | resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" 161 | integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ== 162 | 163 | commander@^2.0.0: 164 | version "2.20.3" 165 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 166 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 167 | 168 | concat-map@0.0.1: 169 | version "0.0.1" 170 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 171 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 172 | 173 | concat-stream@^1.0.0: 174 | version "1.6.2" 175 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 176 | integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== 177 | dependencies: 178 | buffer-from "^1.0.0" 179 | inherits "^2.0.3" 180 | readable-stream "^2.2.2" 181 | typedarray "^0.0.6" 182 | 183 | core-util-is@~1.0.0: 184 | version "1.0.2" 185 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 186 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 187 | 188 | cross-spawn@^6.0.0: 189 | version "6.0.5" 190 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 191 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 192 | dependencies: 193 | nice-try "^1.0.4" 194 | path-key "^2.0.1" 195 | semver "^5.5.0" 196 | shebang-command "^1.2.0" 197 | which "^1.2.9" 198 | 199 | debug@^2.0.0: 200 | version "2.6.9" 201 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 202 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 203 | dependencies: 204 | ms "2.0.0" 205 | 206 | deprecation@^2.0.0: 207 | version "2.3.1" 208 | resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" 209 | integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== 210 | 211 | detab@^1.0.0: 212 | version "1.0.2" 213 | resolved "https://registry.yarnpkg.com/detab/-/detab-1.0.2.tgz#01bc2a4abe7bc7cc67c3039808edbae47049a0ee" 214 | integrity sha1-AbwqSr57x8xnwwOYCO265HBJoO4= 215 | dependencies: 216 | repeat-string "^1.5.2" 217 | 218 | end-of-stream@^1.1.0: 219 | version "1.4.4" 220 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 221 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 222 | dependencies: 223 | once "^1.4.0" 224 | 225 | escape-string-regexp@^1.0.2: 226 | version "1.0.5" 227 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 228 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 229 | 230 | execa@^1.0.0: 231 | version "1.0.0" 232 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 233 | integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 234 | dependencies: 235 | cross-spawn "^6.0.0" 236 | get-stream "^4.0.0" 237 | is-stream "^1.1.0" 238 | npm-run-path "^2.0.0" 239 | p-finally "^1.0.0" 240 | signal-exit "^3.0.0" 241 | strip-eof "^1.0.0" 242 | 243 | get-stream@^4.0.0: 244 | version "4.1.0" 245 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 246 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 247 | dependencies: 248 | pump "^3.0.0" 249 | 250 | has-ansi@^2.0.0: 251 | version "2.0.0" 252 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 253 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 254 | dependencies: 255 | ansi-regex "^2.0.0" 256 | 257 | he@^0.5.0: 258 | version "0.5.0" 259 | resolved "https://registry.yarnpkg.com/he/-/he-0.5.0.tgz#2c05ffaef90b68e860f3fd2b54ef580989277ee2" 260 | integrity sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI= 261 | 262 | inherits@^2.0.3, inherits@~2.0.3: 263 | version "2.0.4" 264 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 265 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 266 | 267 | is-plain-object@^3.0.0: 268 | version "3.0.0" 269 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" 270 | integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== 271 | dependencies: 272 | isobject "^4.0.0" 273 | 274 | is-stream@^1.1.0: 275 | version "1.1.0" 276 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 277 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 278 | 279 | isarray@~1.0.0: 280 | version "1.0.0" 281 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 282 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 283 | 284 | isexe@^2.0.0: 285 | version "2.0.0" 286 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 287 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 288 | 289 | isobject@^4.0.0: 290 | version "4.0.0" 291 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" 292 | integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== 293 | 294 | lodash.get@^4.4.2: 295 | version "4.4.2" 296 | resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" 297 | integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= 298 | 299 | lodash.set@^4.3.2: 300 | version "4.3.2" 301 | resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" 302 | integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= 303 | 304 | lodash.uniq@^4.5.0: 305 | version "4.5.0" 306 | resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" 307 | integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= 308 | 309 | macos-release@^2.2.0: 310 | version "2.3.0" 311 | resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" 312 | integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== 313 | 314 | markdown-table@^0.4.0: 315 | version "0.4.0" 316 | resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-0.4.0.tgz#890c2c1b3bfe83fb00e4129b8e4cfe645270f9d1" 317 | integrity sha1-iQwsGzv+g/sA5BKbjkz+ZFJw+dE= 318 | 319 | mdast-html@^0.1.0: 320 | version "0.1.1" 321 | resolved "https://registry.yarnpkg.com/mdast-html/-/mdast-html-0.1.1.tgz#088bb0eab49d10986185d578da3752e925fddd56" 322 | integrity sha1-CIuw6rSdEJhhhdV42jdS6SX93VY= 323 | dependencies: 324 | collapse-white-space "^1.0.0" 325 | detab "^1.0.0" 326 | mdast-util-visit "^0.1.1" 327 | normalize-uri "^1.0.0" 328 | trim "0.0.1" 329 | trim-lines "^1.0.0" 330 | 331 | mdast-util-visit@^0.1.1: 332 | version "0.1.1" 333 | resolved "https://registry.yarnpkg.com/mdast-util-visit/-/mdast-util-visit-0.1.1.tgz#da5cb0aa18c008c7783ebc9fd9493d3afd00fe34" 334 | integrity sha1-2lywqhjACMd4Pryf2Uk9Ov0A/jQ= 335 | 336 | mdast@^0.26.0: 337 | version "0.26.2" 338 | resolved "https://registry.yarnpkg.com/mdast/-/mdast-0.26.2.tgz#9369af2353b298e5b9d9167d24aafdc8e5acb142" 339 | integrity sha1-k2mvI1OymOW52RZ9JKr9yOWssUI= 340 | dependencies: 341 | camelcase "^1.0.0" 342 | chalk "^1.0.0" 343 | commander "^2.0.0" 344 | concat-stream "^1.0.0" 345 | debug "^2.0.0" 346 | he "^0.5.0" 347 | markdown-table "^0.4.0" 348 | minimatch "^2.0.0" 349 | repeat-string "^1.5.0" 350 | text-table "^0.2.0" 351 | user-home "^2.0.0" 352 | ware "^1.2.0" 353 | 354 | mdjson@^2.0.1: 355 | version "2.0.1" 356 | resolved "https://registry.yarnpkg.com/mdjson/-/mdjson-2.0.1.tgz#42887df35bc2b2a15207dce4533fea3a48e44971" 357 | integrity sha1-Qoh981vCsqFSB9zkUz/qOkjkSXE= 358 | dependencies: 359 | mdast "^0.26.0" 360 | mdast-html "^0.1.0" 361 | 362 | minimatch@^2.0.0: 363 | version "2.0.10" 364 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" 365 | integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc= 366 | dependencies: 367 | brace-expansion "^1.0.0" 368 | 369 | ms@2.0.0: 370 | version "2.0.0" 371 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 372 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 373 | 374 | nice-try@^1.0.4: 375 | version "1.0.5" 376 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 377 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 378 | 379 | node-fetch@^2.3.0: 380 | version "2.6.0" 381 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" 382 | integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== 383 | 384 | normalize-uri@^1.0.0: 385 | version "1.1.2" 386 | resolved "https://registry.yarnpkg.com/normalize-uri/-/normalize-uri-1.1.2.tgz#a101eab7cf0a8784a164b57e58506432dd009ad4" 387 | integrity sha512-fHgUX0J9LLSfIQAX1jfn+E47Sh24eKm41flnEjLeMKL9VoW3z/QkOrlJqKbcnO5qWcKSH57o5nH+3V0NOXmvDw== 388 | 389 | npm-run-path@^2.0.0: 390 | version "2.0.2" 391 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 392 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 393 | dependencies: 394 | path-key "^2.0.0" 395 | 396 | octokit-pagination-methods@^1.1.0: 397 | version "1.1.0" 398 | resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" 399 | integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== 400 | 401 | once@^1.3.1, once@^1.4.0: 402 | version "1.4.0" 403 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 404 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 405 | dependencies: 406 | wrappy "1" 407 | 408 | os-homedir@^1.0.0: 409 | version "1.0.2" 410 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 411 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 412 | 413 | os-name@^3.1.0: 414 | version "3.1.0" 415 | resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" 416 | integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== 417 | dependencies: 418 | macos-release "^2.2.0" 419 | windows-release "^3.1.0" 420 | 421 | p-finally@^1.0.0: 422 | version "1.0.0" 423 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 424 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 425 | 426 | path-key@^2.0.0, path-key@^2.0.1: 427 | version "2.0.1" 428 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 429 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 430 | 431 | process-nextick-args@~2.0.0: 432 | version "2.0.1" 433 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 434 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 435 | 436 | pump@^3.0.0: 437 | version "3.0.0" 438 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 439 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 440 | dependencies: 441 | end-of-stream "^1.1.0" 442 | once "^1.3.1" 443 | 444 | readable-stream@^2.2.2: 445 | version "2.3.7" 446 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 447 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 448 | dependencies: 449 | core-util-is "~1.0.0" 450 | inherits "~2.0.3" 451 | isarray "~1.0.0" 452 | process-nextick-args "~2.0.0" 453 | safe-buffer "~5.1.1" 454 | string_decoder "~1.1.1" 455 | util-deprecate "~1.0.1" 456 | 457 | repeat-string@^1.5.0, repeat-string@^1.5.2: 458 | version "1.6.1" 459 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 460 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 461 | 462 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 463 | version "5.1.2" 464 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 465 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 466 | 467 | semver@^5.5.0: 468 | version "5.7.1" 469 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 470 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 471 | 472 | shebang-command@^1.2.0: 473 | version "1.2.0" 474 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 475 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 476 | dependencies: 477 | shebang-regex "^1.0.0" 478 | 479 | shebang-regex@^1.0.0: 480 | version "1.0.0" 481 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 482 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 483 | 484 | signal-exit@^3.0.0: 485 | version "3.0.2" 486 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 487 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 488 | 489 | string_decoder@~1.1.1: 490 | version "1.1.1" 491 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 492 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 493 | dependencies: 494 | safe-buffer "~5.1.0" 495 | 496 | strip-ansi@^3.0.0: 497 | version "3.0.1" 498 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 499 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 500 | dependencies: 501 | ansi-regex "^2.0.0" 502 | 503 | strip-eof@^1.0.0: 504 | version "1.0.0" 505 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 506 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 507 | 508 | supports-color@^2.0.0: 509 | version "2.0.0" 510 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 511 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 512 | 513 | text-table@^0.2.0: 514 | version "0.2.0" 515 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 516 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 517 | 518 | trim-lines@^1.0.0: 519 | version "1.1.2" 520 | resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.2.tgz#c8adbdbdae21bb5c2766240a661f693afe23e59b" 521 | integrity sha512-3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ== 522 | 523 | trim@0.0.1: 524 | version "0.0.1" 525 | resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" 526 | integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= 527 | 528 | typedarray@^0.0.6: 529 | version "0.0.6" 530 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 531 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 532 | 533 | universal-user-agent@^4.0.0: 534 | version "4.0.0" 535 | resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.0.tgz#27da2ec87e32769619f68a14996465ea1cb9df16" 536 | integrity sha512-eM8knLpev67iBDizr/YtqkJsF3GK8gzDc6st/WKzrTuPtcsOKW/0IdL4cnMBsU69pOx0otavLWBDGTwg+dB0aA== 537 | dependencies: 538 | os-name "^3.1.0" 539 | 540 | user-home@^2.0.0: 541 | version "2.0.0" 542 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" 543 | integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8= 544 | dependencies: 545 | os-homedir "^1.0.0" 546 | 547 | util-deprecate@~1.0.1: 548 | version "1.0.2" 549 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 550 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 551 | 552 | ware@^1.2.0: 553 | version "1.3.0" 554 | resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4" 555 | integrity sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q= 556 | dependencies: 557 | wrap-fn "^0.1.0" 558 | 559 | which@^1.2.9: 560 | version "1.3.1" 561 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 562 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 563 | dependencies: 564 | isexe "^2.0.0" 565 | 566 | windows-release@^3.1.0: 567 | version "3.2.0" 568 | resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" 569 | integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA== 570 | dependencies: 571 | execa "^1.0.0" 572 | 573 | wrap-fn@^0.1.0: 574 | version "0.1.5" 575 | resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845" 576 | integrity sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU= 577 | dependencies: 578 | co "3.1.0" 579 | 580 | wrappy@1: 581 | version "1.0.2" 582 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 583 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 584 | --------------------------------------------------------------------------------