From 4e7800f20af92283cb805c5e686bef834c0b31b7 Mon Sep 17 00:00:00 2001 From: Dvurechensky <46356631+Dvurechensky@users.noreply.github.com> Date: Mon, 16 Jun 2025 09:22:48 +0300 Subject: [PATCH] 1.0.0 First Commit --- .gitignore | 25 + Media/Afetr_1.png | Bin 0 -> 12832 bytes Media/After_2.png | Bin 0 -> 90556 bytes Media/Before.png | Bin 0 -> 12710 bytes README.md | 42 ++ package-lock.json | 1621 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 29 + src/extension.ts | 47 ++ tsconfig.json | 17 + 9 files changed, 1781 insertions(+) create mode 100644 .gitignore create mode 100644 Media/Afetr_1.png create mode 100644 Media/After_2.png create mode 100644 Media/Before.png create mode 100644 README.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/extension.ts create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..41295a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Node.js dependencies +node_modules/ + +# VS Code extension build outputs +.vscode-test/ +out/ +dist/ + +# TypeScript cache +*.tsbuildinfo + +# Logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# OS файлы +.DS_Store +Thumbs.db + +# Редактор +.vscode/ + +# Пакет для установки расширения +*.vsix diff --git a/Media/Afetr_1.png b/Media/Afetr_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7d7c35c05147001691c75d0bc3efe0bb7fcc6994 GIT binary patch literal 12832 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 z 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 literal 0 HcmV?d00001 diff --git a/Media/Before.png b/Media/Before.png new file mode 100644 index 0000000000000000000000000000000000000000..a3eec40a52108a1de0dab115c070392a01491253 GIT binary patch literal 12710 zcmbWecUV(jyDh31FjPbDkkE^CX+gw<-aCl&-g{GN5}FjL(gdVRuL6-GARUw{y-Sl8 zib$_#`P<*#&v)a zx)xjAxg#K>VX~WL=t??+-aq|*b7y1yOJ+o(Cb$3z{>^02DDo&cGoCgpW9%th z^-}}O)A{c+;*iOxhfvy0t7F(hc)UrW;TDBb$U7Wtm_d}4>?a5p?CLA&hIvrbHEs{J zB}J`~=$thvJ6eb#5NlZ6K`)tbRceDu*YhePkK-#pK_~x1FmQ-@jU8-G6;50Y{d)Wc66?Wrry?OP7Z+s+A}A~17g7fm8R z_%^|>sqEQa_StZ9kZ-*;RpFz)=MeuV*lP4;VLyFgVnMqU9QWIN>Y0gBI1hHs z*g-|NM7yMRW#e!sJn||O|3nEAvrfXYXx{;I+$Vv&qz>7xHIHy^kiW}=#_No;h;218 zLzq$7aQ}V?UgrRX^zOi@-iJf+?j|Tf98Ng-Up3tigE~!9AkC6#`?N`^gq)fk>_ z0K|)v;W0jvUhsuG$p1dPd*kQK$vc!AUiWJB7);~jEH~1r>TPN!lz=&M5L})Q<=Dk%gk%V>6tD5GhWAs>e&qho6(_aEV2E=CN+Cs86cku}dvKcKpr8>rZCc<*|u z=jWVNbXZ3K ze1$AW1vL_G7Zl2~kt}2JA_o5J6I&x|{VOGkP8S-_5>_TIVeSKNf9hTa=elf}rZb2>D8 z&el-VDitoUZZJg8AX-0VA#cp3hPJcww6Dp+VZT1CVis8mR%IbNGMCplUG8+&EEaY0 z`@&n!l==@(61`AQE!o_>t4qzZUv>TvE&AcU0}0&YWdZ%y{d6HL?^I0E=|g1vjo)<8 zR8qYoos?H^VN2HMeZFh;;#;c&f07#HOK1f}zE`H-bo4)AdI;w1(*wTPFmW@|$-mn6 zjJ{1DK_yS}oBUa1QW8VN$GdRe6p`{yARGf59jJJe5q5CAkbkph3W}fg@Xn+qriUudk4$6_5F3>tSiaVVrw7+lNvNlB)s=iPxm0!+Y%lE>nHGTsKxO0m6%~&~0{SyKJg4~p z!4_^!#U5UqKQ!O&^L5TtXkae{7?K1J*inG6bhvQw5#Q230}c5ohBZBn-l{L? zW>9(F@d>*jmE=R$twC(`Hy4^4<17>J%;;xXlb=BkZV|d0?_+AZ*tz$U=iJ4U>`%;phE{2nC1g2CvR zD5ZR1&G4Kqd?fNLc93Eir4ftdfANI@m2010iQq!mRp~*+vg(AiDHU$xqB$A*8oN^L z_4SIFp;nSORj8*Y(RqPh;}eMQ?s;})1RC9qRåoycsh4Txr_w>G0-OyZCQNBl{ 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 JQ;9S~{V%X2*scHo literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..f4ec96d --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +

✨Dvurechensky✨

+ +# ⭐ Freelancer Lizerium ⭐ +## Color Picker INI (VSCode Extension) + +- Работает на [VSCode](https://code.visualstudio.com/) +- Простое расширение позволяет в конструкциях формата `color = 255, 255, 255` подсвечивать цвет и добавляет панель выбора цвета слева от каждой подобной строки + +* P.s ✌️ Мне пригодилось для файлов `rich_fonts` и во всех файлах игры, где часто такие конструкции использовались + +## Сборка 💦 + +> Установка всех зависимостей в `Terminal` из корня проекта +```sh +npm install +``` + +> Сборка проекта (должна появится папка `Out` с итоговым `js` файлом плагина) +```sh +npm run vscode:prepublish +``` + +## Отладка 💦 + +1. Переходим в скрипт [extension.ts](src/extension.ts) +2. Запускаем отладку Run->Start Debugging -> VS Code Extension Development +3. Откроется чистый VS Code который мужно просто пополнить вашим тестовым файлом с конструкциями `color = 255, 255, 255` и смотреть результат показанных на примерах ниже + +### Пример 💦 + +--- + +*`До`* \ +![Before](Media/Before.png) + +--- + +*`После`* \ +![After_1](Media/Afetr_1.png) \ +![After_1](Media/After_2.png) + +

