├── .gitattributes ├── .gitignore ├── .vscode └── launch.json ├── .vscodeignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── package-lock.json ├── package.json ├── screenshot2.png ├── themes ├── Batsignal-color-theme.json └── Batsignal-light-color-theme.json └── vsc-extension-quickstart.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set default behavior to automatically normalize line endings. 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.vsix 3 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "args": [ 13 | "--extensionDevelopmentPath=${workspaceFolder}" 14 | ] 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | .vscode/** 2 | .vscode-test/** 3 | .gitignore 4 | vsc-extension-quickstart.md 5 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to the "duochrome" extension will be documented in this file. 4 | 5 | Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. 6 | 7 | ## [Unreleased] 8 | 9 | - Initial release 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Nate Wienert 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 | 23 | --- 24 | 25 | MIT License 26 | 27 | Copyright (c) 2020 Modulz 28 | 29 | Permission is hereby granted, free of charge, to any person obtaining a copy 30 | of this software and associated documentation files (the "Software"), to deal 31 | in the Software without restriction, including without limitation the rights 32 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 33 | copies of the Software, and to permit persons to whom the Software is 34 | furnished to do so, subject to the following conditions: 35 | 36 | The above copyright notice and this permission notice shall be included in all 37 | copies or substantial portions of the Software. 38 | 39 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 40 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 41 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 42 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 43 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 44 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 45 | SOFTWARE. 46 | 47 | --- 48 | 49 | The MIT License (MIT) 50 | 51 | Copyright (c) 2021 Vercel, Inc. 52 | 53 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 54 | 55 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 56 | 57 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 58 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Batsignal 2 | 3 | A lifesaving dark theme. 4 | 5 | ![Batsignal screenshot](screenshot2.png) 6 | 7 | [VSCode Extension](https://marketplace.visualstudio.com/items?itemName=tamagui.batsignal) 8 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "batsignal", 3 | "version": "0.0.9", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "batsignal", 9 | "version": "0.0.9", 10 | "license": "MIT", 11 | "devDependencies": { 12 | "@vscode/vsce": "^2.20.1" 13 | }, 14 | "engines": { 15 | "vscode": "^1.75.0" 16 | } 17 | }, 18 | "node_modules/@vscode/vsce": { 19 | "version": "2.20.1", 20 | "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.20.1.tgz", 21 | "integrity": "sha512-ilbvoqvR/1/zseRPBAzYR6aKqSJ+jvda4/BqIwOqTxajpvLtEpK3kMLs77+dJdrlygS+VrP7Yhad8j0ukyD96g==", 22 | "dev": true, 23 | "dependencies": { 24 | "azure-devops-node-api": "^11.0.1", 25 | "chalk": "^2.4.2", 26 | "cheerio": "^1.0.0-rc.9", 27 | "commander": "^6.1.0", 28 | "glob": "^7.0.6", 29 | "hosted-git-info": "^4.0.2", 30 | "jsonc-parser": "^3.2.0", 31 | "leven": "^3.1.0", 32 | "markdown-it": "^12.3.2", 33 | "mime": "^1.3.4", 34 | "minimatch": "^3.0.3", 35 | "parse-semver": "^1.1.1", 36 | "read": "^1.0.7", 37 | "semver": "^7.5.2", 38 | "tmp": "^0.2.1", 39 | "typed-rest-client": "^1.8.4", 40 | "url-join": "^4.0.1", 41 | "xml2js": "^0.5.0", 42 | "yauzl": "^2.3.1", 43 | "yazl": "^2.2.2" 44 | }, 45 | "bin": { 46 | "vsce": "vsce" 47 | }, 48 | "engines": { 49 | "node": ">= 14" 50 | }, 51 | "optionalDependencies": { 52 | "keytar": "^7.7.0" 53 | } 54 | }, 55 | "node_modules/ansi-styles": { 56 | "version": "3.2.1", 57 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 58 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 59 | "dev": true, 60 | "dependencies": { 61 | "color-convert": "^1.9.0" 62 | }, 63 | "engines": { 64 | "node": ">=4" 65 | } 66 | }, 67 | "node_modules/argparse": { 68 | "version": "2.0.1", 69 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 70 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 71 | "dev": true 72 | }, 73 | "node_modules/azure-devops-node-api": { 74 | "version": "11.2.0", 75 | "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", 76 | "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", 77 | "dev": true, 78 | "dependencies": { 79 | "tunnel": "0.0.6", 80 | "typed-rest-client": "^1.8.4" 81 | } 82 | }, 83 | "node_modules/balanced-match": { 84 | "version": "1.0.2", 85 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 86 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 87 | "dev": true 88 | }, 89 | "node_modules/base64-js": { 90 | "version": "1.5.1", 91 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 92 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 93 | "dev": true, 94 | "funding": [ 95 | { 96 | "type": "github", 97 | "url": "https://github.com/sponsors/feross" 98 | }, 99 | { 100 | "type": "patreon", 101 | "url": "https://www.patreon.com/feross" 102 | }, 103 | { 104 | "type": "consulting", 105 | "url": "https://feross.org/support" 106 | } 107 | ], 108 | "optional": true 109 | }, 110 | "node_modules/bl": { 111 | "version": "4.1.0", 112 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 113 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 114 | "dev": true, 115 | "optional": true, 116 | "dependencies": { 117 | "buffer": "^5.5.0", 118 | "inherits": "^2.0.4", 119 | "readable-stream": "^3.4.0" 120 | } 121 | }, 122 | "node_modules/boolbase": { 123 | "version": "1.0.0", 124 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 125 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 126 | "dev": true 127 | }, 128 | "node_modules/brace-expansion": { 129 | "version": "1.1.11", 130 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 131 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 132 | "dev": true, 133 | "dependencies": { 134 | "balanced-match": "^1.0.0", 135 | "concat-map": "0.0.1" 136 | } 137 | }, 138 | "node_modules/buffer": { 139 | "version": "5.7.1", 140 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 141 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 142 | "dev": true, 143 | "funding": [ 144 | { 145 | "type": "github", 146 | "url": "https://github.com/sponsors/feross" 147 | }, 148 | { 149 | "type": "patreon", 150 | "url": "https://www.patreon.com/feross" 151 | }, 152 | { 153 | "type": "consulting", 154 | "url": "https://feross.org/support" 155 | } 156 | ], 157 | "optional": true, 158 | "dependencies": { 159 | "base64-js": "^1.3.1", 160 | "ieee754": "^1.1.13" 161 | } 162 | }, 163 | "node_modules/buffer-crc32": { 164 | "version": "0.2.13", 165 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 166 | "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", 167 | "dev": true, 168 | "engines": { 169 | "node": "*" 170 | } 171 | }, 172 | "node_modules/call-bind": { 173 | "version": "1.0.2", 174 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 175 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 176 | "dev": true, 177 | "dependencies": { 178 | "function-bind": "^1.1.1", 179 | "get-intrinsic": "^1.0.2" 180 | }, 181 | "funding": { 182 | "url": "https://github.com/sponsors/ljharb" 183 | } 184 | }, 185 | "node_modules/chalk": { 186 | "version": "2.4.2", 187 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 188 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 189 | "dev": true, 190 | "dependencies": { 191 | "ansi-styles": "^3.2.1", 192 | "escape-string-regexp": "^1.0.5", 193 | "supports-color": "^5.3.0" 194 | }, 195 | "engines": { 196 | "node": ">=4" 197 | } 198 | }, 199 | "node_modules/cheerio": { 200 | "version": "1.0.0-rc.12", 201 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", 202 | "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", 203 | "dev": true, 204 | "dependencies": { 205 | "cheerio-select": "^2.1.0", 206 | "dom-serializer": "^2.0.0", 207 | "domhandler": "^5.0.3", 208 | "domutils": "^3.0.1", 209 | "htmlparser2": "^8.0.1", 210 | "parse5": "^7.0.0", 211 | "parse5-htmlparser2-tree-adapter": "^7.0.0" 212 | }, 213 | "engines": { 214 | "node": ">= 6" 215 | }, 216 | "funding": { 217 | "url": "https://github.com/cheeriojs/cheerio?sponsor=1" 218 | } 219 | }, 220 | "node_modules/cheerio-select": { 221 | "version": "2.1.0", 222 | "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", 223 | "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", 224 | "dev": true, 225 | "dependencies": { 226 | "boolbase": "^1.0.0", 227 | "css-select": "^5.1.0", 228 | "css-what": "^6.1.0", 229 | "domelementtype": "^2.3.0", 230 | "domhandler": "^5.0.3", 231 | "domutils": "^3.0.1" 232 | }, 233 | "funding": { 234 | "url": "https://github.com/sponsors/fb55" 235 | } 236 | }, 237 | "node_modules/chownr": { 238 | "version": "1.1.4", 239 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 240 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 241 | "dev": true, 242 | "optional": true 243 | }, 244 | "node_modules/color-convert": { 245 | "version": "1.9.3", 246 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 247 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 248 | "dev": true, 249 | "dependencies": { 250 | "color-name": "1.1.3" 251 | } 252 | }, 253 | "node_modules/color-name": { 254 | "version": "1.1.3", 255 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 256 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 257 | "dev": true 258 | }, 259 | "node_modules/commander": { 260 | "version": "6.2.1", 261 | "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", 262 | "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", 263 | "dev": true, 264 | "engines": { 265 | "node": ">= 6" 266 | } 267 | }, 268 | "node_modules/concat-map": { 269 | "version": "0.0.1", 270 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 271 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 272 | "dev": true 273 | }, 274 | "node_modules/css-select": { 275 | "version": "5.1.0", 276 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", 277 | "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", 278 | "dev": true, 279 | "dependencies": { 280 | "boolbase": "^1.0.0", 281 | "css-what": "^6.1.0", 282 | "domhandler": "^5.0.2", 283 | "domutils": "^3.0.1", 284 | "nth-check": "^2.0.1" 285 | }, 286 | "funding": { 287 | "url": "https://github.com/sponsors/fb55" 288 | } 289 | }, 290 | "node_modules/css-what": { 291 | "version": "6.1.0", 292 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 293 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 294 | "dev": true, 295 | "engines": { 296 | "node": ">= 6" 297 | }, 298 | "funding": { 299 | "url": "https://github.com/sponsors/fb55" 300 | } 301 | }, 302 | "node_modules/decompress-response": { 303 | "version": "6.0.0", 304 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 305 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 306 | "dev": true, 307 | "optional": true, 308 | "dependencies": { 309 | "mimic-response": "^3.1.0" 310 | }, 311 | "engines": { 312 | "node": ">=10" 313 | }, 314 | "funding": { 315 | "url": "https://github.com/sponsors/sindresorhus" 316 | } 317 | }, 318 | "node_modules/deep-extend": { 319 | "version": "0.6.0", 320 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 321 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 322 | "dev": true, 323 | "optional": true, 324 | "engines": { 325 | "node": ">=4.0.0" 326 | } 327 | }, 328 | "node_modules/detect-libc": { 329 | "version": "2.0.2", 330 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", 331 | "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", 332 | "dev": true, 333 | "optional": true, 334 | "engines": { 335 | "node": ">=8" 336 | } 337 | }, 338 | "node_modules/dom-serializer": { 339 | "version": "2.0.0", 340 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 341 | "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 342 | "dev": true, 343 | "dependencies": { 344 | "domelementtype": "^2.3.0", 345 | "domhandler": "^5.0.2", 346 | "entities": "^4.2.0" 347 | }, 348 | "funding": { 349 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 350 | } 351 | }, 352 | "node_modules/domelementtype": { 353 | "version": "2.3.0", 354 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 355 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 356 | "dev": true, 357 | "funding": [ 358 | { 359 | "type": "github", 360 | "url": "https://github.com/sponsors/fb55" 361 | } 362 | ] 363 | }, 364 | "node_modules/domhandler": { 365 | "version": "5.0.3", 366 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 367 | "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 368 | "dev": true, 369 | "dependencies": { 370 | "domelementtype": "^2.3.0" 371 | }, 372 | "engines": { 373 | "node": ">= 4" 374 | }, 375 | "funding": { 376 | "url": "https://github.com/fb55/domhandler?sponsor=1" 377 | } 378 | }, 379 | "node_modules/domutils": { 380 | "version": "3.1.0", 381 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", 382 | "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", 383 | "dev": true, 384 | "dependencies": { 385 | "dom-serializer": "^2.0.0", 386 | "domelementtype": "^2.3.0", 387 | "domhandler": "^5.0.3" 388 | }, 389 | "funding": { 390 | "url": "https://github.com/fb55/domutils?sponsor=1" 391 | } 392 | }, 393 | "node_modules/end-of-stream": { 394 | "version": "1.4.4", 395 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 396 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 397 | "dev": true, 398 | "optional": true, 399 | "dependencies": { 400 | "once": "^1.4.0" 401 | } 402 | }, 403 | "node_modules/entities": { 404 | "version": "4.5.0", 405 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 406 | "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 407 | "dev": true, 408 | "engines": { 409 | "node": ">=0.12" 410 | }, 411 | "funding": { 412 | "url": "https://github.com/fb55/entities?sponsor=1" 413 | } 414 | }, 415 | "node_modules/escape-string-regexp": { 416 | "version": "1.0.5", 417 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 418 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 419 | "dev": true, 420 | "engines": { 421 | "node": ">=0.8.0" 422 | } 423 | }, 424 | "node_modules/expand-template": { 425 | "version": "2.0.3", 426 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 427 | "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 428 | "dev": true, 429 | "optional": true, 430 | "engines": { 431 | "node": ">=6" 432 | } 433 | }, 434 | "node_modules/fd-slicer": { 435 | "version": "1.1.0", 436 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 437 | "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", 438 | "dev": true, 439 | "dependencies": { 440 | "pend": "~1.2.0" 441 | } 442 | }, 443 | "node_modules/fs-constants": { 444 | "version": "1.0.0", 445 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 446 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 447 | "dev": true, 448 | "optional": true 449 | }, 450 | "node_modules/fs.realpath": { 451 | "version": "1.0.0", 452 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 453 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 454 | "dev": true 455 | }, 456 | "node_modules/function-bind": { 457 | "version": "1.1.1", 458 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 459 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 460 | "dev": true 461 | }, 462 | "node_modules/get-intrinsic": { 463 | "version": "1.2.1", 464 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", 465 | "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", 466 | "dev": true, 467 | "dependencies": { 468 | "function-bind": "^1.1.1", 469 | "has": "^1.0.3", 470 | "has-proto": "^1.0.1", 471 | "has-symbols": "^1.0.3" 472 | }, 473 | "funding": { 474 | "url": "https://github.com/sponsors/ljharb" 475 | } 476 | }, 477 | "node_modules/github-from-package": { 478 | "version": "0.0.0", 479 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 480 | "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", 481 | "dev": true, 482 | "optional": true 483 | }, 484 | "node_modules/glob": { 485 | "version": "7.2.3", 486 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 487 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 488 | "dev": true, 489 | "dependencies": { 490 | "fs.realpath": "^1.0.0", 491 | "inflight": "^1.0.4", 492 | "inherits": "2", 493 | "minimatch": "^3.1.1", 494 | "once": "^1.3.0", 495 | "path-is-absolute": "^1.0.0" 496 | }, 497 | "engines": { 498 | "node": "*" 499 | }, 500 | "funding": { 501 | "url": "https://github.com/sponsors/isaacs" 502 | } 503 | }, 504 | "node_modules/has": { 505 | "version": "1.0.3", 506 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 507 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 508 | "dev": true, 509 | "dependencies": { 510 | "function-bind": "^1.1.1" 511 | }, 512 | "engines": { 513 | "node": ">= 0.4.0" 514 | } 515 | }, 516 | "node_modules/has-flag": { 517 | "version": "3.0.0", 518 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 519 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 520 | "dev": true, 521 | "engines": { 522 | "node": ">=4" 523 | } 524 | }, 525 | "node_modules/has-proto": { 526 | "version": "1.0.1", 527 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", 528 | "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", 529 | "dev": true, 530 | "engines": { 531 | "node": ">= 0.4" 532 | }, 533 | "funding": { 534 | "url": "https://github.com/sponsors/ljharb" 535 | } 536 | }, 537 | "node_modules/has-symbols": { 538 | "version": "1.0.3", 539 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 540 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 541 | "dev": true, 542 | "engines": { 543 | "node": ">= 0.4" 544 | }, 545 | "funding": { 546 | "url": "https://github.com/sponsors/ljharb" 547 | } 548 | }, 549 | "node_modules/hosted-git-info": { 550 | "version": "4.1.0", 551 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", 552 | "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", 553 | "dev": true, 554 | "dependencies": { 555 | "lru-cache": "^6.0.0" 556 | }, 557 | "engines": { 558 | "node": ">=10" 559 | } 560 | }, 561 | "node_modules/htmlparser2": { 562 | "version": "8.0.2", 563 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", 564 | "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", 565 | "dev": true, 566 | "funding": [ 567 | "https://github.com/fb55/htmlparser2?sponsor=1", 568 | { 569 | "type": "github", 570 | "url": "https://github.com/sponsors/fb55" 571 | } 572 | ], 573 | "dependencies": { 574 | "domelementtype": "^2.3.0", 575 | "domhandler": "^5.0.3", 576 | "domutils": "^3.0.1", 577 | "entities": "^4.4.0" 578 | } 579 | }, 580 | "node_modules/ieee754": { 581 | "version": "1.2.1", 582 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 583 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 584 | "dev": true, 585 | "funding": [ 586 | { 587 | "type": "github", 588 | "url": "https://github.com/sponsors/feross" 589 | }, 590 | { 591 | "type": "patreon", 592 | "url": "https://www.patreon.com/feross" 593 | }, 594 | { 595 | "type": "consulting", 596 | "url": "https://feross.org/support" 597 | } 598 | ], 599 | "optional": true 600 | }, 601 | "node_modules/inflight": { 602 | "version": "1.0.6", 603 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 604 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 605 | "dev": true, 606 | "dependencies": { 607 | "once": "^1.3.0", 608 | "wrappy": "1" 609 | } 610 | }, 611 | "node_modules/inherits": { 612 | "version": "2.0.4", 613 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 614 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 615 | "dev": true 616 | }, 617 | "node_modules/ini": { 618 | "version": "1.3.8", 619 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 620 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 621 | "dev": true, 622 | "optional": true 623 | }, 624 | "node_modules/jsonc-parser": { 625 | "version": "3.2.0", 626 | "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", 627 | "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", 628 | "dev": true 629 | }, 630 | "node_modules/keytar": { 631 | "version": "7.9.0", 632 | "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz", 633 | "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", 634 | "dev": true, 635 | "hasInstallScript": true, 636 | "optional": true, 637 | "dependencies": { 638 | "node-addon-api": "^4.3.0", 639 | "prebuild-install": "^7.0.1" 640 | } 641 | }, 642 | "node_modules/leven": { 643 | "version": "3.1.0", 644 | "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", 645 | "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", 646 | "dev": true, 647 | "engines": { 648 | "node": ">=6" 649 | } 650 | }, 651 | "node_modules/linkify-it": { 652 | "version": "3.0.3", 653 | "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", 654 | "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", 655 | "dev": true, 656 | "dependencies": { 657 | "uc.micro": "^1.0.1" 658 | } 659 | }, 660 | "node_modules/lru-cache": { 661 | "version": "6.0.0", 662 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 663 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 664 | "dev": true, 665 | "dependencies": { 666 | "yallist": "^4.0.0" 667 | }, 668 | "engines": { 669 | "node": ">=10" 670 | } 671 | }, 672 | "node_modules/markdown-it": { 673 | "version": "12.3.2", 674 | "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", 675 | "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", 676 | "dev": true, 677 | "dependencies": { 678 | "argparse": "^2.0.1", 679 | "entities": "~2.1.0", 680 | "linkify-it": "^3.0.1", 681 | "mdurl": "^1.0.1", 682 | "uc.micro": "^1.0.5" 683 | }, 684 | "bin": { 685 | "markdown-it": "bin/markdown-it.js" 686 | } 687 | }, 688 | "node_modules/markdown-it/node_modules/entities": { 689 | "version": "2.1.0", 690 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", 691 | "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", 692 | "dev": true, 693 | "funding": { 694 | "url": "https://github.com/fb55/entities?sponsor=1" 695 | } 696 | }, 697 | "node_modules/mdurl": { 698 | "version": "1.0.1", 699 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 700 | "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", 701 | "dev": true 702 | }, 703 | "node_modules/mime": { 704 | "version": "1.6.0", 705 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 706 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 707 | "dev": true, 708 | "bin": { 709 | "mime": "cli.js" 710 | }, 711 | "engines": { 712 | "node": ">=4" 713 | } 714 | }, 715 | "node_modules/mimic-response": { 716 | "version": "3.1.0", 717 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 718 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 719 | "dev": true, 720 | "optional": true, 721 | "engines": { 722 | "node": ">=10" 723 | }, 724 | "funding": { 725 | "url": "https://github.com/sponsors/sindresorhus" 726 | } 727 | }, 728 | "node_modules/minimatch": { 729 | "version": "3.1.2", 730 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 731 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 732 | "dev": true, 733 | "dependencies": { 734 | "brace-expansion": "^1.1.7" 735 | }, 736 | "engines": { 737 | "node": "*" 738 | } 739 | }, 740 | "node_modules/minimist": { 741 | "version": "1.2.8", 742 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 743 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 744 | "dev": true, 745 | "optional": true, 746 | "funding": { 747 | "url": "https://github.com/sponsors/ljharb" 748 | } 749 | }, 750 | "node_modules/mkdirp-classic": { 751 | "version": "0.5.3", 752 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 753 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 754 | "dev": true, 755 | "optional": true 756 | }, 757 | "node_modules/mute-stream": { 758 | "version": "0.0.8", 759 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 760 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", 761 | "dev": true 762 | }, 763 | "node_modules/napi-build-utils": { 764 | "version": "1.0.2", 765 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", 766 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", 767 | "dev": true, 768 | "optional": true 769 | }, 770 | "node_modules/node-abi": { 771 | "version": "3.47.0", 772 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz", 773 | "integrity": "sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==", 774 | "dev": true, 775 | "optional": true, 776 | "dependencies": { 777 | "semver": "^7.3.5" 778 | }, 779 | "engines": { 780 | "node": ">=10" 781 | } 782 | }, 783 | "node_modules/node-addon-api": { 784 | "version": "4.3.0", 785 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", 786 | "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", 787 | "dev": true, 788 | "optional": true 789 | }, 790 | "node_modules/nth-check": { 791 | "version": "2.1.1", 792 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 793 | "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 794 | "dev": true, 795 | "dependencies": { 796 | "boolbase": "^1.0.0" 797 | }, 798 | "funding": { 799 | "url": "https://github.com/fb55/nth-check?sponsor=1" 800 | } 801 | }, 802 | "node_modules/object-inspect": { 803 | "version": "1.12.3", 804 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", 805 | "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", 806 | "dev": true, 807 | "funding": { 808 | "url": "https://github.com/sponsors/ljharb" 809 | } 810 | }, 811 | "node_modules/once": { 812 | "version": "1.4.0", 813 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 814 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 815 | "dev": true, 816 | "dependencies": { 817 | "wrappy": "1" 818 | } 819 | }, 820 | "node_modules/parse-semver": { 821 | "version": "1.1.1", 822 | "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", 823 | "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", 824 | "dev": true, 825 | "dependencies": { 826 | "semver": "^5.1.0" 827 | } 828 | }, 829 | "node_modules/parse-semver/node_modules/semver": { 830 | "version": "5.7.2", 831 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", 832 | "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", 833 | "dev": true, 834 | "bin": { 835 | "semver": "bin/semver" 836 | } 837 | }, 838 | "node_modules/parse5": { 839 | "version": "7.1.2", 840 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", 841 | "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", 842 | "dev": true, 843 | "dependencies": { 844 | "entities": "^4.4.0" 845 | }, 846 | "funding": { 847 | "url": "https://github.com/inikulin/parse5?sponsor=1" 848 | } 849 | }, 850 | "node_modules/parse5-htmlparser2-tree-adapter": { 851 | "version": "7.0.0", 852 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", 853 | "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", 854 | "dev": true, 855 | "dependencies": { 856 | "domhandler": "^5.0.2", 857 | "parse5": "^7.0.0" 858 | }, 859 | "funding": { 860 | "url": "https://github.com/inikulin/parse5?sponsor=1" 861 | } 862 | }, 863 | "node_modules/path-is-absolute": { 864 | "version": "1.0.1", 865 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 866 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 867 | "dev": true, 868 | "engines": { 869 | "node": ">=0.10.0" 870 | } 871 | }, 872 | "node_modules/pend": { 873 | "version": "1.2.0", 874 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 875 | "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", 876 | "dev": true 877 | }, 878 | "node_modules/prebuild-install": { 879 | "version": "7.1.1", 880 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", 881 | "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", 882 | "dev": true, 883 | "optional": true, 884 | "dependencies": { 885 | "detect-libc": "^2.0.0", 886 | "expand-template": "^2.0.3", 887 | "github-from-package": "0.0.0", 888 | "minimist": "^1.2.3", 889 | "mkdirp-classic": "^0.5.3", 890 | "napi-build-utils": "^1.0.1", 891 | "node-abi": "^3.3.0", 892 | "pump": "^3.0.0", 893 | "rc": "^1.2.7", 894 | "simple-get": "^4.0.0", 895 | "tar-fs": "^2.0.0", 896 | "tunnel-agent": "^0.6.0" 897 | }, 898 | "bin": { 899 | "prebuild-install": "bin.js" 900 | }, 901 | "engines": { 902 | "node": ">=10" 903 | } 904 | }, 905 | "node_modules/pump": { 906 | "version": "3.0.0", 907 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 908 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 909 | "dev": true, 910 | "optional": true, 911 | "dependencies": { 912 | "end-of-stream": "^1.1.0", 913 | "once": "^1.3.1" 914 | } 915 | }, 916 | "node_modules/qs": { 917 | "version": "6.11.2", 918 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", 919 | "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", 920 | "dev": true, 921 | "dependencies": { 922 | "side-channel": "^1.0.4" 923 | }, 924 | "engines": { 925 | "node": ">=0.6" 926 | }, 927 | "funding": { 928 | "url": "https://github.com/sponsors/ljharb" 929 | } 930 | }, 931 | "node_modules/rc": { 932 | "version": "1.2.8", 933 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 934 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 935 | "dev": true, 936 | "optional": true, 937 | "dependencies": { 938 | "deep-extend": "^0.6.0", 939 | "ini": "~1.3.0", 940 | "minimist": "^1.2.0", 941 | "strip-json-comments": "~2.0.1" 942 | }, 943 | "bin": { 944 | "rc": "cli.js" 945 | } 946 | }, 947 | "node_modules/read": { 948 | "version": "1.0.7", 949 | "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 950 | "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", 951 | "dev": true, 952 | "dependencies": { 953 | "mute-stream": "~0.0.4" 954 | }, 955 | "engines": { 956 | "node": ">=0.8" 957 | } 958 | }, 959 | "node_modules/readable-stream": { 960 | "version": "3.6.2", 961 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 962 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 963 | "dev": true, 964 | "optional": true, 965 | "dependencies": { 966 | "inherits": "^2.0.3", 967 | "string_decoder": "^1.1.1", 968 | "util-deprecate": "^1.0.1" 969 | }, 970 | "engines": { 971 | "node": ">= 6" 972 | } 973 | }, 974 | "node_modules/rimraf": { 975 | "version": "3.0.2", 976 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 977 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 978 | "dev": true, 979 | "dependencies": { 980 | "glob": "^7.1.3" 981 | }, 982 | "bin": { 983 | "rimraf": "bin.js" 984 | }, 985 | "funding": { 986 | "url": "https://github.com/sponsors/isaacs" 987 | } 988 | }, 989 | "node_modules/safe-buffer": { 990 | "version": "5.2.1", 991 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 992 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 993 | "dev": true, 994 | "funding": [ 995 | { 996 | "type": "github", 997 | "url": "https://github.com/sponsors/feross" 998 | }, 999 | { 1000 | "type": "patreon", 1001 | "url": "https://www.patreon.com/feross" 1002 | }, 1003 | { 1004 | "type": "consulting", 1005 | "url": "https://feross.org/support" 1006 | } 1007 | ], 1008 | "optional": true 1009 | }, 1010 | "node_modules/sax": { 1011 | "version": "1.2.4", 1012 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 1013 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 1014 | "dev": true 1015 | }, 1016 | "node_modules/semver": { 1017 | "version": "7.5.4", 1018 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", 1019 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", 1020 | "dev": true, 1021 | "dependencies": { 1022 | "lru-cache": "^6.0.0" 1023 | }, 1024 | "bin": { 1025 | "semver": "bin/semver.js" 1026 | }, 1027 | "engines": { 1028 | "node": ">=10" 1029 | } 1030 | }, 1031 | "node_modules/side-channel": { 1032 | "version": "1.0.4", 1033 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1034 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1035 | "dev": true, 1036 | "dependencies": { 1037 | "call-bind": "^1.0.0", 1038 | "get-intrinsic": "^1.0.2", 1039 | "object-inspect": "^1.9.0" 1040 | }, 1041 | "funding": { 1042 | "url": "https://github.com/sponsors/ljharb" 1043 | } 1044 | }, 1045 | "node_modules/simple-concat": { 1046 | "version": "1.0.1", 1047 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 1048 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 1049 | "dev": true, 1050 | "funding": [ 1051 | { 1052 | "type": "github", 1053 | "url": "https://github.com/sponsors/feross" 1054 | }, 1055 | { 1056 | "type": "patreon", 1057 | "url": "https://www.patreon.com/feross" 1058 | }, 1059 | { 1060 | "type": "consulting", 1061 | "url": "https://feross.org/support" 1062 | } 1063 | ], 1064 | "optional": true 1065 | }, 1066 | "node_modules/simple-get": { 1067 | "version": "4.0.1", 1068 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", 1069 | "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", 1070 | "dev": true, 1071 | "funding": [ 1072 | { 1073 | "type": "github", 1074 | "url": "https://github.com/sponsors/feross" 1075 | }, 1076 | { 1077 | "type": "patreon", 1078 | "url": "https://www.patreon.com/feross" 1079 | }, 1080 | { 1081 | "type": "consulting", 1082 | "url": "https://feross.org/support" 1083 | } 1084 | ], 1085 | "optional": true, 1086 | "dependencies": { 1087 | "decompress-response": "^6.0.0", 1088 | "once": "^1.3.1", 1089 | "simple-concat": "^1.0.0" 1090 | } 1091 | }, 1092 | "node_modules/string_decoder": { 1093 | "version": "1.3.0", 1094 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1095 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1096 | "dev": true, 1097 | "optional": true, 1098 | "dependencies": { 1099 | "safe-buffer": "~5.2.0" 1100 | } 1101 | }, 1102 | "node_modules/strip-json-comments": { 1103 | "version": "2.0.1", 1104 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1105 | "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 1106 | "dev": true, 1107 | "optional": true, 1108 | "engines": { 1109 | "node": ">=0.10.0" 1110 | } 1111 | }, 1112 | "node_modules/supports-color": { 1113 | "version": "5.5.0", 1114 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1115 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1116 | "dev": true, 1117 | "dependencies": { 1118 | "has-flag": "^3.0.0" 1119 | }, 1120 | "engines": { 1121 | "node": ">=4" 1122 | } 1123 | }, 1124 | "node_modules/tar-fs": { 1125 | "version": "2.1.1", 1126 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 1127 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 1128 | "dev": true, 1129 | "optional": true, 1130 | "dependencies": { 1131 | "chownr": "^1.1.1", 1132 | "mkdirp-classic": "^0.5.2", 1133 | "pump": "^3.0.0", 1134 | "tar-stream": "^2.1.4" 1135 | } 1136 | }, 1137 | "node_modules/tar-stream": { 1138 | "version": "2.2.0", 1139 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 1140 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 1141 | "dev": true, 1142 | "optional": true, 1143 | "dependencies": { 1144 | "bl": "^4.0.3", 1145 | "end-of-stream": "^1.4.1", 1146 | "fs-constants": "^1.0.0", 1147 | "inherits": "^2.0.3", 1148 | "readable-stream": "^3.1.1" 1149 | }, 1150 | "engines": { 1151 | "node": ">=6" 1152 | } 1153 | }, 1154 | "node_modules/tmp": { 1155 | "version": "0.2.1", 1156 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 1157 | "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 1158 | "dev": true, 1159 | "dependencies": { 1160 | "rimraf": "^3.0.0" 1161 | }, 1162 | "engines": { 1163 | "node": ">=8.17.0" 1164 | } 1165 | }, 1166 | "node_modules/tunnel": { 1167 | "version": "0.0.6", 1168 | "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", 1169 | "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", 1170 | "dev": true, 1171 | "engines": { 1172 | "node": ">=0.6.11 <=0.7.0 || >=0.7.3" 1173 | } 1174 | }, 1175 | "node_modules/tunnel-agent": { 1176 | "version": "0.6.0", 1177 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 1178 | "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", 1179 | "dev": true, 1180 | "optional": true, 1181 | "dependencies": { 1182 | "safe-buffer": "^5.0.1" 1183 | }, 1184 | "engines": { 1185 | "node": "*" 1186 | } 1187 | }, 1188 | "node_modules/typed-rest-client": { 1189 | "version": "1.8.11", 1190 | "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", 1191 | "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", 1192 | "dev": true, 1193 | "dependencies": { 1194 | "qs": "^6.9.1", 1195 | "tunnel": "0.0.6", 1196 | "underscore": "^1.12.1" 1197 | } 1198 | }, 1199 | "node_modules/uc.micro": { 1200 | "version": "1.0.6", 1201 | "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", 1202 | "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", 1203 | "dev": true 1204 | }, 1205 | "node_modules/underscore": { 1206 | "version": "1.13.6", 1207 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", 1208 | "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", 1209 | "dev": true 1210 | }, 1211 | "node_modules/url-join": { 1212 | "version": "4.0.1", 1213 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", 1214 | "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", 1215 | "dev": true 1216 | }, 1217 | "node_modules/util-deprecate": { 1218 | "version": "1.0.2", 1219 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1220 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 1221 | "dev": true, 1222 | "optional": true 1223 | }, 1224 | "node_modules/wrappy": { 1225 | "version": "1.0.2", 1226 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1227 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1228 | "dev": true 1229 | }, 1230 | "node_modules/xml2js": { 1231 | "version": "0.5.0", 1232 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", 1233 | "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", 1234 | "dev": true, 1235 | "dependencies": { 1236 | "sax": ">=0.6.0", 1237 | "xmlbuilder": "~11.0.0" 1238 | }, 1239 | "engines": { 1240 | "node": ">=4.0.0" 1241 | } 1242 | }, 1243 | "node_modules/xmlbuilder": { 1244 | "version": "11.0.1", 1245 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 1246 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", 1247 | "dev": true, 1248 | "engines": { 1249 | "node": ">=4.0" 1250 | } 1251 | }, 1252 | "node_modules/yallist": { 1253 | "version": "4.0.0", 1254 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1255 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1256 | "dev": true 1257 | }, 1258 | "node_modules/yauzl": { 1259 | "version": "2.10.0", 1260 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 1261 | "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", 1262 | "dev": true, 1263 | "dependencies": { 1264 | "buffer-crc32": "~0.2.3", 1265 | "fd-slicer": "~1.1.0" 1266 | } 1267 | }, 1268 | "node_modules/yazl": { 1269 | "version": "2.5.1", 1270 | "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", 1271 | "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", 1272 | "dev": true, 1273 | "dependencies": { 1274 | "buffer-crc32": "~0.2.3" 1275 | } 1276 | } 1277 | } 1278 | } 1279 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "batsignal", 3 | "displayName": "Batsignal", 4 | "description": "A color theme for bats", 5 | "publisher": "tamagui", 6 | "version": "0.0.9", 7 | "author": { 8 | "name": "Nate Wienert" 9 | }, 10 | "scripts": { 11 | "release": "vsce package && vsce publish" 12 | }, 13 | "license": "MIT", 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/natew/batsignal.git" 17 | }, 18 | "engines": { 19 | "vscode": "^1.75.0" 20 | }, 21 | "devDependencies": { 22 | "@vscode/vsce": "^2.20.1" 23 | }, 24 | "categories": [ 25 | "Themes" 26 | ], 27 | "contributes": { 28 | "themes": [ 29 | { 30 | "label": "batsignal", 31 | "uiTheme": "vs-dark", 32 | "path": "./themes/Batsignal-color-theme.json" 33 | }, 34 | { 35 | "label": "batsignal-light", 36 | "uiTheme": "vs", 37 | "path": "./themes/Batsignal-light-color-theme.json" 38 | } 39 | ] 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natew/batsignal/293662335c3e73db183fa79f8e526e2a55a84ebe/screenshot2.png -------------------------------------------------------------------------------- /themes/Batsignal-color-theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "vscode://schemas/color-theme", 3 | "type": "dark", 4 | "name": "Batsignal", 5 | "colors": { 6 | "activityBar.foreground": "#c2c2c2", 7 | "activityBar.background": "#000000", 8 | "activityBar.inactiveForeground": "#7baba966", 9 | "activityBarBadge.foreground": "#000000", 10 | "activityBarBadge.background": "#ffffff", 11 | "activityBar.border": "#000000", 12 | "checkbox.border": "#0a0a0a", 13 | "commandCenter.activeBackground": "#000", 14 | "commandCenter.activeForeground": "#ffffff", 15 | "commandCenter.border": "#000", 16 | "commandCenter.foreground": "#ffffff", 17 | "commandCenter.inactiveBorder": "#454545", 18 | "commandCenter.inactiveForeground": "#ffffff", 19 | "debugIcon.breakpointCurrentStackframeForeground": "#aaaaaa", 20 | "debugIcon.breakpointDisabledForeground": "#aaaaaa", 21 | "debugIcon.breakpointForeground": "#aaaaaa", 22 | "debugIcon.breakpointStackframeForeground": "#aaaaaa", 23 | "debugIcon.breakpointUnverifiedForeground": "#aaaaaa", 24 | "debugIcon.continueForeground": "#aaaaaa", 25 | "debugIcon.disconnectForeground": "#aaaaaa", 26 | "debugIcon.pauseForeground": "#aaaaaa", 27 | "debugIcon.restartForeground": "#aaaaaa", 28 | "debugIcon.startForeground": "#aaaaaa", 29 | "debugIcon.stepBackForeground": "#aaaaaa", 30 | "debugIcon.stepIntoForeground": "#aaaaaa", 31 | "debugIcon.stepOutForeground": "#aaaaaa", 32 | "debugIcon.stepOverForeground": "#aaaaaa", 33 | "debugIcon.stopForeground": "#aaaaaa", 34 | "debugToolBar.background": "#000000", 35 | "dropdown.background": "#000000", 36 | "dropdown.foreground": "#aaaaaa", 37 | "editor.background": "#000", 38 | "editor.findMatchBackground": "#000000", 39 | "editor.findMatchBorder": "#999999", 40 | "editor.findMatchHighlightBackground": "#00000000", 41 | "editor.findMatchHighlightBorder": "#3d3d3d", 42 | "editor.foldBackground": "#000000", 43 | "editor.foreground": "#b3b3b3", 44 | "editor.hoverHighlightBackground": "#0f0f0f", 45 | "editor.lineHighlightBackground": "#060606", 46 | "editor.selectionBackground": "#222", 47 | "editor.selectionHighlightBorder": "#3d3d3d", 48 | "editor.wordHighlightStrongBackground": "#3d3d3d", 49 | "editorBracketHighlight.foreground1": "#ddd", 50 | "editorBracketMatch.background": "#000000", 51 | "editorBracketMatch.border": "#3d3d3d", 52 | "editorCursor.foreground": "#b3b3b3", 53 | "editorGroup.border": "#0a0a0a00", 54 | "editorGroupHeader.tabsBackground": "#000", 55 | "editorGroupHeader.tabsBorder": "#121212", 56 | "editorGutter.foldingControlForeground": "#888", 57 | "editorHoverWidget.statusBarBackground": "#000000", 58 | "editorIndentGuide.activeBackground1": "#3d3d3d", 59 | "editorIndentGuide.background1": "#141414", 60 | "editorInfo.foreground": "#5c5c5c", 61 | "editorLightBulb.foreground": "#aaaaaa", 62 | "editorLineNumber.activeForeground": "#777", 63 | "editorLineNumber.foreground": "#222", 64 | "editorLink.activeForeground": "#bfbfbf", 65 | "editorOverviewRuler.border": "#0a0a0a", 66 | "editorRuler.foreground": "#141414", 67 | "editorSuggestWidget.foreground": "#777777", 68 | "editorSuggestWidget.highlightForeground": "#bfbfbf", 69 | "editorWarning.foreground": "#5c5c5c", 70 | "editorWhitespace.foreground": "#2b2b2b", 71 | "editorWidget.background": "#000000", 72 | "focusBorder": "#000000", 73 | "gitDecoration.addedResourceForeground": "#c0c0c0", 74 | "gitDecoration.conflictingResourceForeground": "#c0c0c0", 75 | "gitDecoration.deletedResourceForeground": "#777777", 76 | "gitDecoration.ignoredResourceForeground": "#272727", 77 | "gitDecoration.modifiedResourceForeground": "#c0c0c0", 78 | "gitDecoration.submoduleResourceForeground": "#777777", 79 | "gitDecoration.untrackedResourceForeground": "#c0c0c0", 80 | "diffEditor.insertedTextBackground": "#30372133", 81 | "diffEditor.removedTextBackground": "#ff000019", 82 | "diffEditor.insertedLineBackground": "#3037215d", 83 | "icon.foreground": "#fff", 84 | "input.background": "#000000", 85 | "input.border": "#181818", 86 | "input.foreground": "#aaaaaa", 87 | "list.activeSelectionBackground": "#2d2d2d", 88 | "list.activeSelectionForeground": "#bfbfbf", 89 | "list.errorForeground": "#ff6846", 90 | "list.filterMatchBackground": "#1a1a1a", 91 | "list.filterMatchBorder": "#000000", 92 | "list.focusBackground": "#0a0a0a", 93 | "list.highlightForeground": "#999999", 94 | "list.hoverForeground": "#ffffff", 95 | "list.hoverBackground": "#000000", 96 | "list.inactiveSelectionBackground": "#222", 97 | "list.inactiveSelectionForeground": "#bfbfbf", 98 | "list.warningForeground": "#ffbb58", 99 | "listFilterWidget.background": "#000000", 100 | "listFilterWidget.noMatchesOutline": "#ff6846", 101 | "listFilterWidget.outline": "#3d3d3d", 102 | "menu.background": "#000000", 103 | "menu.foreground": "#aaaaaa", 104 | "menubar.selectionBackground": "#0a0a0a", 105 | "panel.border": "#0a0a0a", 106 | "panelTitle.activeBorder": "#000000", 107 | "panelTitle.activeForeground": "#bfbfbf", 108 | "panelTitle.inactiveForeground": "#3d3d3d", 109 | "peekView.border": "#383838", 110 | "peekViewEditor.background": "#000000", 111 | "peekViewEditor.matchHighlightBackground": "#000000", 112 | "peekViewEditor.matchHighlightBorder": "#3d3d3d", 113 | "peekViewEditorGutter.background": "#000000", 114 | "peekViewResult.background": "#060606", 115 | "peekViewResult.fileForeground": "#999999", 116 | "peekViewResult.lineForeground": "#3d3d3d", 117 | "peekViewResult.matchHighlightBackground": "#0f0f0f", 118 | "peekViewResult.selectionBackground": "#000000", 119 | "peekViewResult.selectionForeground": "#bfbfbf", 120 | "pickerGroup.foreground": "#9d9d9d", 121 | "quickInput.background": "#151515", 122 | "quickInput.foreground": "#999", 123 | "quickInputList.focusBackground": "#000", 124 | "quickInputList.focusForeground": "#fff", 125 | "sash.hoverBorder": "#0f0f0f", 126 | "scrollbar.shadow": "#000000", 127 | "scrollbarSlider.activeBackground": "#303030", 128 | "scrollbarSlider.background": "#222", 129 | "scrollbarSlider.hoverBackground": "#222", 130 | "settings.checkboxBorder": "#0a0a0a", 131 | "settings.dropdownBorder": "#0a0a0a", 132 | "settings.modifiedItemIndicator": "#383838", 133 | "settings.textInputBorder": "#0a0a0a", 134 | "sideBar.background": "#000000", 135 | "sideBar.border": "#151515", 136 | "sideBar.foreground": "#aaa", 137 | "sideBarSectionHeader.background": "#000000", 138 | "sideBarSectionHeader.border": "#0a0a0a", 139 | "statusBar.background": "#000000", 140 | "statusBar.border": "#0a0a0a", 141 | "statusBar.debuggingBackground": "#000000", 142 | "statusBar.debuggingBorder": "#0a0a0a", 143 | "statusBar.debuggingForeground": "#aaaaaa", 144 | "statusBar.foreground": "#aaaaaa", 145 | "statusBar.noFolderBackground": "#000000", 146 | "statusBar.noFolderBorder": "#0a0a0a", 147 | "statusBar.noFolderForeground": "#aaaaaa", 148 | "statusBarItem.activeBackground": "#000000", 149 | "statusBarItem.hoverBackground": "#000000", 150 | "symbolIcon.arrayForeground": "#aaaaaa", 151 | "symbolIcon.booleanForeground": "#aaaaaa", 152 | "symbolIcon.classForeground": "#aaaaaa", 153 | "symbolIcon.colorForeground": "#aaaaaa", 154 | "symbolIcon.constantForeground": "#aaaaaa", 155 | "symbolIcon.constructorForeground": "#aaaaaa", 156 | "symbolIcon.enumeratorForeground": "#aaaaaa", 157 | "symbolIcon.enumeratorMemberForeground": "#aaaaaa", 158 | "symbolIcon.eventForeground": "#aaaaaa", 159 | "symbolIcon.fieldForeground": "#aaaaaa", 160 | "symbolIcon.fileForeground": "#aaaaaa", 161 | "symbolIcon.folderForeground": "#aaaaaa", 162 | "symbolIcon.functionForeground": "#aaaaaa", 163 | "symbolIcon.interfaceForeground": "#aaaaaa", 164 | "symbolIcon.keyForeground": "#aaaaaa", 165 | "symbolIcon.keywordForeground": "#aaaaaa", 166 | "symbolIcon.methodForeground": "#aaaaaa", 167 | "symbolIcon.moduleForeground": "#aaaaaa", 168 | "symbolIcon.namespaceForeground": "#aaaaaa", 169 | "symbolIcon.nullForeground": "#aaaaaa", 170 | "symbolIcon.numberForeground": "#aaaaaa", 171 | "symbolIcon.objectForeground": "#aaaaaa", 172 | "symbolIcon.operatorForeground": "#aaaaaa", 173 | "symbolIcon.packageForeground": "#aaaaaa", 174 | "symbolIcon.propertyForeground": "#aaaaaa", 175 | "symbolIcon.referenceForeground": "#aaaaaa", 176 | "symbolIcon.snippetForeground": "#aaaaaa", 177 | "symbolIcon.stringForeground": "#aaaaaa", 178 | "symbolIcon.structForeground": "#aaaaaa", 179 | "symbolIcon.textForeground": "#aaaaaa", 180 | "symbolIcon.typeParameterForeground": "#aaaaaa", 181 | "symbolIcon.unitForeground": "#aaaaaa", 182 | "symbolIcon.variableForeground": "#aaaaaa", 183 | "tab.activeForeground": "#b4b4b4", 184 | "tab.border": "#000000", 185 | "tab.activeBackground": "#171717", 186 | "tab.activeBorder": "#ffffff95", 187 | "tab.inactiveBackground": "#000000", 188 | "tab.inactiveForeground": "#a1a1a180", 189 | "tab.hoverBackground": "#171717", 190 | "tab.hoverForeground": "#c7c7c7", 191 | "terminal.ansiBlack": "#000000", 192 | "terminal.ansiBlue": "#333333", 193 | "terminal.ansiBrightBlack": "#1a1a1a", 194 | "terminal.ansiBrightBlue": "#333333", 195 | "terminal.ansiBrightCyan": "#666666", 196 | "terminal.ansiBrightGreen": "#4d4d4d", 197 | "terminal.ansiBrightMagenta": "#999999", 198 | "terminal.ansiBrightRed": "#999999", 199 | "terminal.ansiBrightWhite": "#ffffff", 200 | "terminal.ansiBrightYellow": "#b3b3b3", 201 | "terminal.ansiCyan": "#666666", 202 | "terminal.ansiGreen": "#4d4d4d", 203 | "terminal.ansiMagenta": "#999999", 204 | "terminal.ansiRed": "#999999", 205 | "terminal.ansiWhite": "#cccccc", 206 | "terminal.ansiYellow": "#b3b3b3", 207 | "terminal.background": "#000000", 208 | "terminal.foreground": "#999999", 209 | "terminalCursor.background": "#000000", 210 | "terminalCursor.foreground": "#b3b3b3", 211 | "textLink.activeForeground": "#ffffff", 212 | "textLink.foreground": "#ffffff", 213 | "textPreformat.foreground": "#aaaaaa", 214 | "titleBar.activeBackground": "#000000", 215 | "titleBar.activeForeground": "#aaaaaa", 216 | "titleBar.border": "#0a0a0a", 217 | "titleBar.inactiveBackground": "#000000", 218 | "tree.indentGuidesStroke": "#141414", 219 | "window.activeBorder": "#0a0a0a" 220 | }, 221 | "tokenColors": [ 222 | { 223 | "scope": "string", 224 | "settings": { 225 | "foreground": "#aaa" 226 | } 227 | }, 228 | { 229 | "scope": "variable.parameter.function", 230 | "settings": { 231 | "foreground": "#B3B3B3" 232 | } 233 | }, 234 | { 235 | "scope": "comment, punctuation.definition.comment", 236 | "settings": { 237 | "foreground": "#555" 238 | } 239 | }, 240 | { 241 | "scope": "punctuation.definition.string, punctuation.definition.variable, punctuation.definition.parameters, punctuation.definition.array", 242 | "settings": { 243 | "foreground": "#B3B3B3" 244 | } 245 | }, 246 | { 247 | "scope": "none", 248 | "settings": { 249 | "foreground": "#B3B3B3" 250 | } 251 | }, 252 | { 253 | "scope": "keyword.operator", 254 | "settings": { 255 | "foreground": "#B3B3B3" 256 | } 257 | }, 258 | { 259 | "scope": "keyword", 260 | "settings": { 261 | "foreground": "#454545" 262 | } 263 | }, 264 | { 265 | "scope": "variable", 266 | "settings": { 267 | "foreground": "#fff" 268 | } 269 | }, 270 | { 271 | "scope": "entity.name.function", 272 | "settings": { 273 | "foreground": "#ffff9c" 274 | } 275 | }, 276 | { 277 | "scope": "meta.require, support.function.any-method", 278 | "settings": { 279 | "foreground": "#777777" 280 | } 281 | }, 282 | { 283 | "scope": "support.class, entity.name.class, entity.name.type.class", 284 | "settings": { 285 | "foreground": "#999999" 286 | } 287 | }, 288 | { 289 | "scope": "meta.class", 290 | "settings": { 291 | "foreground": "#F5F5F5" 292 | } 293 | }, 294 | { 295 | "scope": "keyword.other.special-method", 296 | "settings": { 297 | "foreground": "#454545" 298 | } 299 | }, 300 | { 301 | "scope": "storage", 302 | "settings": { 303 | "foreground": "#777777" 304 | } 305 | }, 306 | { 307 | "scope": "support.function", 308 | "settings": { 309 | "foreground": "#999999" 310 | } 311 | }, 312 | { 313 | "scope": "string, constant.other.symbol, entity.other.inherited-class", 314 | "settings": { 315 | "foreground": "#999999" 316 | } 317 | }, 318 | { 319 | "scope": "constant.numeric", 320 | "settings": { 321 | "foreground": "#aaaaaa" 322 | } 323 | }, 324 | { 325 | "scope": "none", 326 | "settings": { 327 | "foreground": "#aaaaaa" 328 | } 329 | }, 330 | { 331 | "scope": "none", 332 | "settings": { 333 | "foreground": "#aaaaaa" 334 | } 335 | }, 336 | { 337 | "scope": "constant", 338 | "settings": { 339 | "foreground": "#aaaaaa" 340 | } 341 | }, 342 | { 343 | "scope": "entity.name.tag", 344 | "settings": { 345 | "foreground": "#888888" 346 | } 347 | }, 348 | { 349 | "scope": "entity.other.attribute-name", 350 | "settings": { 351 | "foreground": "#aaaaaa" 352 | } 353 | }, 354 | { 355 | "scope": "entity.other.attribute-name.id, punctuation.definition.entity", 356 | "settings": { 357 | "foreground": "#777777" 358 | } 359 | }, 360 | { 361 | "scope": "meta.selector", 362 | "settings": { 363 | "foreground": "#777777" 364 | } 365 | }, 366 | { 367 | "scope": "none", 368 | "settings": { 369 | "foreground": "#aaaaaa" 370 | } 371 | }, 372 | { 373 | "scope": "markup.heading punctuation.definition.heading, entity.name.section", 374 | "settings": { 375 | "foreground": "#777777", 376 | "fontStyle": "" 377 | } 378 | }, 379 | { 380 | "scope": "keyword.other.unit", 381 | "settings": { 382 | "foreground": "#aaaaaa" 383 | } 384 | }, 385 | { 386 | "scope": "markup.bold, punctuation.definition.bold", 387 | "settings": { 388 | "foreground": "#999999", 389 | "fontStyle": "bold" 390 | } 391 | }, 392 | { 393 | "scope": "markup.italic, punctuation.definition.italic", 394 | "settings": { 395 | "foreground": "#777777", 396 | "fontStyle": "italic" 397 | } 398 | }, 399 | { 400 | "scope": "markup.raw.inline", 401 | "settings": { 402 | "foreground": "#999999" 403 | } 404 | }, 405 | { 406 | "scope": "string.other.link, punctuation.definition.string.end.markdown", 407 | "settings": { 408 | "foreground": "#b3b3b3" 409 | } 410 | }, 411 | { 412 | "scope": "meta.link", 413 | "settings": { 414 | "foreground": "#aaaaaa" 415 | } 416 | }, 417 | { 418 | "scope": "markup.list", 419 | "settings": { 420 | "foreground": "#b3b3b3" 421 | } 422 | }, 423 | { 424 | "scope": "markup.quote", 425 | "settings": { 426 | "foreground": "#aaaaaa" 427 | } 428 | }, 429 | { 430 | "scope": "meta.separator", 431 | "settings": { 432 | "foreground": "#B3B3B3" 433 | } 434 | }, 435 | { 436 | "scope": "markup.inserted", 437 | "settings": { 438 | "foreground": "#999999" 439 | } 440 | }, 441 | { 442 | "scope": "markup.deleted", 443 | "settings": { 444 | "foreground": "#888888" 445 | } 446 | }, 447 | { 448 | "scope": "markup.changed", 449 | "settings": { 450 | "foreground": "#777777" 451 | } 452 | }, 453 | { 454 | "scope": "constant.other.color", 455 | "settings": { 456 | "foreground": "#999999" 457 | } 458 | }, 459 | { 460 | "scope": "string.regexp", 461 | "settings": { 462 | "foreground": "#999999" 463 | } 464 | }, 465 | { 466 | "scope": "constant.character.escape", 467 | "settings": { 468 | "foreground": "#999999" 469 | } 470 | }, 471 | { 472 | "scope": "punctuation.section.embedded, variable.interpolation", 473 | "settings": { 474 | "foreground": "#777777" 475 | } 476 | }, 477 | { 478 | "scope": "invalid.illegal", 479 | "settings": { 480 | "foreground": "#F44747" 481 | } 482 | }, 483 | { 484 | "scope": "invalid.broken", 485 | "settings": { 486 | "foreground": "#F44747" 487 | } 488 | }, 489 | { 490 | "scope": "invalid.deprecated", 491 | "settings": { 492 | "foreground": "#F5F5F5" 493 | } 494 | }, 495 | { 496 | "scope": "invalid.unimplemented", 497 | "settings": { 498 | "foreground": "#F5F5F5" 499 | } 500 | }, 501 | { 502 | "scope": "token.info-token", 503 | "settings": { 504 | "foreground": "#6796E6" 505 | } 506 | }, 507 | { 508 | "scope": "token.warn-token", 509 | "settings": { 510 | "foreground": "#CD9731" 511 | } 512 | }, 513 | { 514 | "scope": "token.error-token", 515 | "settings": { 516 | "foreground": "#F44747" 517 | } 518 | }, 519 | { 520 | "scope": "token.debug-token", 521 | "settings": { 522 | "foreground": "#B267E6" 523 | } 524 | }, 525 | { 526 | "scope": "support.class", 527 | "settings": { 528 | "fontStyle": "bold", 529 | "foreground": "#ccc" 530 | } 531 | }, 532 | { 533 | "scope": "meta.tag", 534 | "settings": { 535 | "foreground": "#cccccc" 536 | } 537 | }, 538 | { 539 | "scope": "variable", 540 | "settings": { 541 | "foreground": "#fff" 542 | } 543 | } 544 | ] 545 | } 546 | -------------------------------------------------------------------------------- /themes/Batsignal-light-color-theme.json: -------------------------------------------------------------------------------- 1 | { 2 | "colors": { 3 | "activityBar.background": "#fff", 4 | "activityBar.border": "#0000", 5 | "activityBar.foreground": "#bec9d3", 6 | "activityBarBadge.background": "#000", 7 | "activityBarBadge.foreground": "#fff", 8 | "badge.background": "#000", 9 | "badge.foreground": "#fff", 10 | "button.background": "#5a5a5a", 11 | "button.foreground": "#fff", 12 | "contrastBorder": "#0000", 13 | "debugToolBar.background": "#f4f6fc", 14 | "diffEditor.insertedTextBackground": "#00ff6819", 15 | "diffEditor.removedTextBackground": "#ff003219", 16 | "dropdown.background": "#f4f6fc", 17 | "dropdown.border": "#e7ecf2", 18 | "dropdown.foreground": "#000", 19 | "editor.background": "#fff", 20 | "editor.findMatchBackground": "#ffca0099", 21 | "editor.findMatchHighlightBackground": "#ffca004c", 22 | "editor.focusedStackFrameHighlightBackground": "#f909", 23 | "editor.foreground": "#000", 24 | "editor.lineHighlightBackground": "#ffff002f", 25 | "editor.lineHighlightBorder": "#0000", 26 | "editor.selectionBackground": "#e4f0c099", 27 | "editor.selectionForeground": "#fff", 28 | "editor.selectionHighlightBorder": "#0000", 29 | "editor.stackFrameHighlightBackground": "#ffff0051", 30 | "editor.wordHighlightBackground": "#7f7f7f26", 31 | "editor.wordHighlightStrongBackground": "#e4f0c099", 32 | "editorBracketMatch.background": "#e4f0c099", 33 | "editorBracketMatch.border": "#0000", 34 | "editorCursor.foreground": "#5a5a5a", 35 | "editorError.foreground": "#ff0032", 36 | "editorGroup.border": "#f4f6fc", 37 | "editorGroupHeader.tabsBackground": "#fff", 38 | "editorGroupHeader.tabsBorder": "#0000", 39 | "editorGutter.addedBackground": "#00ff68", 40 | "editorGutter.deletedBackground": "#ff0032", 41 | "editorGutter.modifiedBackground": "#000", 42 | "editorIndentGuide.background1": "#f4f6fc", 43 | "editorLineNumber.activeForeground": "#bec9d3", 44 | "editorLineNumber.foreground": "#ebf0f5", 45 | "editorLink.activeForeground": "#5a5a5a", 46 | "editorOverviewRuler.addedForeground": "#0000", 47 | "editorOverviewRuler.border": "#0000", 48 | "editorOverviewRuler.bracketMatchForeground": "#e4f0c099", 49 | "editorOverviewRuler.errorForeground": "#ff0032", 50 | "editorOverviewRuler.findMatchForeground": "#ffca0099", 51 | "editorOverviewRuler.modifiedForeground": "#000", 52 | "editorOverviewRuler.selectionHighlightForeground": "#e4f0c099", 53 | "editorOverviewRuler.warningForeground": "#f90", 54 | "editorOverviewRuler.wordHighlightForeground": "#7f7f7f26", 55 | "editorOverviewRuler.wordHighlightStrongForeground": "#e4f0c099", 56 | "editorRuler.foreground": "#f4f6fc", 57 | "editorWarning.foreground": "#f90", 58 | "editorWidget.background": "#f4f6fc", 59 | "editorWidget.border": "#e7ecf2", 60 | "errorForeground": "#ff0032", 61 | "extensionButton.prominentBackground": "#5a5a5a", 62 | "extensionButton.prominentForeground": "#fff", 63 | "extensionButton.prominentHoverBackground": "#5a5a5a", 64 | "focusBorder": "#e7ecf2", 65 | "foreground": "#000", 66 | "gitDecoration.ignoredResourceForeground": "#bec9d3", 67 | "gitDecoration.modifiedResourceForeground": "#000", 68 | "gitDecoration.untrackedResourceForeground": "#000", 69 | "input.background": "#f4f6fc", 70 | "input.border": "#e7ecf2", 71 | "input.foreground": "#000", 72 | "input.placeholderForeground": "#bec9d3", 73 | "list.activeSelectionBackground": "#000", 74 | "list.activeSelectionForeground": "#fff", 75 | "list.dropBackground": "#e4f0c099", 76 | "list.focusBackground": "#66666626", 77 | "list.focusForeground": "#000", 78 | "list.highlightForeground": "#000", 79 | "list.hoverBackground": "#f4f6fc", 80 | "list.inactiveSelectionBackground": "#f4f6fc", 81 | "list.inactiveSelectionForeground": "#000", 82 | "panel.background": "#f4f6fc", 83 | "panel.border": "#0000", 84 | "panelTitle.activeBorder": "#bec9d3", 85 | "peekView.border": "#000", 86 | "peekViewEditor.background": "#0000", 87 | "peekViewEditor.matchHighlightBackground": "#ffca0099", 88 | "peekViewResult.background": "#0000", 89 | "peekViewResult.fileForeground": "#6b7a88", 90 | "peekViewResult.lineForeground": "#6b7a88", 91 | "peekViewResult.matchHighlightBackground": "#ffca0099", 92 | "peekViewResult.selectionBackground": "#000", 93 | "peekViewResult.selectionForeground": "#fff", 94 | "peekViewTitle.background": "#0000", 95 | "peekViewTitleDescription.foreground": "#bec9d3", 96 | "peekViewTitleLabel.foreground": "#000", 97 | "progressBar.background": "#5a5a5a", 98 | "scrollbar.shadow": "#0000", 99 | "scrollbarSlider.background": "#77777777", 100 | "scrollbarSlider.hoverBackground": "#555555", 101 | "scrollbarSlider.activeBackground": "#444444", 102 | "sideBar.background": "#fff", 103 | "sideBar.foreground": "#6b7a88", 104 | "sideBarSectionHeader.background": "#f4f6fc", 105 | "sideBarSectionHeader.foreground": "#6b7a88", 106 | "sideBarTitle.foreground": "#bec9d3", 107 | "statusBar.background": "#fff", 108 | "statusBar.debuggingBackground": "#f90", 109 | "statusBar.debuggingForeground": "#000", 110 | "statusBar.foreground": "#65696e", 111 | "statusBar.noFolderBackground": "#000", 112 | "tab.activeBackground": "#fff", 113 | "tab.activeForeground": "#000", 114 | "tab.activeModifiedBorder": "#0000", 115 | "tab.border": "#0000", 116 | "tab.inactiveBackground": "#eee", 117 | "tab.inactiveForeground": "#aaa", 118 | "tab.inactiveModifiedBorder": "#999", 119 | "terminal.ansiBlack": "#000", 120 | "terminal.ansiBlue": "#5a5a5a", 121 | "terminal.ansiBrightBlack": "#000", 122 | "terminal.ansiBrightBlue": "#7a7a7a", 123 | "terminal.ansiBrightCyan": "#00d2ff", 124 | "terminal.ansiBrightGreen": "#00ff68", 125 | "terminal.ansiBrightMagenta": "#7d46fc", 126 | "terminal.ansiBrightRed": "#ff0032", 127 | "terminal.ansiBrightWhite": "#fff", 128 | "terminal.ansiBrightYellow": "#ffca00", 129 | "terminal.ansiCyan": "#00d2ff", 130 | "terminal.ansiGreen": "#00ff68", 131 | "terminal.ansiMagenta": "#7d46fc", 132 | "terminal.ansiRed": "#ff0032", 133 | "terminal.ansiWhite": "#fff", 134 | "terminal.ansiYellow": "#ffca00", 135 | "terminal.foreground": "#000", 136 | "terminal.selectionBackground": "#00000022", 137 | "terminalCursor.foreground": "#5a5a5a", 138 | "textLink.activeForeground": "#5a5a5a", 139 | "textLink.foreground": "#5a5a5a", 140 | "titleBar.activeBackground": "#fff", 141 | "titleBar.activeForeground": "#6b7a88", 142 | "titleBar.inactiveBackground": "#fff", 143 | "titleBar.inactiveForeground": "#bec9d3", 144 | "widget.shadow": "#0000", 145 | 146 | "editorBracketHighlight.foreground1": "#888888", 147 | "editorBracketHighlight.foreground2": "#888888", 148 | "editorBracketHighlight.foreground3": "#888888", 149 | "editorBracketHighlight.foreground4": "#888888", 150 | "editorBracketHighlight.foreground5": "#888888", 151 | "editorBracketHighlight.foreground6": "#888888", 152 | 153 | // Editor suggestions widget (autocomplete dropdown) 154 | "editorSuggestWidget.background": "#ffffff", 155 | "editorSuggestWidget.border": "#e7ecf2", 156 | "editorSuggestWidget.foreground": "#000000", 157 | "editorSuggestWidget.highlightForeground": "#ffca00", 158 | "editorSuggestWidget.selectedBackground": "#dddddd", 159 | "editorSuggestWidget.selectedForeground": "#000000", 160 | "editorSuggestWidget.selectedIconForeground": "#000000", 161 | 162 | // Command+T menu styling 163 | "quickInput.background": "#ffffff", 164 | "quickInput.foreground": "#000000", 165 | "quickInputList.focusBackground": "#dddddd", 166 | "quickInputList.focusForeground": "#000000", 167 | "quickInputList.focusIconForeground": "#000000", 168 | "quickInputTitle.background": "#ffffff", 169 | "pickerGroup.foreground": "#777", 170 | "pickerGroup.border": "#e7ecf2" 171 | }, 172 | "tokenColors": [ 173 | { 174 | "scope": "string", 175 | "settings": { 176 | "foreground": "#555555" 177 | } 178 | }, 179 | { 180 | "scope": "variable.parameter.function", 181 | "settings": { 182 | "foreground": "#4C4C4C" 183 | } 184 | }, 185 | { 186 | "scope": "comment, punctuation.definition.comment", 187 | "settings": { 188 | "foreground": "#AAAAAA" 189 | } 190 | }, 191 | { 192 | "scope": "punctuation.definition.string, punctuation.definition.variable, punctuation.definition.parameters, punctuation.definition.array, punctuation.definition.block, punctuation.definition.section, meta.brace, punctuation.section", 193 | "settings": { 194 | "foreground": "#888888" 195 | } 196 | }, 197 | { 198 | "scope": "none", 199 | "settings": { 200 | "foreground": "#4C4C4C" 201 | } 202 | }, 203 | { 204 | "scope": "keyword.operator", 205 | "settings": { 206 | "foreground": "#4C4C4C" 207 | } 208 | }, 209 | { 210 | "scope": "keyword", 211 | "settings": { 212 | "foreground": "#959595" 213 | } 214 | }, 215 | { 216 | "scope": "variable", 217 | "settings": { 218 | "foreground": "#000000" 219 | } 220 | }, 221 | { 222 | "scope": "entity.name.function", 223 | "settings": { 224 | "foreground": "#969215" 225 | } 226 | }, 227 | { 228 | "scope": "meta.require, support.function.any-method", 229 | "settings": { 230 | "foreground": "#888888" 231 | } 232 | }, 233 | { 234 | "scope": "support.class, entity.name.class, entity.name.type.class", 235 | "settings": { 236 | "foreground": "#666666" 237 | } 238 | }, 239 | { 240 | "scope": "meta.class", 241 | "settings": { 242 | "foreground": "#0A0A0A" 243 | } 244 | }, 245 | { 246 | "scope": "keyword.other.special-method", 247 | "settings": { 248 | "foreground": "#959595" 249 | } 250 | }, 251 | { 252 | "scope": "storage", 253 | "settings": { 254 | "foreground": "#707070" 255 | } 256 | }, 257 | { 258 | "scope": "support.function", 259 | "settings": { 260 | "foreground": "#666666" 261 | } 262 | }, 263 | { 264 | "scope": "string, constant.other.symbol, entity.other.inherited-class", 265 | "settings": { 266 | "foreground": "#666666" 267 | } 268 | }, 269 | { 270 | "scope": "constant.numeric", 271 | "settings": { 272 | "foreground": "#555555" 273 | } 274 | }, 275 | { 276 | "scope": "none", 277 | "settings": { 278 | "foreground": "#555555" 279 | } 280 | }, 281 | { 282 | "scope": "none", 283 | "settings": { 284 | "foreground": "#555555" 285 | } 286 | }, 287 | { 288 | "scope": "constant", 289 | "settings": { 290 | "foreground": "#555555" 291 | } 292 | }, 293 | { 294 | "scope": "entity.name.tag", 295 | "settings": { 296 | "foreground": "#777777" 297 | } 298 | }, 299 | { 300 | "scope": "entity.other.attribute-name", 301 | "settings": { 302 | "foreground": "#555555" 303 | } 304 | }, 305 | { 306 | "scope": "entity.other.attribute-name.id, punctuation.definition.entity", 307 | "settings": { 308 | "foreground": "#888888" 309 | } 310 | }, 311 | { 312 | "scope": "meta.selector", 313 | "settings": { 314 | "foreground": "#888888" 315 | } 316 | }, 317 | { 318 | "scope": "none", 319 | "settings": { 320 | "foreground": "#555555" 321 | } 322 | }, 323 | { 324 | "scope": "markup.heading punctuation.definition.heading, entity.name.section", 325 | "settings": { 326 | "foreground": "#888888", 327 | "fontStyle": "" 328 | } 329 | }, 330 | { 331 | "scope": "keyword.other.unit", 332 | "settings": { 333 | "foreground": "#555555" 334 | } 335 | }, 336 | { 337 | "scope": "markup.bold, punctuation.definition.bold", 338 | "settings": { 339 | "foreground": "#666666", 340 | "fontStyle": "bold" 341 | } 342 | }, 343 | { 344 | "scope": "markup.italic, punctuation.definition.italic", 345 | "settings": { 346 | "foreground": "#888888", 347 | "fontStyle": "italic" 348 | } 349 | }, 350 | { 351 | "scope": "markup.raw.inline", 352 | "settings": { 353 | "foreground": "#666666" 354 | } 355 | }, 356 | { 357 | "scope": "string.other.link, punctuation.definition.string.end.markdown", 358 | "settings": { 359 | "foreground": "#4C4C4C" 360 | } 361 | }, 362 | { 363 | "scope": "meta.link", 364 | "settings": { 365 | "foreground": "#555555" 366 | } 367 | }, 368 | { 369 | "scope": "markup.list", 370 | "settings": { 371 | "foreground": "#4C4C4C" 372 | } 373 | }, 374 | { 375 | "scope": "markup.quote", 376 | "settings": { 377 | "foreground": "#555555" 378 | } 379 | }, 380 | { 381 | "scope": "meta.separator", 382 | "settings": { 383 | "foreground": "#4C4C4C" 384 | } 385 | }, 386 | { 387 | "scope": "markup.inserted", 388 | "settings": { 389 | "foreground": "#666666" 390 | } 391 | }, 392 | { 393 | "scope": "markup.deleted", 394 | "settings": { 395 | "foreground": "#777777" 396 | } 397 | }, 398 | { 399 | "scope": "markup.changed", 400 | "settings": { 401 | "foreground": "#888888" 402 | } 403 | }, 404 | { 405 | "scope": "constant.other.color", 406 | "settings": { 407 | "foreground": "#666666" 408 | } 409 | }, 410 | { 411 | "scope": "string.regexp", 412 | "settings": { 413 | "foreground": "#666666" 414 | } 415 | }, 416 | { 417 | "scope": "constant.character.escape", 418 | "settings": { 419 | "foreground": "#666666" 420 | } 421 | }, 422 | { 423 | "scope": "punctuation.section.embedded, variable.interpolation", 424 | "settings": { 425 | "foreground": "#888888" 426 | } 427 | }, 428 | { 429 | "scope": "invalid.illegal", 430 | "settings": { 431 | "foreground": "#BB0000" 432 | } 433 | }, 434 | { 435 | "scope": "invalid.broken", 436 | "settings": { 437 | "foreground": "#BB0000" 438 | } 439 | }, 440 | { 441 | "scope": "invalid.deprecated", 442 | "settings": { 443 | "foreground": "#0A0A0A" 444 | } 445 | }, 446 | { 447 | "scope": "invalid.unimplemented", 448 | "settings": { 449 | "foreground": "#0A0A0A" 450 | } 451 | }, 452 | { 453 | "scope": "token.info-token", 454 | "settings": { 455 | "foreground": "#5a5a5a" 456 | } 457 | }, 458 | { 459 | "scope": "token.warn-token", 460 | "settings": { 461 | "foreground": "#8A650E" 462 | } 463 | }, 464 | { 465 | "scope": "token.error-token", 466 | "settings": { 467 | "foreground": "#BB0000" 468 | } 469 | }, 470 | { 471 | "scope": "token.debug-token", 472 | "settings": { 473 | "foreground": "#7A1AB8" 474 | } 475 | }, 476 | { 477 | "scope": "support.class", 478 | "settings": { 479 | "fontStyle": "bold", 480 | "foreground": "#333333" 481 | } 482 | }, 483 | { 484 | "scope": "meta.tag", 485 | "settings": { 486 | "foreground": "#333333" 487 | } 488 | }, 489 | { 490 | "scope": "variable", 491 | "settings": { 492 | "foreground": "#000000" 493 | } 494 | } 495 | ] 496 | } 497 | -------------------------------------------------------------------------------- /vsc-extension-quickstart.md: -------------------------------------------------------------------------------- 1 | # Welcome to your VS Code Extension 2 | 3 | ## What's in the folder 4 | 5 | * This folder contains all of the files necessary for your color theme extension. 6 | * `package.json` - this is the manifest file that defines the location of the theme file and specifies the base theme of the theme. 7 | * `themes/DuoChrome-color-theme.json` - the color theme definition file. 8 | 9 | ## Get up and running straight away 10 | 11 | * Press `F5` to open a new window with your extension loaded. 12 | * Open `File > Preferences > Color Themes` and pick your color theme. 13 | * Open a file that has a language associated. The languages' configured grammar will tokenize the text and assign 'scopes' to the tokens. To examine these scopes, invoke the `Developer: Inspect Editor Tokens and Scopes` command from the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac). 14 | 15 | ## Make changes 16 | 17 | * Changes to the theme file are automatically applied to the Extension Development Host window. 18 | 19 | ## Adopt your theme to Visual Studio Code 20 | 21 | * The token colorization is done based on standard TextMate themes. Colors are matched against one or more scopes. 22 | 23 | To learn more about scopes and how they're used, check out the [color theme](https://code.visualstudio.com/api/extension-guides/color-theme) documentation. 24 | 25 | ## Install your extension 26 | 27 | * To start using your extension with Visual Studio Code copy it into the `/.vscode/extensions` folder and restart Code. 28 | * To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension. 29 | --------------------------------------------------------------------------------