├── README.md ├── .devcontainer ├── Dockerfile └── devcontainer.json ├── package.json ├── LICENSE ├── .gitignore ├── down-git.user.js └── pnpm-lock.yaml /README.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | #### :warning: This repo has been **abandoned** and moved to [mogeko/userscripts](https://github.com/mogeko/userscripts/tree/master/packages/down-git). :warning: 4 | 5 | --- 6 | 7 | # userscript-down-git 8 | 9 | Create GitHub Resource Download Link. 10 | -------------------------------------------------------------------------------- /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | # See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.231.6/containers/javascript-node/.devcontainer/base.Dockerfile 2 | 3 | # [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 16, 14, 12, 16-bullseye, 14-bullseye, 12-bullseye, 16-buster, 14-buster, 12-buster 4 | ARG VARIANT="16-bullseye" 5 | FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-${VARIANT} 6 | 7 | # [Optional] Uncomment this section to install additional OS packages. 8 | # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ 9 | # && apt-get -y install --no-install-recommends 10 | 11 | # [Optional] Uncomment if you want to install an additional version of node using nvm 12 | # ARG EXTRA_NODE_VERSION=10 13 | # RUN su node -c "source /usr/local/share/nvm/nvm.sh && nvm install ${EXTRA_NODE_VERSION}" 14 | 15 | # [Optional] Uncomment if you want to install more global node modules 16 | RUN su node -c "npm install -g pnpm" 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "down-git.user.js", 3 | "version": "0.0.1", 4 | "description": "Create GitHub Resource Download Link.", 5 | "main": "down-git.user.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "format": "eslint --fix --ext .js ." 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "git+https://github.com/mogeko/userscript-down-git.git" 13 | }, 14 | "keywords": [ 15 | "user-script" 16 | ], 17 | "author": "mogeko", 18 | "license": "MIT", 19 | "bugs": { 20 | "url": "https://github.com/mogeko/userscript-down-git/issues" 21 | }, 22 | "homepage": "https://github.com/mogeko/userscript-down-git#readme", 23 | "devDependencies": { 24 | "eslint": "^8.13.0", 25 | "eslint-plugin-prettier": "^4.0.0", 26 | "prettier": "^2.6.2" 27 | }, 28 | "eslintConfig": { 29 | "extends": "eslint:recommended", 30 | "env": { 31 | "browser": true, 32 | "es6": true 33 | }, 34 | "plugins": ["prettier"], 35 | "rules": { 36 | "prettier/prettier": "error" 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Mogeko 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 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: 2 | // https://github.com/microsoft/vscode-dev-containers/tree/v0.231.6/containers/javascript-node 3 | { 4 | "name": "Node.js", 5 | "build": { 6 | "dockerfile": "Dockerfile", 7 | // Update 'VARIANT' to pick a Node version: 16, 14, 12. 8 | // Append -bullseye or -buster to pin to an OS version. 9 | // Use -bullseye variants on local arm64/Apple Silicon. 10 | "args": { 11 | "VARIANT": "16-bullseye" 12 | } 13 | }, 14 | // Set *default* container specific settings.json values on container create. 15 | "settings": { 16 | "editor.tabSize": 2, 17 | }, 18 | // Add the IDs of extensions you want installed when the container is created. 19 | "extensions": [ 20 | "darxeal.tampermonkey-snippets", 21 | "dbaeumer.vscode-eslint", 22 | "esbenp.prettier-vscode" 23 | ], 24 | // Use 'forwardPorts' to make a list of ports inside the container available locally. 25 | // "forwardPorts": [], 26 | // Use 'postCreateCommand' to run commands after the container is created. 27 | // "postCreateCommand": "yarn install", 28 | // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. 29 | "remoteUser": "node" 30 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | -------------------------------------------------------------------------------- /down-git.user.js: -------------------------------------------------------------------------------- 1 | // ==UserScript== 2 | // @name DownGit 3 | // @namespace http://mogeko.me 4 | // @version 0.0.2 5 | // @description Create GitHub Resource Download Link. 6 | // @author mogeko 7 | // @match https://github.com/*/* 8 | // @match https://github.com/*/*/tree/*/* 9 | // @exclude https://github.com/*/*/blob/*/* 10 | // @icon https://github.githubassets.com/favicons/favicon.png 11 | // @run-at document-idle 12 | // @grant none 13 | // ==/UserScript== 14 | 15 | /** 16 | *
17 | *
, 18 | *
{{name}}
, 19 | *
{{message}}
, 20 | *
{time}
, 21 | *
22 | */ 23 | 24 | const svg_icon = ``; 25 | 26 | const downloader = (local_url) => { 27 | const meta = local_url.split("/").filter((str) => str); 28 | console.log(meta); 29 | if (meta[4] == "tree") { 30 | return `https://minhaskamal.github.io/DownGit/#/home?url=${local_url}`; 31 | } else if (meta[4] == "blob") { 32 | const file = meta.slice(6).join("/"); 33 | return `https://cdn.jsdelivr.net/gh/${meta[2]}/${meta[3]}@${meta[5]}/${file}`; 34 | } else { 35 | return local_url; 36 | } 37 | }; 38 | 39 | const getButton = (url_node, downloader) => { 40 | const div = document.createElement("div"); 41 | div.className = "mr-3 flex-shrink-0"; 42 | const a = document.createElement("a"); 43 | a.href = downloader(url_node.href); 44 | a.title = `Download ${url_node.innerHTML}`; 45 | a.innerHTML = svg_icon; 46 | div.appendChild(a); 47 | return div; 48 | }; 49 | 50 | (function () { 51 | "use strict"; 52 | 53 | const context = document.querySelectorAll("div.Box-row"); 54 | context.forEach((node) => { 55 | const url = node.querySelector("a"); 56 | const last_child = node.querySelector("div.text-right"); 57 | if (url.querySelector("span")) return; 58 | const button = getButton(url, downloader); 59 | node.insertBefore(button, last_child); 60 | }); 61 | })(); 62 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | specifiers: 4 | eslint: ^8.13.0 5 | eslint-plugin-prettier: ^4.0.0 6 | prettier: ^2.6.2 7 | 8 | devDependencies: 9 | eslint: 8.13.0 10 | eslint-plugin-prettier: 4.0.0_eslint@8.13.0+prettier@2.6.2 11 | prettier: 2.6.2 12 | 13 | packages: 14 | 15 | /@eslint/eslintrc/1.2.1: 16 | resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} 17 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 18 | dependencies: 19 | ajv: 6.12.6 20 | debug: 4.3.4 21 | espree: 9.3.1 22 | globals: 13.13.0 23 | ignore: 5.2.0 24 | import-fresh: 3.3.0 25 | js-yaml: 4.1.0 26 | minimatch: 3.1.2 27 | strip-json-comments: 3.1.1 28 | transitivePeerDependencies: 29 | - supports-color 30 | dev: true 31 | 32 | /@humanwhocodes/config-array/0.9.5: 33 | resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} 34 | engines: {node: '>=10.10.0'} 35 | dependencies: 36 | '@humanwhocodes/object-schema': 1.2.1 37 | debug: 4.3.4 38 | minimatch: 3.1.2 39 | transitivePeerDependencies: 40 | - supports-color 41 | dev: true 42 | 43 | /@humanwhocodes/object-schema/1.2.1: 44 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 45 | dev: true 46 | 47 | /acorn-jsx/5.3.2_acorn@8.7.0: 48 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 49 | peerDependencies: 50 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 51 | dependencies: 52 | acorn: 8.7.0 53 | dev: true 54 | 55 | /acorn/8.7.0: 56 | resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} 57 | engines: {node: '>=0.4.0'} 58 | hasBin: true 59 | dev: true 60 | 61 | /ajv/6.12.6: 62 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 63 | dependencies: 64 | fast-deep-equal: 3.1.3 65 | fast-json-stable-stringify: 2.1.0 66 | json-schema-traverse: 0.4.1 67 | uri-js: 4.4.1 68 | dev: true 69 | 70 | /ansi-regex/5.0.1: 71 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 72 | engines: {node: '>=8'} 73 | dev: true 74 | 75 | /ansi-styles/4.3.0: 76 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 77 | engines: {node: '>=8'} 78 | dependencies: 79 | color-convert: 2.0.1 80 | dev: true 81 | 82 | /argparse/2.0.1: 83 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 84 | dev: true 85 | 86 | /balanced-match/1.0.2: 87 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 88 | dev: true 89 | 90 | /brace-expansion/1.1.11: 91 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 92 | dependencies: 93 | balanced-match: 1.0.2 94 | concat-map: 0.0.1 95 | dev: true 96 | 97 | /callsites/3.1.0: 98 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 99 | engines: {node: '>=6'} 100 | dev: true 101 | 102 | /chalk/4.1.2: 103 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 104 | engines: {node: '>=10'} 105 | dependencies: 106 | ansi-styles: 4.3.0 107 | supports-color: 7.2.0 108 | dev: true 109 | 110 | /color-convert/2.0.1: 111 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 112 | engines: {node: '>=7.0.0'} 113 | dependencies: 114 | color-name: 1.1.4 115 | dev: true 116 | 117 | /color-name/1.1.4: 118 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 119 | dev: true 120 | 121 | /concat-map/0.0.1: 122 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 123 | dev: true 124 | 125 | /cross-spawn/7.0.3: 126 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 127 | engines: {node: '>= 8'} 128 | dependencies: 129 | path-key: 3.1.1 130 | shebang-command: 2.0.0 131 | which: 2.0.2 132 | dev: true 133 | 134 | /debug/4.3.4: 135 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 136 | engines: {node: '>=6.0'} 137 | peerDependencies: 138 | supports-color: '*' 139 | peerDependenciesMeta: 140 | supports-color: 141 | optional: true 142 | dependencies: 143 | ms: 2.1.2 144 | dev: true 145 | 146 | /deep-is/0.1.4: 147 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 148 | dev: true 149 | 150 | /doctrine/3.0.0: 151 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 152 | engines: {node: '>=6.0.0'} 153 | dependencies: 154 | esutils: 2.0.3 155 | dev: true 156 | 157 | /escape-string-regexp/4.0.0: 158 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 159 | engines: {node: '>=10'} 160 | dev: true 161 | 162 | /eslint-plugin-prettier/4.0.0_eslint@8.13.0+prettier@2.6.2: 163 | resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} 164 | engines: {node: '>=6.0.0'} 165 | peerDependencies: 166 | eslint: '>=7.28.0' 167 | eslint-config-prettier: '*' 168 | prettier: '>=2.0.0' 169 | peerDependenciesMeta: 170 | eslint-config-prettier: 171 | optional: true 172 | dependencies: 173 | eslint: 8.13.0 174 | prettier: 2.6.2 175 | prettier-linter-helpers: 1.0.0 176 | dev: true 177 | 178 | /eslint-scope/7.1.1: 179 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 180 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 181 | dependencies: 182 | esrecurse: 4.3.0 183 | estraverse: 5.3.0 184 | dev: true 185 | 186 | /eslint-utils/3.0.0_eslint@8.13.0: 187 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 188 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 189 | peerDependencies: 190 | eslint: '>=5' 191 | dependencies: 192 | eslint: 8.13.0 193 | eslint-visitor-keys: 2.1.0 194 | dev: true 195 | 196 | /eslint-visitor-keys/2.1.0: 197 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 198 | engines: {node: '>=10'} 199 | dev: true 200 | 201 | /eslint-visitor-keys/3.3.0: 202 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 203 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 204 | dev: true 205 | 206 | /eslint/8.13.0: 207 | resolution: {integrity: sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==} 208 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 209 | hasBin: true 210 | dependencies: 211 | '@eslint/eslintrc': 1.2.1 212 | '@humanwhocodes/config-array': 0.9.5 213 | ajv: 6.12.6 214 | chalk: 4.1.2 215 | cross-spawn: 7.0.3 216 | debug: 4.3.4 217 | doctrine: 3.0.0 218 | escape-string-regexp: 4.0.0 219 | eslint-scope: 7.1.1 220 | eslint-utils: 3.0.0_eslint@8.13.0 221 | eslint-visitor-keys: 3.3.0 222 | espree: 9.3.1 223 | esquery: 1.4.0 224 | esutils: 2.0.3 225 | fast-deep-equal: 3.1.3 226 | file-entry-cache: 6.0.1 227 | functional-red-black-tree: 1.0.1 228 | glob-parent: 6.0.2 229 | globals: 13.13.0 230 | ignore: 5.2.0 231 | import-fresh: 3.3.0 232 | imurmurhash: 0.1.4 233 | is-glob: 4.0.3 234 | js-yaml: 4.1.0 235 | json-stable-stringify-without-jsonify: 1.0.1 236 | levn: 0.4.1 237 | lodash.merge: 4.6.2 238 | minimatch: 3.1.2 239 | natural-compare: 1.4.0 240 | optionator: 0.9.1 241 | regexpp: 3.2.0 242 | strip-ansi: 6.0.1 243 | strip-json-comments: 3.1.1 244 | text-table: 0.2.0 245 | v8-compile-cache: 2.3.0 246 | transitivePeerDependencies: 247 | - supports-color 248 | dev: true 249 | 250 | /espree/9.3.1: 251 | resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} 252 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 253 | dependencies: 254 | acorn: 8.7.0 255 | acorn-jsx: 5.3.2_acorn@8.7.0 256 | eslint-visitor-keys: 3.3.0 257 | dev: true 258 | 259 | /esquery/1.4.0: 260 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} 261 | engines: {node: '>=0.10'} 262 | dependencies: 263 | estraverse: 5.3.0 264 | dev: true 265 | 266 | /esrecurse/4.3.0: 267 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 268 | engines: {node: '>=4.0'} 269 | dependencies: 270 | estraverse: 5.3.0 271 | dev: true 272 | 273 | /estraverse/5.3.0: 274 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 275 | engines: {node: '>=4.0'} 276 | dev: true 277 | 278 | /esutils/2.0.3: 279 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 280 | engines: {node: '>=0.10.0'} 281 | dev: true 282 | 283 | /fast-deep-equal/3.1.3: 284 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 285 | dev: true 286 | 287 | /fast-diff/1.2.0: 288 | resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} 289 | dev: true 290 | 291 | /fast-json-stable-stringify/2.1.0: 292 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 293 | dev: true 294 | 295 | /fast-levenshtein/2.0.6: 296 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} 297 | dev: true 298 | 299 | /file-entry-cache/6.0.1: 300 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 301 | engines: {node: ^10.12.0 || >=12.0.0} 302 | dependencies: 303 | flat-cache: 3.0.4 304 | dev: true 305 | 306 | /flat-cache/3.0.4: 307 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 308 | engines: {node: ^10.12.0 || >=12.0.0} 309 | dependencies: 310 | flatted: 3.2.5 311 | rimraf: 3.0.2 312 | dev: true 313 | 314 | /flatted/3.2.5: 315 | resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} 316 | dev: true 317 | 318 | /fs.realpath/1.0.0: 319 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 320 | dev: true 321 | 322 | /functional-red-black-tree/1.0.1: 323 | resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} 324 | dev: true 325 | 326 | /glob-parent/6.0.2: 327 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 328 | engines: {node: '>=10.13.0'} 329 | dependencies: 330 | is-glob: 4.0.3 331 | dev: true 332 | 333 | /glob/7.2.0: 334 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} 335 | dependencies: 336 | fs.realpath: 1.0.0 337 | inflight: 1.0.6 338 | inherits: 2.0.4 339 | minimatch: 3.1.2 340 | once: 1.4.0 341 | path-is-absolute: 1.0.1 342 | dev: true 343 | 344 | /globals/13.13.0: 345 | resolution: {integrity: sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==} 346 | engines: {node: '>=8'} 347 | dependencies: 348 | type-fest: 0.20.2 349 | dev: true 350 | 351 | /has-flag/4.0.0: 352 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 353 | engines: {node: '>=8'} 354 | dev: true 355 | 356 | /ignore/5.2.0: 357 | resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} 358 | engines: {node: '>= 4'} 359 | dev: true 360 | 361 | /import-fresh/3.3.0: 362 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 363 | engines: {node: '>=6'} 364 | dependencies: 365 | parent-module: 1.0.1 366 | resolve-from: 4.0.0 367 | dev: true 368 | 369 | /imurmurhash/0.1.4: 370 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} 371 | engines: {node: '>=0.8.19'} 372 | dev: true 373 | 374 | /inflight/1.0.6: 375 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 376 | dependencies: 377 | once: 1.4.0 378 | wrappy: 1.0.2 379 | dev: true 380 | 381 | /inherits/2.0.4: 382 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 383 | dev: true 384 | 385 | /is-extglob/2.1.1: 386 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} 387 | engines: {node: '>=0.10.0'} 388 | dev: true 389 | 390 | /is-glob/4.0.3: 391 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 392 | engines: {node: '>=0.10.0'} 393 | dependencies: 394 | is-extglob: 2.1.1 395 | dev: true 396 | 397 | /isexe/2.0.0: 398 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} 399 | dev: true 400 | 401 | /js-yaml/4.1.0: 402 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 403 | hasBin: true 404 | dependencies: 405 | argparse: 2.0.1 406 | dev: true 407 | 408 | /json-schema-traverse/0.4.1: 409 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 410 | dev: true 411 | 412 | /json-stable-stringify-without-jsonify/1.0.1: 413 | resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} 414 | dev: true 415 | 416 | /levn/0.4.1: 417 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 418 | engines: {node: '>= 0.8.0'} 419 | dependencies: 420 | prelude-ls: 1.2.1 421 | type-check: 0.4.0 422 | dev: true 423 | 424 | /lodash.merge/4.6.2: 425 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 426 | dev: true 427 | 428 | /minimatch/3.1.2: 429 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 430 | dependencies: 431 | brace-expansion: 1.1.11 432 | dev: true 433 | 434 | /ms/2.1.2: 435 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 436 | dev: true 437 | 438 | /natural-compare/1.4.0: 439 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} 440 | dev: true 441 | 442 | /once/1.4.0: 443 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 444 | dependencies: 445 | wrappy: 1.0.2 446 | dev: true 447 | 448 | /optionator/0.9.1: 449 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 450 | engines: {node: '>= 0.8.0'} 451 | dependencies: 452 | deep-is: 0.1.4 453 | fast-levenshtein: 2.0.6 454 | levn: 0.4.1 455 | prelude-ls: 1.2.1 456 | type-check: 0.4.0 457 | word-wrap: 1.2.3 458 | dev: true 459 | 460 | /parent-module/1.0.1: 461 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 462 | engines: {node: '>=6'} 463 | dependencies: 464 | callsites: 3.1.0 465 | dev: true 466 | 467 | /path-is-absolute/1.0.1: 468 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 469 | engines: {node: '>=0.10.0'} 470 | dev: true 471 | 472 | /path-key/3.1.1: 473 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 474 | engines: {node: '>=8'} 475 | dev: true 476 | 477 | /prelude-ls/1.2.1: 478 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 479 | engines: {node: '>= 0.8.0'} 480 | dev: true 481 | 482 | /prettier-linter-helpers/1.0.0: 483 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 484 | engines: {node: '>=6.0.0'} 485 | dependencies: 486 | fast-diff: 1.2.0 487 | dev: true 488 | 489 | /prettier/2.6.2: 490 | resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} 491 | engines: {node: '>=10.13.0'} 492 | hasBin: true 493 | dev: true 494 | 495 | /punycode/2.1.1: 496 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 497 | engines: {node: '>=6'} 498 | dev: true 499 | 500 | /regexpp/3.2.0: 501 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 502 | engines: {node: '>=8'} 503 | dev: true 504 | 505 | /resolve-from/4.0.0: 506 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 507 | engines: {node: '>=4'} 508 | dev: true 509 | 510 | /rimraf/3.0.2: 511 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 512 | hasBin: true 513 | dependencies: 514 | glob: 7.2.0 515 | dev: true 516 | 517 | /shebang-command/2.0.0: 518 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 519 | engines: {node: '>=8'} 520 | dependencies: 521 | shebang-regex: 3.0.0 522 | dev: true 523 | 524 | /shebang-regex/3.0.0: 525 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 526 | engines: {node: '>=8'} 527 | dev: true 528 | 529 | /strip-ansi/6.0.1: 530 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 531 | engines: {node: '>=8'} 532 | dependencies: 533 | ansi-regex: 5.0.1 534 | dev: true 535 | 536 | /strip-json-comments/3.1.1: 537 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 538 | engines: {node: '>=8'} 539 | dev: true 540 | 541 | /supports-color/7.2.0: 542 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 543 | engines: {node: '>=8'} 544 | dependencies: 545 | has-flag: 4.0.0 546 | dev: true 547 | 548 | /text-table/0.2.0: 549 | resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} 550 | dev: true 551 | 552 | /type-check/0.4.0: 553 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 554 | engines: {node: '>= 0.8.0'} 555 | dependencies: 556 | prelude-ls: 1.2.1 557 | dev: true 558 | 559 | /type-fest/0.20.2: 560 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 561 | engines: {node: '>=10'} 562 | dev: true 563 | 564 | /uri-js/4.4.1: 565 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 566 | dependencies: 567 | punycode: 2.1.1 568 | dev: true 569 | 570 | /v8-compile-cache/2.3.0: 571 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} 572 | dev: true 573 | 574 | /which/2.0.2: 575 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 576 | engines: {node: '>= 8'} 577 | hasBin: true 578 | dependencies: 579 | isexe: 2.0.0 580 | dev: true 581 | 582 | /word-wrap/1.2.3: 583 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 584 | engines: {node: '>=0.10.0'} 585 | dev: true 586 | 587 | /wrappy/1.0.2: 588 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 589 | dev: true 590 | --------------------------------------------------------------------------------