✨Dvurechensky✨

\ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..fe5df84 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1621 @@ +{ + "name": "lizerium-rgb-color-viewer", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "lizerium-rgb-color-viewer", + "version": "0.0.1", + "devDependencies": { + "@types/vscode": "^1.85.0", + "typescript": "^5.0.0", + "vsce": "^2.15.0" + }, + "engines": { + "vscode": "^1.85.0" + } + }, + "node_modules/@types/vscode": { + "version": "1.101.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.101.0.tgz", + "integrity": "sha512-ZWf0IWa+NGegdW3iU42AcDTFHWW7fApLdkdnBqwYEtHVIBGbTu0ZNQKP/kX3Ds/uMJXIMQNAojHR4vexCEEz5Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/azure-devops-node-api": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", + "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cheerio": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.0.tgz", + "integrity": "sha512-+0hMx9eYhJvWbgpKV9hN7jg0JcwydpopZE4hgi+KvQtByZXPp04NiCWU0LzcAbP63abZckIHkTQaXVF52mX3xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "encoding-sniffer": "^0.2.0", + "htmlparser2": "^10.0.0", + "parse5": "^7.3.0", + "parse5-htmlparser2-tree-adapter": "^7.1.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^7.10.0", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18.17" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true, + "license": "ISC" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/encoding-sniffer": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", + "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "license": "MIT" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/keytar": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz", + "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^4.3.0", + "prebuild-install": "^7.0.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true, + "license": "ISC" + }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-abi": { + "version": "3.75.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz", + "integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parse-semver": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", + "integrity": "sha512-Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^5.1.0" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.3", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "license": "ISC" + }, + "node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tar-fs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz", + "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/underscore": { + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz", + "integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.18.1" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true, + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vsce": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-2.15.0.tgz", + "integrity": "sha512-P8E9LAZvBCQnoGoizw65JfGvyMqNGlHdlUXD1VAuxtvYAaHBKLBdKPnpy60XKVDAkQCfmMu53g+gq9FM+ydepw==", + "deprecated": "vsce has been renamed to @vscode/vsce. Install using @vscode/vsce instead.", + "dev": true, + "license": "MIT", + "dependencies": { + "azure-devops-node-api": "^11.0.1", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "commander": "^6.1.0", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "keytar": "^7.7.0", + "leven": "^3.1.0", + "markdown-it": "^12.3.2", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^5.1.0", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^4.0.1", + "xml2js": "^0.4.23", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + }, + "bin": { + "vsce": "vsce" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3" + } + } + } +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..5106760 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "lizerium-rgb-color-viewer", + "displayName": "RGB Color Viewer", + "description": "Показывает цвет для конструкций типа color = R, G, B", + "version": "0.0.1", + "engines": { + "vscode": "^1.85.0" + }, + "activationEvents": [ + "*" + ], + "main": "./out/extension.js", + "contributes": { + "commands": [ + { + "command": "rgbColorPicker.pickColor", + "title": "Pick RGB Color" + } + ] + }, + "scripts": { + "vscode:prepublish": "tsc -p ./" + }, + "devDependencies": { + "@types/vscode": "^1.85.0", + "typescript": "^5.0.0", + "vsce": "^2.15.0" + } +} \ No newline at end of file diff --git a/src/extension.ts b/src/extension.ts new file mode 100644 index 0000000..3f10c3c --- /dev/null +++ b/src/extension.ts @@ -0,0 +1,47 @@ +/* + * Author: Nikolay Dvurechensky + * Last Updated: 16 June 2025 + * Version: 1.0.0 + */ + +import * as vscode from 'vscode'; + +export function activate(context: vscode.ExtensionContext) { + context.subscriptions.push( + vscode.languages.registerColorProvider( + { scheme: 'file', language: '*' }, + { + provideDocumentColors(document: vscode.TextDocument) { + const colors: vscode.ColorInformation[] = []; + const regex = /color\s*=\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})/g; + + for (let i = 0; i < document.lineCount; i++) { + const line = document.lineAt(i); + const match = regex.exec(line.text); + if (match) { + const r = Number(match[1]) / 255; + const g = Number(match[2]) / 255; + const b = Number(match[3]) / 255; + + const startPos = line.range.start.translate(0, match.index); + const endPos = startPos.translate(0, match[0].length); + const range = new vscode.Range(startPos, endPos); + + const color = new vscode.Color(r, g, b, 1); + colors.push(new vscode.ColorInformation(range, color)); + } + } + return colors; + }, + provideColorPresentations(color: vscode.Color, context: { document: vscode.TextDocument; range: vscode.Range }) { + // Преобразуем цвет обратно в "color = R, G, B" + const r = Math.round(color.red * 255); + const g = Math.round(color.green * 255); + const b = Math.round(color.blue * 255); + const label = `color = ${r}, ${g}, ${b}`; + return [new vscode.ColorPresentation(label)]; + } + } + ) + ); +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..9c48dac --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "commonjs", + "lib": [ + "ES2020" + ], + "outDir": "out", + "rootDir": "src", + "strict": true, + "esModuleInterop": true + }, + "exclude": [ + "node_modules", + ".vscode-test" + ] +} \ No newline at end of file