From cbc3e95ccdf0519952e14427a291956fcd465b8b Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Wed, 15 Nov 2023 22:45:55 +0300 Subject: [PATCH 1/9] chore: add @turbo/gen, update turbo --- package.json | 3 +- yarn.lock | 915 +++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 859 insertions(+), 59 deletions(-) diff --git a/package.json b/package.json index 6a4b5744..3d11aeb9 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "@rollup/plugin-commonjs": "21.1.0", "@rollup/plugin-json": "5.0.2", "@rollup/plugin-node-resolve": "15.0.1", + "@turbo/gen": "^1.10.16", "@types/react": "17.0.53", "@types/react-dom": "17.0.18", "@types/styled-components": "5.1.12", @@ -54,7 +55,7 @@ "rollup-plugin-svg-import": "1.6.0", "rollup-plugin-typescript2": "0.34.1", "tslib": "2.5.0", - "turbo": "^1.10.14", + "turbo": "^1.10.16", "typescript": "^4.9.5" }, "dependencies": {}, diff --git a/yarn.lock b/yarn.lock index c0620636..6a55522b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1326,6 +1326,14 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== +"@babel/runtime-corejs3@^7.9.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz#a5cd9d8b408fb946b2f074b21ea40c04e516795c" + integrity sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw== + dependencies: + core-js-pure "^3.30.2" + regenerator-runtime "^0.14.0" + "@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.20.1", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" @@ -1604,6 +1612,13 @@ stream-browserify "^3.0.0" util "^0.12.4" +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + "@emotion/is-prop-valid@^0.8.1": version "0.8.8" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" @@ -2285,7 +2300,7 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@^3.1.0": +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== @@ -2300,6 +2315,14 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.8", "@jridgewell/trace-mapping@^0.3.9": version "0.3.19" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" @@ -3362,11 +3385,71 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@tootallnate/quickjs-emscripten@^0.23.0": + version "0.23.0" + resolved "https://registry.yarnpkg.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz#db4ecfd499a9765ab24002c3b696d02e6d32a12c" + integrity sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@turbo/gen@^1.10.16": + version "1.10.16" + resolved "https://registry.yarnpkg.com/@turbo/gen/-/gen-1.10.16.tgz#ac4a80921f5ec5ce5f597c86115fd4713c5bd2eb" + integrity sha512-PzyluADjVuy5OcIi+/aRcD70OElQpRVRDdfZ9fH8G5Fv75lQcNrjd1bBGKmhjSw+g+eTEkXMGnY7s6gsCYjYTQ== + dependencies: + "@turbo/workspaces" "1.10.16" + chalk "2.4.2" + commander "^10.0.0" + fs-extra "^10.1.0" + inquirer "^8.2.4" + minimatch "^9.0.0" + node-plop "^0.26.3" + proxy-agent "^6.2.2" + ts-node "^10.9.1" + update-check "^1.5.4" + validate-npm-package-name "^5.0.0" + +"@turbo/workspaces@1.10.16": + version "1.10.16" + resolved "https://registry.yarnpkg.com/@turbo/workspaces/-/workspaces-1.10.16.tgz#d742f2e60702bb102a31169276c77fb858b727b3" + integrity sha512-WKpMyWC4fKCji9DFSaL6uUnTakOmL769LfiNOGk2v5jONMKpjvOB1o1nXkWNbU/PTPqxwV4Cf5qzNSWIgnanYg== + dependencies: + chalk "2.4.2" + commander "^10.0.0" + execa "5.1.1" + fast-glob "^3.2.12" + fs-extra "^10.1.0" + gradient-string "^2.0.0" + inquirer "^8.0.0" + js-yaml "^4.1.0" + ora "4.1.1" + rimraf "^3.0.2" + semver "^7.3.5" + update-check "^1.5.4" + "@typechain/ethers-v5@^11.1.0": version "11.1.1" resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-11.1.1.tgz#23a358135a302140cf89a186592464dd6bbf1f98" @@ -3460,6 +3543,14 @@ "@types/react" "*" hoist-non-react-statics "^3.3.0" +"@types/inquirer@^6.5.0": + version "6.5.0" + resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-6.5.0.tgz#b83b0bf30b88b8be7246d40e51d32fe9d10e09be" + integrity sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw== + dependencies: + "@types/through" "*" + rxjs "^6.4.0" + "@types/is-ci@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/is-ci/-/is-ci-3.0.0.tgz#7e8910af6857601315592436f030aaa3ed9783c3" @@ -3646,6 +3737,18 @@ "@types/react" "*" csstype "^3.0.2" +"@types/through@*": + version "0.0.33" + resolved "https://registry.yarnpkg.com/@types/through/-/through-0.0.33.tgz#14ebf599320e1c7851e7d598149af183c6b9ea56" + integrity sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ== + dependencies: + "@types/node" "*" + +"@types/tinycolor2@^1.4.0": + version "1.4.6" + resolved "https://registry.yarnpkg.com/@types/tinycolor2/-/tinycolor2-1.4.6.tgz#670cbc0caf4e58dd61d1e3a6f26386e473087f06" + integrity sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw== + "@types/tough-cookie@*": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397" @@ -4228,11 +4331,21 @@ acorn-walk@^8.0.2: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== +acorn-walk@^8.1.1: + version "8.3.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f" + integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== + acorn@^8.1.0, acorn@^8.8.1, acorn@^8.9.0: version "8.10.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== +acorn@^8.4.1: + version "8.11.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + aes-js@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" @@ -4250,6 +4363,13 @@ agent-base@6: dependencies: debug "4" +agent-base@^7.0.2, agent-base@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" + integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== + dependencies: + debug "^4.3.4" + agentkeepalive@^4.3.0: version "4.5.0" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" @@ -4324,6 +4444,11 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -4449,6 +4574,13 @@ ast-types-flow@^0.0.7: resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== +ast-types@^0.13.4: + version "0.13.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + async-mutex@^0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" @@ -4667,6 +4799,11 @@ base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +basic-ftp@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.0.3.tgz#b14c0fe8111ce001ec913686434fe0c2fb461228" + integrity sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g== + bech32@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" @@ -4718,6 +4855,15 @@ bindings@^1.3.0: dependencies: file-uri-to-path "1.0.0" +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" @@ -4757,6 +4903,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -4813,6 +4966,14 @@ buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + bufferutil@^4.0.1: version "4.0.7" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" @@ -4825,6 +4986,13 @@ builtin-modules@^3.3.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== +builtins@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + bundle-name@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" @@ -4845,6 +5013,14 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camel-case@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + camelcase-keys@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" @@ -4874,7 +5050,7 @@ caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001517: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001528.tgz#479972fc705b996f1114336c0032418a215fd0aa" integrity sha512-0Db4yyjR9QMNlsxh+kKWzQtkyflkG/snYheSzkjmvdEtEXB1+jt7A2HmSEiO6XIJPIbo92lHNGNySvE5pZcs5Q== -chalk@^2.1.0, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.1.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -4883,7 +5059,15 @@ chalk@^2.1.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -4891,6 +5075,30 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +change-case@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e" + integrity sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw== + dependencies: + camel-case "^3.0.0" + constant-case "^2.0.0" + dot-case "^2.1.0" + header-case "^1.0.0" + is-lower-case "^1.1.0" + is-upper-case "^1.1.0" + lower-case "^1.1.1" + lower-case-first "^1.0.0" + no-case "^2.3.2" + param-case "^2.1.0" + pascal-case "^2.0.0" + path-case "^2.1.0" + sentence-case "^2.1.0" + snake-case "^2.1.0" + swap-case "^1.1.0" + title-case "^2.1.0" + upper-case "^1.1.1" + upper-case-first "^1.1.0" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -4938,6 +5146,23 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.2.0, cli-spinners@^2.5.0: + version "2.9.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.1.tgz#9c0b9dad69a6d47cbb4333c14319b060ed395a35" + integrity sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -5027,6 +5252,11 @@ command-line-usage@^6.1.0: table-layout "^1.0.2" typical "^5.2.0" +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -5057,6 +5287,14 @@ confusing-browser-globals@^1.0.10: resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== +constant-case@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" + integrity sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ== + dependencies: + snake-case "^2.1.0" + upper-case "^1.1.1" + convert-source-map@^1.1.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" @@ -5081,6 +5319,11 @@ core-js-compat@^3.25.1, core-js-compat@^3.31.0: dependencies: browserslist "^4.21.10" +core-js-pure@^3.30.2: + version "3.33.2" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.2.tgz#644830db2507ef84d068a70980ccd99c275f5fa6" + integrity sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q== + cosmiconfig@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" @@ -5092,6 +5335,11 @@ cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-fetch@^3.1.4, cross-fetch@^3.1.5: version "3.1.8" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" @@ -5219,6 +5467,11 @@ damerau-levenshtein@^1.0.8: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== +data-uri-to-buffer@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz#540bd4c8753a25ee129035aebdedf63b078703c7" + integrity sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg== + data-urls@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" @@ -5294,7 +5547,7 @@ deep-equal@^2.0.5: which-collection "^1.0.1" which-typed-array "^1.1.9" -deep-extend@~0.6.0: +deep-extend@^0.6.0, deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== @@ -5347,6 +5600,15 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +degenerator@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-5.0.1.tgz#9403bf297c6dad9a1ece409b37db27954f91f2f5" + integrity sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== + dependencies: + ast-types "^0.13.4" + escodegen "^2.1.0" + esprima "^4.0.1" + del@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" @@ -5396,6 +5658,11 @@ diff-sequences@^29.6.3: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + dijkstrajs@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" @@ -5472,6 +5739,13 @@ domutils@^2.8.0: domelementtype "^2.2.0" domhandler "^4.2.0" +dot-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" + integrity sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug== + dependencies: + no-case "^2.2.0" + dotenv@16.0.3: version "16.0.3" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" @@ -5714,7 +5988,7 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^2.0.0: +escodegen@^2.0.0, escodegen@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== @@ -6124,7 +6398,7 @@ events@^3.3.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@^5.0.0: +execa@5.1.1, execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -6175,7 +6449,7 @@ extendable-error@^0.1.5: resolved "https://registry.yarnpkg.com/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== -external-editor@^3.1.0: +external-editor@^3.0.3, external-editor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== @@ -6210,6 +6484,17 @@ fast-glob@^3.0.3, fast-glob@^3.2.9, fast-glob@^3.3.0, fast-glob@^3.3.1: merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^3.2.12: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -6249,6 +6534,13 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" @@ -6348,7 +6640,7 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -fs-extra@^10.0.0: +fs-extra@^10.0.0, fs-extra@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -6455,6 +6747,16 @@ get-tsconfig@^4.5.0: dependencies: resolve-pkg-maps "^1.0.0" +get-uri@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-6.0.2.tgz#e019521646f4a8ff6d291fbaea2c46da204bb75b" + integrity sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw== + dependencies: + basic-ftp "^5.0.2" + data-uri-to-buffer "^6.0.0" + debug "^4.3.4" + fs-extra "^8.1.0" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -6550,6 +6852,14 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.0, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +gradient-string@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/gradient-string/-/gradient-string-2.0.2.tgz#a90402618990ec993ecbb72a56bd7e6598f45c0e" + integrity sha512-rEDCuqUQ4tbD78TpzsMtt5OIf0cBCSDWSJtUDaF6JsAh+k0v9r++NzxNEG87oDZx9ZwGhD8DaezR2L/yrw0Jdw== + dependencies: + chalk "^4.1.2" + tinygradient "^1.1.5" + grapheme-splitter@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" @@ -6560,6 +6870,18 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== +handlebars@^4.4.3: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + hard-rejection@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" @@ -6619,6 +6941,14 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" +header-case@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" + integrity sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.3" + hey-listen@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" @@ -6666,6 +6996,14 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" +http-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz#e9096c5afd071a3fce56e6252bb321583c124673" + integrity sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -6674,6 +7012,14 @@ https-proxy-agent@^5.0.1: agent-base "6" debug "4" +https-proxy-agent@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" + integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== + dependencies: + agent-base "^7.0.2" + debug "4" + human-id@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" @@ -6715,7 +7061,7 @@ iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@^1.2.1: +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -6764,6 +7110,51 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inquirer@^7.1.0: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +inquirer@^8.0.0, inquirer@^8.2.4: + version "8.2.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" + integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.1" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" + mute-stream "0.0.8" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^6.0.1" + internal-slot@^1.0.4, internal-slot@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" @@ -6780,6 +7171,16 @@ invariant@2, invariant@^2.2.2: dependencies: loose-envify "^1.0.0" +ip@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" + integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== + +ip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" + integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== + is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -6917,6 +7318,18 @@ is-inside-container@^1.0.0: dependencies: is-docker "^3.0.0" +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-lower-case@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" + integrity sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA== + dependencies: + lower-case "^1.1.0" + is-map@^2.0.1, is-map@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" @@ -7034,6 +7447,18 @@ is-typedarray@1.0.0, is-typedarray@^1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-upper-case@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" + integrity sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw== + dependencies: + upper-case "^1.1.0" + is-weakmap@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" @@ -7071,6 +7496,11 @@ isarray@^2.0.5: resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +isbinaryfile@^4.0.2: + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -7829,6 +8259,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + lodash.isequal@4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -7844,11 +8279,26 @@ lodash.startcase@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== -lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.21: +lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -7856,6 +8306,18 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +lower-case-first@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1" + integrity sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA== + dependencies: + lower-case "^1.1.2" + +lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA== + lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -7917,6 +8379,11 @@ make-dir@^4.0.0: dependencies: semver "^7.5.3" +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + makeerror@1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" @@ -8023,6 +8490,13 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minimatch@^9.0.0: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimist-options@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -8032,7 +8506,7 @@ minimist-options@^4.0.2: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.2.0, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -8042,6 +8516,13 @@ mixme@^0.5.1: resolved "https://registry.yarnpkg.com/mixme/-/mixme-0.5.9.tgz#a5a58e17354632179ff3ce5b0fc130899c8ba81c" integrity sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw== +mkdirp@^0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" @@ -8074,6 +8555,11 @@ multiformats@^9.4.2: resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + nanoid@^3.3.4: version "3.3.6" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" @@ -8089,6 +8575,16 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + next-transpile-modules@9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/next-transpile-modules/-/next-transpile-modules-9.0.0.tgz#133b1742af082e61cc76b02a0f12ffd40ce2bf90" @@ -8123,6 +8619,13 @@ next@12.3.4: "@next/swc-win32-ia32-msvc" "12.3.4" "@next/swc-win32-x64-msvc" "12.3.4" +no-case@^2.2.0, no-case@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + node-addon-api@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" @@ -8145,6 +8648,23 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== +node-plop@^0.26.3: + version "0.26.3" + resolved "https://registry.yarnpkg.com/node-plop/-/node-plop-0.26.3.tgz#d6fa7e71393c8b940513ba8c4868f8aaa6dea9df" + integrity sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q== + dependencies: + "@babel/runtime-corejs3" "^7.9.2" + "@types/inquirer" "^6.5.0" + change-case "^3.1.0" + del "^5.1.0" + globby "^10.0.1" + handlebars "^4.4.3" + inquirer "^7.1.0" + isbinaryfile "^4.0.2" + lodash.get "^4.4.2" + mkdirp "^0.5.1" + resolve "^1.12.0" + node-releases@^2.0.13: version "2.0.13" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" @@ -8281,7 +8801,7 @@ once@^1.3.0, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.2: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== @@ -8317,6 +8837,35 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" +ora@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" + integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== + dependencies: + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +ora@^5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -8379,6 +8928,36 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pac-proxy-agent@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz#6b9ddc002ec3ff0ba5fdf4a8a21d363bcc612d75" + integrity sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A== + dependencies: + "@tootallnate/quickjs-emscripten" "^0.23.0" + agent-base "^7.0.2" + debug "^4.3.4" + get-uri "^6.0.1" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" + pac-resolver "^7.0.0" + socks-proxy-agent "^8.0.2" + +pac-resolver@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-7.0.0.tgz#79376f1ca26baf245b96b34c339d79bff25e900c" + integrity sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg== + dependencies: + degenerator "^5.0.0" + ip "^1.1.8" + netmask "^2.0.2" + +param-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w== + dependencies: + no-case "^2.2.0" + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -8403,6 +8982,21 @@ parse5@^7.0.0, parse5@^7.1.1: dependencies: entities "^4.4.0" +pascal-case@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" + integrity sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ== + dependencies: + camel-case "^3.0.0" + upper-case-first "^1.1.0" + +path-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" + integrity sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q== + dependencies: + no-case "^2.2.0" + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -8606,6 +9200,20 @@ prop-types@^15.6.2, prop-types@^15.8.1: object-assign "^4.1.1" react-is "^16.13.1" +proxy-agent@^6.2.2: + version "6.3.1" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.3.1.tgz#40e7b230552cf44fd23ffaf7c59024b692612687" + integrity sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ== + dependencies: + agent-base "^7.0.2" + debug "^4.3.4" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.2" + lru-cache "^7.14.1" + pac-proxy-agent "^7.0.1" + proxy-from-env "^1.1.0" + socks-proxy-agent "^8.0.2" + proxy-compare@2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" @@ -8707,6 +9315,16 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" +rc@^1.0.1, rc@^1.1.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + react-collapsed@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/react-collapsed/-/react-collapsed-3.0.2.tgz#94ddf0415e9611003dc863db41417a6aec1898ab" @@ -8807,7 +9425,7 @@ read-yaml-file@^1.1.0: pify "^4.0.1" strip-bom "^3.0.0" -readable-stream@^3.1.1, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -8903,6 +9521,21 @@ regexpu-core@^5.3.1: unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" +registry-auth-token@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20" + integrity sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ== + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + +registry-url@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + integrity sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA== + dependencies: + rc "^1.0.1" + regjsparser@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.10.0.tgz#b1ed26051736b436f22fdec1c8f72635f9f44892" @@ -8968,6 +9601,15 @@ resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.20.0, resolve@^1.2 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.12.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^2.0.0-next.4: version "2.0.0-next.4" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" @@ -8977,6 +9619,14 @@ resolve@^2.0.0-next.4: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -9041,6 +9691,11 @@ run-applescript@^5.0.0: dependencies: execa "^5.0.0" +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -9048,13 +9703,20 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@6, rxjs@^6.6.3, rxjs@^6.6.7: +rxjs@6, rxjs@^6.4.0, rxjs@^6.6.0, rxjs@^6.6.3, rxjs@^6.6.7: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" +rxjs@^7.5.5: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + safe-array-concat@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" @@ -9133,13 +9795,21 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: +semver@^7.0.0, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" +sentence-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4" + integrity sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ== + dependencies: + no-case "^2.2.0" + upper-case-first "^1.1.2" + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -9211,6 +9881,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + smartwrap@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/smartwrap/-/smartwrap-2.0.2.tgz#7e25d3dd58b51c6ca4aba3a9e391650ea62698a4" @@ -9223,6 +9898,30 @@ smartwrap@^2.0.2: wcwidth "^1.0.1" yargs "^15.1.0" +snake-case@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" + integrity sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q== + dependencies: + no-case "^2.2.0" + +socks-proxy-agent@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz#5acbd7be7baf18c46a3f293a840109a430a640ad" + integrity sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g== + dependencies: + agent-base "^7.0.2" + debug "^4.3.4" + socks "^2.7.1" + +socks@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" + integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== + dependencies: + ip "^2.0.0" + smart-buffer "^4.2.0" + sonic-boom@^2.2.1: version "2.8.0" resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" @@ -9455,6 +10154,11 @@ strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + styled-components@^5.3.6: version "5.3.11" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-5.3.11.tgz#9fda7bf1108e39bf3f3e612fcc18170dedcd57a8" @@ -9549,6 +10253,14 @@ svgo@^2.8.0: picocolors "^1.0.0" stable "^0.1.8" +swap-case@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" + integrity sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ== + dependencies: + lower-case "^1.1.1" + upper-case "^1.1.1" + swr@1.3.0, swr@^1.0.1: version "1.3.0" resolved "https://registry.yarnpkg.com/swr/-/swr-1.3.0.tgz#c6531866a35b4db37b38b72c45a63171faf9f4e8" @@ -9613,7 +10325,7 @@ thread-stream@^0.15.1: dependencies: real-require "^0.1.0" -"through@>=2.2.7 <3": +"through@>=2.2.7 <3", through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -9628,6 +10340,27 @@ tiny-warning@^1.0.3: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== +tinycolor2@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" + integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== + +tinygradient@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/tinygradient/-/tinygradient-1.1.5.tgz#0fb855ceb18d96b21ba780b51a8012033b2530ef" + integrity sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw== + dependencies: + "@types/tinycolor2" "^1.4.0" + tinycolor2 "^1.0.0" + +title-case@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa" + integrity sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q== + dependencies: + no-case "^2.2.0" + upper-case "^1.0.3" + titleize@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" @@ -9704,6 +10437,25 @@ ts-essentials@^7.0.1: resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + tsconfig-paths@^3.14.2: version "3.14.2" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" @@ -9724,7 +10476,7 @@ tslib@2.5.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== -tslib@^2.0.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.0: +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.0: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -9749,47 +10501,47 @@ tty-table@^4.1.5: wcwidth "^1.0.1" yargs "^17.7.1" -turbo-darwin-64@1.10.14: - version "1.10.14" - resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.10.14.tgz#9e8061bc0d706a69bc61d88fbfa7690fa2a897fc" - integrity sha512-I8RtFk1b9UILAExPdG/XRgGQz95nmXPE7OiGb6ytjtNIR5/UZBS/xVX/7HYpCdmfriKdVwBKhalCoV4oDvAGEg== - -turbo-darwin-arm64@1.10.14: - version "1.10.14" - resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.10.14.tgz#2589aeb814257601c979dd40ff8a6cace6c9e4e5" - integrity sha512-KAdUWryJi/XX7OD0alOuOa0aJ5TLyd4DNIYkHPHYcM6/d7YAovYvxRNwmx9iv6Vx6IkzTnLeTiUB8zy69QkG9Q== - -turbo-linux-64@1.10.14: - version "1.10.14" - resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.10.14.tgz#c01d26f62f6c47701026dea083054918fe8caf47" - integrity sha512-BOBzoREC2u4Vgpap/WDxM6wETVqVMRcM8OZw4hWzqCj2bqbQ6L0wxs1LCLWVrghQf93JBQtIGAdFFLyCSBXjWQ== - -turbo-linux-arm64@1.10.14: - version "1.10.14" - resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.10.14.tgz#7cbcb091995a09134342a57e0672501115b46df2" - integrity sha512-D8T6XxoTdN5D4V5qE2VZG+/lbZX/89BkAEHzXcsSUTRjrwfMepT3d2z8aT6hxv4yu8EDdooZq/2Bn/vjMI32xw== - -turbo-windows-64@1.10.14: - version "1.10.14" - resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.10.14.tgz#935d2d1da7fb1f9a941fb3aa122fd9a70b61c416" - integrity sha512-zKNS3c1w4i6432N0cexZ20r/aIhV62g69opUn82FLVs/zk3Ie0GVkSB6h0rqIvMalCp7enIR87LkPSDGz9K4UA== - -turbo-windows-arm64@1.10.14: - version "1.10.14" - resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.10.14.tgz#cb3a55d30a75aa76258991e929e92f207cac872f" - integrity sha512-rkBwrTPTxNSOUF7of8eVvvM+BkfkhA2OvpHM94if8tVsU+khrjglilp8MTVPHlyS9byfemPAmFN90oRIPB05BA== - -turbo@^1.10.14: - version "1.10.14" - resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.10.14.tgz#31f3bb3017218191e0de64728da199678a50aa7d" - integrity sha512-hr9wDNYcsee+vLkCDIm8qTtwhJ6+UAMJc3nIY6+PNgUTtXcQgHxCq8BGoL7gbABvNWv76CNbK5qL4Lp9G3ZYRA== +turbo-darwin-64@1.10.16: + version "1.10.16" + resolved "https://registry.yarnpkg.com/turbo-darwin-64/-/turbo-darwin-64-1.10.16.tgz#5a8717c1372f2a75e8cfe0b4b6455119ce410b19" + integrity sha512-+Jk91FNcp9e9NCLYlvDDlp2HwEDp14F9N42IoW3dmHI5ZkGSXzalbhVcrx3DOox3QfiNUHxzWg4d7CnVNCuuMg== + +turbo-darwin-arm64@1.10.16: + version "1.10.16" + resolved "https://registry.yarnpkg.com/turbo-darwin-arm64/-/turbo-darwin-arm64-1.10.16.tgz#19b5b63acf7ee0fce7e1fe5850e093c2ac9c73f5" + integrity sha512-jqGpFZipIivkRp/i+jnL8npX0VssE6IAVNKtu573LXtssZdV/S+fRGYA16tI46xJGxSAivrZ/IcgZrV6Jk80bw== + +turbo-linux-64@1.10.16: + version "1.10.16" + resolved "https://registry.yarnpkg.com/turbo-linux-64/-/turbo-linux-64-1.10.16.tgz#ee97c0011553a96bd7995e7bcc6e65aab8996798" + integrity sha512-PpqEZHwLoizQ6sTUvmImcRmACyRk9EWLXGlqceogPZsJ1jTRK3sfcF9fC2W56zkSIzuLEP07k5kl+ZxJd8JMcg== + +turbo-linux-arm64@1.10.16: + version "1.10.16" + resolved "https://registry.yarnpkg.com/turbo-linux-arm64/-/turbo-linux-arm64-1.10.16.tgz#2723cc2a846d89df7484002161b25673f4f04009" + integrity sha512-TMjFYz8to1QE0fKVXCIvG/4giyfnmqcQIwjdNfJvKjBxn22PpbjeuFuQ5kNXshUTRaTJihFbuuCcb5OYFNx4uw== + +turbo-windows-64@1.10.16: + version "1.10.16" + resolved "https://registry.yarnpkg.com/turbo-windows-64/-/turbo-windows-64-1.10.16.tgz#87c46a78502a86dec73634b255a6b3471285969b" + integrity sha512-+jsf68krs0N66FfC4/zZvioUap/Tq3sPFumnMV+EBo8jFdqs4yehd6+MxIwYTjSQLIcpH8KoNMB0gQYhJRLZzw== + +turbo-windows-arm64@1.10.16: + version "1.10.16" + resolved "https://registry.yarnpkg.com/turbo-windows-arm64/-/turbo-windows-arm64-1.10.16.tgz#a6208c2bc27e5e6ef0aa4a3e64389c4285c3f274" + integrity sha512-sKm3hcMM1bl0B3PLG4ifidicOGfoJmOEacM5JtgBkYM48ncMHjkHfFY7HrJHZHUnXM4l05RQTpLFoOl/uIo2HQ== + +turbo@^1.10.16: + version "1.10.16" + resolved "https://registry.yarnpkg.com/turbo/-/turbo-1.10.16.tgz#51601a65a3aa56d1b9d9cb9a2ab3a5a2eab41e19" + integrity sha512-2CEaK4FIuSZiP83iFa9GqMTQhroW2QryckVqUydmg4tx78baftTOS0O+oDAhvo9r9Nit4xUEtC1RAHoqs6ZEtg== optionalDependencies: - turbo-darwin-64 "1.10.14" - turbo-darwin-arm64 "1.10.14" - turbo-linux-64 "1.10.14" - turbo-linux-arm64 "1.10.14" - turbo-windows-64 "1.10.14" - turbo-windows-arm64 "1.10.14" + turbo-darwin-64 "1.10.16" + turbo-darwin-arm64 "1.10.16" + turbo-linux-64 "1.10.16" + turbo-linux-arm64 "1.10.16" + turbo-windows-64 "1.10.16" + turbo-windows-arm64 "1.10.16" type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -9915,6 +10667,11 @@ ua-parser-js@^1.0.35: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.35.tgz#c4ef44343bc3db0a3cbefdf21822f1b1fc1ab011" integrity sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA== +uglify-js@^3.1.4: + version "3.17.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" + integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + uint8arrays@^3.0.0, uint8arrays@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" @@ -9983,6 +10740,26 @@ update-browserslist-db@^1.0.11: escalade "^3.1.1" picocolors "^1.0.0" +update-check@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/update-check/-/update-check-1.5.4.tgz#5b508e259558f1ad7dbc8b4b0457d4c9d28c8743" + integrity sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ== + dependencies: + registry-auth-token "3.3.2" + registry-url "3.1.0" + +upper-case-first@^1.1.0, upper-case-first@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" + integrity sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ== + dependencies: + upper-case "^1.1.1" + +upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -10041,6 +10818,11 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + v8-to-istanbul@^9.0.1: version "9.1.0" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" @@ -10058,6 +10840,13 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validate-npm-package-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713" + integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== + dependencies: + builtins "^5.0.0" + valtio@1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.0.tgz#c029dcd17a0f99d2fbec933721fe64cfd32a31ed" @@ -10214,6 +11003,11 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + wordwrapjs@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" @@ -10222,7 +11016,7 @@ wordwrapjs@^4.0.0: reduce-flatten "^2.0.0" typical "^5.2.0" -wrap-ansi@^6.2.0: +wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== @@ -10356,6 +11150,11 @@ yargs@^17.3.1, yargs@^17.7.1: y18n "^5.0.5" yargs-parser "^21.1.1" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" From 7774bcedfb31572a6901ed5c24c5d737eb4eeb70 Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Wed, 15 Nov 2023 22:46:33 +0300 Subject: [PATCH 2/9] chore: add generator for a new wallet adapter --- package.json | 3 +- turbo/generators/config.ts | 6 ++ turbo/generators/wallet/config.ts | 47 +++++++++++++++ .../wallet/templates/.eslintrc.json.hbs | 9 +++ .../wallet/templates/package.json.hbs | 43 ++++++++++++++ .../wallet/templates/rollup.config.js | 57 +++++++++++++++++++ .../wallet/templates/src/custom.d.ts.hbs | 4 ++ .../wallet/templates/src/icons/index.ts.hbs | 0 .../wallet/templates/src/index.ts.hbs | 34 +++++++++++ .../wallet/templates/tsconfig.json.hbs | 8 +++ 10 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 turbo/generators/config.ts create mode 100644 turbo/generators/wallet/config.ts create mode 100644 turbo/generators/wallet/templates/.eslintrc.json.hbs create mode 100644 turbo/generators/wallet/templates/package.json.hbs create mode 100644 turbo/generators/wallet/templates/rollup.config.js create mode 100644 turbo/generators/wallet/templates/src/custom.d.ts.hbs create mode 100644 turbo/generators/wallet/templates/src/icons/index.ts.hbs create mode 100644 turbo/generators/wallet/templates/src/index.ts.hbs create mode 100644 turbo/generators/wallet/templates/tsconfig.json.hbs diff --git a/package.json b/package.json index 3d11aeb9..183902ce 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "test": "turbo run test", "format": "prettier --write \"**/*.{ts,tsx,md}\"", "check-packages": "turbo run lint test --filter=./packages/*", - "release": "changeset publish" + "release": "changeset publish", + "new-wallet": "turbo gen wallet" }, "devDependencies": { "@changesets/cli": "^2.26.2", diff --git a/turbo/generators/config.ts b/turbo/generators/config.ts new file mode 100644 index 00000000..e0db4f18 --- /dev/null +++ b/turbo/generators/config.ts @@ -0,0 +1,6 @@ +import { PlopTypes } from "@turbo/gen"; +import { walletGenerator } from './wallet/config'; + +export default function generator(plop: PlopTypes.NodePlopAPI): void { + walletGenerator(plop); +} diff --git a/turbo/generators/wallet/config.ts b/turbo/generators/wallet/config.ts new file mode 100644 index 00000000..48c605d9 --- /dev/null +++ b/turbo/generators/wallet/config.ts @@ -0,0 +1,47 @@ +import { PlopTypes } from "@turbo/gen"; + +export function walletGenerator(plop: PlopTypes.NodePlopAPI): void { + plop.setGenerator("wallet", { + description: + "Generate a new Wallet Adapter", + prompts: [ + { + type: "input", + name: "walletId", + message: "Enter ID for the wallet (no spaces or hyphens, camelcase)", + validate: (input: string) => { + if (input.includes(" ")) { + return "wallet id cannot include spaces"; + } + if (input.includes("-")) { + return "wallet id cannot include hyphens"; + } + if (!input) { + return "wallet id is required"; + } + return true; + }, + }, + { + type: "input", + name: "walletName", + message: "Enter name for the wallet", + validate: (input: string) => { + if (!input) { + return "wallet name is required"; + } + return true; + }, + }, + ], + actions: [ + { + type: "addMany", + destination: "{{ turbo.paths.root }}/packages/wallets/{{ walletId }}", + templateFiles: "wallet/templates/**/*", + globOptions: { dot: true }, + base: 'wallet/templates' + }, + ], + }); +} diff --git a/turbo/generators/wallet/templates/.eslintrc.json.hbs b/turbo/generators/wallet/templates/.eslintrc.json.hbs new file mode 100644 index 00000000..06342be5 --- /dev/null +++ b/turbo/generators/wallet/templates/.eslintrc.json.hbs @@ -0,0 +1,9 @@ +{ + "root": true, + "extends": [ + "custom" + ], + "rules": { + "import/no-extraneous-dependencies": "warn" + } +} diff --git a/turbo/generators/wallet/templates/package.json.hbs b/turbo/generators/wallet/templates/package.json.hbs new file mode 100644 index 00000000..944f0603 --- /dev/null +++ b/turbo/generators/wallet/templates/package.json.hbs @@ -0,0 +1,43 @@ +{ + "name": "@reef-knot/wallet-adapter-{{walletId}}", + "version": "1.0.0", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": "./dist/index.js" + }, + "typesVersions": { + "*": { + ".": [ + "dist/index.d.ts" + ] + } + }, + "type": "module", + "files": [ + "dist" + ], + "license": "MIT", + "homepage": "https://github.com/lidofinance/reef-knot", + "bugs": { + "url": "https://github.com/lidofinance/reef-knot/issues" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "scripts": { + "build": "rollup -c", + "dev": "dev=on rollup -c -w", + "lint": "eslint --ext ts,tsx,js,mjs ." + }, + "devDependencies": { + "@reef-knot/types": "^1.3.0", + "@svgr/rollup": "^6.5.1", + "eslint-config-custom": "*" + }, + "peerDependencies": { + "wagmi": "^0.12.19", + "@reef-knot/types": "^1.2.1" + } +} diff --git a/turbo/generators/wallet/templates/rollup.config.js b/turbo/generators/wallet/templates/rollup.config.js new file mode 100644 index 00000000..a91f4d4a --- /dev/null +++ b/turbo/generators/wallet/templates/rollup.config.js @@ -0,0 +1,57 @@ +import * as process from 'node:process'; +import fs from 'node:fs'; +import ts from 'typescript'; +import { defineConfig } from 'rollup'; +import del from 'rollup-plugin-delete'; +import resolve from '@rollup/plugin-node-resolve'; +import typescript from 'rollup-plugin-typescript2'; +import { babel } from '@rollup/plugin-babel'; +import svgr from '@svgr/rollup'; + +const extensions = ['.js', '.jsx', '.ts', '.tsx', '.svg']; +const { dependencies = {}, peerDependencies = {} } = + JSON.parse(fs.readFileSync('package.json', 'utf-8')); +const commonExternal = [ + 'react/jsx-runtime', + // Do not include in the bundle subpath exports like: + /^@reef-knot\/.*/, // e.g. @reef-knot// + /^reef-knot\/.*/, // e.g. reef-knot/wallets-icons/react +]; +const external = [ + ...commonExternal, + ...Object.keys({ ...dependencies, ...peerDependencies }), + /node_modules/ +]; +const isDevMode = process.env.dev === 'on'; + +export default defineConfig({ + input: './src/index', + output: { + format: 'es', + dir: 'dist', + preserveModules: true, + preserveModulesRoot: 'src', + generatedCode: 'es2015' + }, + plugins: [ + isDevMode ? null : del({ targets: 'dist/*', runOnce: true }), + resolve({ extensions, preferBuiltins: true }), + svgr({ + typescript: true, + prettier: false, + memo: true, + svgo: false, + }), + typescript({ + typescript: ts, + tsconfig: 'tsconfig.json', + check: false, + }), + babel({ + exclude: 'node_modules/**', + babelHelpers: 'bundled', + extensions, + }), + ], + external, +}); diff --git a/turbo/generators/wallet/templates/src/custom.d.ts.hbs b/turbo/generators/wallet/templates/src/custom.d.ts.hbs new file mode 100644 index 00000000..006534e2 --- /dev/null +++ b/turbo/generators/wallet/templates/src/custom.d.ts.hbs @@ -0,0 +1,4 @@ +declare module '*.svg' { + const content: React.FunctionComponent>; + export default content; +} diff --git a/turbo/generators/wallet/templates/src/icons/index.ts.hbs b/turbo/generators/wallet/templates/src/icons/index.ts.hbs new file mode 100644 index 00000000..e69de29b diff --git a/turbo/generators/wallet/templates/src/index.ts.hbs b/turbo/generators/wallet/templates/src/index.ts.hbs new file mode 100644 index 00000000..a0f6cfb3 --- /dev/null +++ b/turbo/generators/wallet/templates/src/index.ts.hbs @@ -0,0 +1,34 @@ +import { WalletAdapterType } from '@reef-knot/types'; +import { Ethereum as EthereumTypeWagmi } from '@wagmi/core'; +import { InjectedConnector } from 'wagmi/connectors/injected'; +import { WalletIcon } from './icons/index.js'; + +declare module '@wagmi/core' { + interface Ethereum { + // _isWalletName_?: true; + } +} + +declare global { + interface Window { + // _walletWeb3Provider_?: EthereumTypeWagmi; + } +} + +export const {{properCase walletName}}: WalletAdapterType = ({ chains }) => ({ + walletName: '{{properCase walletName}}', + walletId: '{{camelCase walletId}}', + icon: WalletIcon, + // detector: () => !!globalThis.window?.ethereum?._isWalletName_, + downloadURLs: { + default: 'https://', + }, + connector: new InjectedConnector({ + chains, + options: { + name: '{{properCase walletName}}', + getProvider: () => + globalThis.window?._walletWeb3Provider_ || globalThis.window?.ethereum, + }, + }), +}); diff --git a/turbo/generators/wallet/templates/tsconfig.json.hbs b/turbo/generators/wallet/templates/tsconfig.json.hbs new file mode 100644 index 00000000..23709e73 --- /dev/null +++ b/turbo/generators/wallet/templates/tsconfig.json.hbs @@ -0,0 +1,8 @@ +{ + "extends": "tsconfig/react-library.json", + "include": ["src/**/*"], + "exclude": ["node_modules", "dist", "**/*.test.*"], + "compilerOptions": { + "rootDir": "src", + } +} From 95971fc053640ff3fc3895af640dcfa2f0dd3ecf Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Thu, 16 Nov 2023 17:26:52 +0300 Subject: [PATCH 3/9] feat: add brave wallet adapter --- .../WalletsModalForEth/WalletsModalForEth.tsx | 3 - packages/wallets-list/package.json | 3 +- packages/wallets-list/src/ethereum.ts | 2 + packages/wallets/brave/.eslintrc.json | 9 +++ packages/wallets/brave/package.json | 43 ++++++++++++++ packages/wallets/brave/rollup.config.js | 57 +++++++++++++++++++ packages/wallets/brave/src/custom.d.ts | 4 ++ .../svg => wallets/brave/src/icons}/brave.svg | 0 packages/wallets/brave/src/icons/index.ts | 1 + packages/wallets/brave/src/index.ts | 30 ++++++++++ packages/wallets/brave/tsconfig.json | 8 +++ 11 files changed, 156 insertions(+), 4 deletions(-) create mode 100644 packages/wallets/brave/.eslintrc.json create mode 100644 packages/wallets/brave/package.json create mode 100644 packages/wallets/brave/rollup.config.js create mode 100644 packages/wallets/brave/src/custom.d.ts rename packages/{wallets-icons/src/svg => wallets/brave/src/icons}/brave.svg (100%) create mode 100644 packages/wallets/brave/src/icons/index.ts create mode 100644 packages/wallets/brave/src/index.ts create mode 100644 packages/wallets/brave/tsconfig.json diff --git a/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx b/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx index 6df3e536..ff9e3b18 100644 --- a/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx +++ b/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx @@ -3,7 +3,6 @@ import { helpers } from '@reef-knot/web3-react'; import { useReefKnotContext } from '@reef-knot/core-react'; import { WalletAdapterData } from '@reef-knot/types'; import { - ConnectBraveWallet, ConnectCoinbase, ConnectGamestop, ConnectImToken, @@ -29,7 +28,6 @@ const walletsButtons: { [K in WalletId | string]: React.ComponentType } = { [WALLET_IDS.TRUST]: ConnectTrust, [WALLET_IDS.IM_TOKEN]: ConnectImToken, [WALLET_IDS.MATH_WALLET]: ConnectMathWallet, - [WALLET_IDS.BRAVE]: ConnectBraveWallet, [WALLET_IDS.OPERA]: ConnectOperaWallet, [WALLET_IDS.GAMESTOP]: ConnectGamestop, [WALLET_IDS.XDEFI]: ConnectXdefi, @@ -83,7 +81,6 @@ function getWalletsButtons( ]; // Deprecated way of adding wallets with additional detection - addWalletTo(wallets, WALLET_IDS.BRAVE, helpers.isBraveWalletProvider()); addWalletTo(wallets, WALLET_IDS.OPERA, helpers.isOperaWalletProvider()); addWalletTo(wallets, WALLET_IDS.MATH_WALLET, helpers.isMathWalletProvider()); addWalletTo(wallets, WALLET_IDS.GAMESTOP, helpers.isGamestopProvider()); diff --git a/packages/wallets-list/package.json b/packages/wallets-list/package.json index 20a7ff41..b6760452 100644 --- a/packages/wallets-list/package.json +++ b/packages/wallets-list/package.json @@ -47,7 +47,8 @@ "@reef-knot/wallet-adapter-zengo": "1.2.4", "@reef-knot/wallet-adapter-ambire": "1.2.4", "@reef-knot/wallet-adapter-bitkeep": "1.1.0", - "@reef-knot/wallet-adapter-coin98": "1.0.0" + "@reef-knot/wallet-adapter-coin98": "1.0.0", + "@reef-knot/wallet-adapter-brave": "1.0.0" }, "devDependencies": { "@reef-knot/types": "^1.3.0", diff --git a/packages/wallets-list/src/ethereum.ts b/packages/wallets-list/src/ethereum.ts index 8b7f38cd..4ccf6f38 100644 --- a/packages/wallets-list/src/ethereum.ts +++ b/packages/wallets-list/src/ethereum.ts @@ -10,6 +10,7 @@ import { Ambire } from '@reef-knot/wallet-adapter-ambire'; import { Phantom } from '@reef-knot/wallet-adapter-phantom'; import { BitKeep } from '@reef-knot/wallet-adapter-bitkeep'; import { Coin98 } from '@reef-knot/wallet-adapter-coin98'; +import { Brave } from '@reef-knot/wallet-adapter-brave'; export const WalletsListEthereum: WalletsListType = { okx: Okx, @@ -23,4 +24,5 @@ export const WalletsListEthereum: WalletsListType = { phantom: Phantom, bitkeep: BitKeep, coin98: Coin98, + brave: Brave, }; diff --git a/packages/wallets/brave/.eslintrc.json b/packages/wallets/brave/.eslintrc.json new file mode 100644 index 00000000..06342be5 --- /dev/null +++ b/packages/wallets/brave/.eslintrc.json @@ -0,0 +1,9 @@ +{ + "root": true, + "extends": [ + "custom" + ], + "rules": { + "import/no-extraneous-dependencies": "warn" + } +} diff --git a/packages/wallets/brave/package.json b/packages/wallets/brave/package.json new file mode 100644 index 00000000..4bc60e75 --- /dev/null +++ b/packages/wallets/brave/package.json @@ -0,0 +1,43 @@ +{ + "name": "@reef-knot/wallet-adapter-brave", + "version": "1.0.0", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": "./dist/index.js" + }, + "typesVersions": { + "*": { + ".": [ + "dist/index.d.ts" + ] + } + }, + "type": "module", + "files": [ + "dist" + ], + "license": "MIT", + "homepage": "https://github.com/lidofinance/reef-knot", + "bugs": { + "url": "https://github.com/lidofinance/reef-knot/issues" + }, + "publishConfig": { + "registry": "https://registry.npmjs.org/", + "access": "public" + }, + "scripts": { + "build": "rollup -c", + "dev": "dev=on rollup -c -w", + "lint": "eslint --ext ts,tsx,js,mjs ." + }, + "devDependencies": { + "@reef-knot/types": "^1.3.0", + "@svgr/rollup": "^6.5.1", + "eslint-config-custom": "*" + }, + "peerDependencies": { + "wagmi": "^0.12.19", + "@reef-knot/types": "^1.2.1" + } +} diff --git a/packages/wallets/brave/rollup.config.js b/packages/wallets/brave/rollup.config.js new file mode 100644 index 00000000..a91f4d4a --- /dev/null +++ b/packages/wallets/brave/rollup.config.js @@ -0,0 +1,57 @@ +import * as process from 'node:process'; +import fs from 'node:fs'; +import ts from 'typescript'; +import { defineConfig } from 'rollup'; +import del from 'rollup-plugin-delete'; +import resolve from '@rollup/plugin-node-resolve'; +import typescript from 'rollup-plugin-typescript2'; +import { babel } from '@rollup/plugin-babel'; +import svgr from '@svgr/rollup'; + +const extensions = ['.js', '.jsx', '.ts', '.tsx', '.svg']; +const { dependencies = {}, peerDependencies = {} } = + JSON.parse(fs.readFileSync('package.json', 'utf-8')); +const commonExternal = [ + 'react/jsx-runtime', + // Do not include in the bundle subpath exports like: + /^@reef-knot\/.*/, // e.g. @reef-knot// + /^reef-knot\/.*/, // e.g. reef-knot/wallets-icons/react +]; +const external = [ + ...commonExternal, + ...Object.keys({ ...dependencies, ...peerDependencies }), + /node_modules/ +]; +const isDevMode = process.env.dev === 'on'; + +export default defineConfig({ + input: './src/index', + output: { + format: 'es', + dir: 'dist', + preserveModules: true, + preserveModulesRoot: 'src', + generatedCode: 'es2015' + }, + plugins: [ + isDevMode ? null : del({ targets: 'dist/*', runOnce: true }), + resolve({ extensions, preferBuiltins: true }), + svgr({ + typescript: true, + prettier: false, + memo: true, + svgo: false, + }), + typescript({ + typescript: ts, + tsconfig: 'tsconfig.json', + check: false, + }), + babel({ + exclude: 'node_modules/**', + babelHelpers: 'bundled', + extensions, + }), + ], + external, +}); diff --git a/packages/wallets/brave/src/custom.d.ts b/packages/wallets/brave/src/custom.d.ts new file mode 100644 index 00000000..006534e2 --- /dev/null +++ b/packages/wallets/brave/src/custom.d.ts @@ -0,0 +1,4 @@ +declare module '*.svg' { + const content: React.FunctionComponent>; + export default content; +} diff --git a/packages/wallets-icons/src/svg/brave.svg b/packages/wallets/brave/src/icons/brave.svg similarity index 100% rename from packages/wallets-icons/src/svg/brave.svg rename to packages/wallets/brave/src/icons/brave.svg diff --git a/packages/wallets/brave/src/icons/index.ts b/packages/wallets/brave/src/icons/index.ts new file mode 100644 index 00000000..ad0ef8de --- /dev/null +++ b/packages/wallets/brave/src/icons/index.ts @@ -0,0 +1 @@ +export { default as WalletIcon } from './brave.svg'; diff --git a/packages/wallets/brave/src/index.ts b/packages/wallets/brave/src/index.ts new file mode 100644 index 00000000..c502d455 --- /dev/null +++ b/packages/wallets/brave/src/index.ts @@ -0,0 +1,30 @@ +import { WalletAdapterType } from '@reef-knot/types'; +import { Ethereum as EthereumTypeWagmi } from '@wagmi/core'; +import { InjectedConnector } from 'wagmi/connectors/injected'; +import { WalletIcon } from './icons/index.js'; + +declare global { + interface Window { + braveEthereum?: EthereumTypeWagmi; + } +} + +export const Brave: WalletAdapterType = ({ chains }) => ({ + walletName: 'Brave', + walletId: 'brave', + icon: WalletIcon, + detector: () => + !!globalThis.window?.braveEthereum?.isBraveWallet || + !!globalThis.window?.ethereum?.isBraveWallet, + downloadURLs: { + default: 'https://brave.com/wallet/', + }, + connector: new InjectedConnector({ + chains, + options: { + name: 'Brave', + getProvider: () => + globalThis.window?.braveEthereum || globalThis.window?.ethereum, + }, + }), +}); diff --git a/packages/wallets/brave/tsconfig.json b/packages/wallets/brave/tsconfig.json new file mode 100644 index 00000000..23709e73 --- /dev/null +++ b/packages/wallets/brave/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "tsconfig/react-library.json", + "include": ["src/**/*"], + "exclude": ["node_modules", "dist", "**/*.test.*"], + "compilerOptions": { + "rootDir": "src", + } +} From 2eb7ab0c013ef19fdadee245bfb6a264d770c26e Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Thu, 16 Nov 2023 18:09:01 +0300 Subject: [PATCH 4/9] refactor: remove legacy brave related code --- .../src/connectButtons/connectBraveWallet.tsx | 95 ------------------- .../src/connectButtons/index.ts | 1 - .../src/constants/wallets.ts | 1 - packages/wallets-icons/src/react/index.ts | 1 - .../web3-react/src/constants/connectors.ts | 1 - .../src/helpers/providerDetectors.ts | 1 - packages/web3-react/src/hooks/index.ts | 1 - .../src/hooks/useConnectorBraveWallet.ts | 47 --------- .../web3-react/src/hooks/useConnectorInfo.ts | 5 - 9 files changed, 153 deletions(-) delete mode 100644 packages/connect-wallet-modal/src/connectButtons/connectBraveWallet.tsx delete mode 100644 packages/web3-react/src/hooks/useConnectorBraveWallet.ts diff --git a/packages/connect-wallet-modal/src/connectButtons/connectBraveWallet.tsx b/packages/connect-wallet-modal/src/connectButtons/connectBraveWallet.tsx deleted file mode 100644 index c8ffdeb2..00000000 --- a/packages/connect-wallet-modal/src/connectButtons/connectBraveWallet.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import React, { FC, useCallback } from 'react'; -import { useConnectorBraveWallet, helpers } from '@reef-knot/web3-react'; -import { Brave as WalletIcon } from '@reef-knot/wallets-icons/react'; -import { CONFLICTS } from '../constants/conflictChecks'; -import { ConnectWalletProps } from './types'; -import { ConnectButton } from '../components/ConnectButton'; -import checkConflicts from '../helpers/checkConflicts'; -import { checkIfBraveBrowser } from '../helpers'; - -const ConnectBraveWallet: FC = ( - props: ConnectWalletProps, -) => { - const { - onConnect, - onBeforeConnect, - shouldInvertWalletIcon, - setRequirements, - metrics, - ...rest - } = props; - const { isBraveWalletProvider, isMetamaskProvider } = helpers; - const onConnectBrave = metrics?.events?.connect?.handlers.onConnectBrave; - const onClickBrave = metrics?.events?.click?.handlers.onClickBrave; - const { connect } = useConnectorBraveWallet({ - onConnect: () => { - onConnect?.(); - onConnectBrave?.(); - }, - }); - - const handleConflicts = useCallback(async () => { - // Since the Brave Wallet is built into the Brave Browser and available only there, - // there is no sense to check conflicts if user's browser is not Brave. - if (await checkIfBraveBrowser()) { - let conflictsCheckResult = checkConflicts([ - CONFLICTS.Coin98, - CONFLICTS.MathWallet, - CONFLICTS.Tally, - CONFLICTS.Exodus, - CONFLICTS.Gamestop, - CONFLICTS.Xdefi, - CONFLICTS.Trust, - ]); - - // If no other conflicts were found, then also check for a conflict with MetaMask - if (!conflictsCheckResult.hasConflicts) { - conflictsCheckResult = checkConflicts([ - [() => !isBraveWalletProvider() && isMetamaskProvider(), 'MetaMask'], - ]); - } - - const { hasConflicts, conflictingApps, conflictingAppsArray } = - conflictsCheckResult; - - if (hasConflicts) { - setRequirements(true, { - icon: , - title: "Brave Wallet couldn't connect", - text: - conflictingAppsArray.length > 1 ? ( -
- Your browser has these extensions turned-on:
- {conflictingApps}
- Please, turn them off and reload the page to enable Brave - Wallet. -
- ) : ( - `Your browser has a turned-on “${conflictingApps}” extension.` + - ' Please, turn off this extension and reload the page to enable Brave Wallet.' - ), - }); - return true; - } - } - return false; - }, [isBraveWalletProvider, isMetamaskProvider, setRequirements]); - - const handleConnect = useCallback(async () => { - onBeforeConnect?.(); - onClickBrave?.(); - - const hasConflicts = await handleConflicts(); - if (hasConflicts) return; - - await connect(); - }, [onBeforeConnect, onClickBrave, handleConflicts, connect]); - - return ( - - Brave - - ); -}; - -export default ConnectBraveWallet; diff --git a/packages/connect-wallet-modal/src/connectButtons/index.ts b/packages/connect-wallet-modal/src/connectButtons/index.ts index 107bd74e..08b6d5b2 100644 --- a/packages/connect-wallet-modal/src/connectButtons/index.ts +++ b/packages/connect-wallet-modal/src/connectButtons/index.ts @@ -4,7 +4,6 @@ export { default as ConnectLedger } from './connectLedger'; export { default as ConnectMetamask } from './connectMetamask'; export { default as ConnectTrust } from './connectTrust'; export { default as ConnectMathWallet } from './connectMathWallet'; -export { default as ConnectBraveWallet } from './connectBraveWallet'; export { default as ConnectOperaWallet } from './connectOperaWallet'; export { default as ConnectGamestop } from './connectGamestop'; export { default as ConnectXdefi } from './connectXdefi'; diff --git a/packages/connect-wallet-modal/src/constants/wallets.ts b/packages/connect-wallet-modal/src/constants/wallets.ts index 3ded7137..3633c51c 100644 --- a/packages/connect-wallet-modal/src/constants/wallets.ts +++ b/packages/connect-wallet-modal/src/constants/wallets.ts @@ -6,7 +6,6 @@ export const WALLET_IDS = { IM_TOKEN: 'ImToken', COIN98: 'Coin98', MATH_WALLET: 'MathWallet', - BRAVE: 'Brave Wallet', OPERA: 'Opera Wallet', GAMESTOP: 'Gamestop', XDEFI: 'Xdefi', diff --git a/packages/wallets-icons/src/react/index.ts b/packages/wallets-icons/src/react/index.ts index b67a0ad0..7df96e68 100644 --- a/packages/wallets-icons/src/react/index.ts +++ b/packages/wallets-icons/src/react/index.ts @@ -1,4 +1,3 @@ -export { default as Brave } from '../svg/brave.svg'; export { default as Coinbase } from '../svg/coinbase.svg'; export { default as Gamestop } from '../svg/gamestop.svg'; export { default as ImToken } from '../svg/imtoken.svg'; diff --git a/packages/web3-react/src/constants/connectors.ts b/packages/web3-react/src/constants/connectors.ts index 7287b184..4bb71359 100644 --- a/packages/web3-react/src/constants/connectors.ts +++ b/packages/web3-react/src/constants/connectors.ts @@ -10,7 +10,6 @@ export enum PROVIDER_NAMES { LEDGER = 'Ledger', COIN98 = 'Coin98', MATH_WALLET = 'MathWallet', - BRAVE = 'Brave Wallet', OPERA = 'Opera Crypto Wallet', GAMESTOP = 'GameStop Wallet', XDEFI = 'XDEFI', diff --git a/packages/web3-react/src/helpers/providerDetectors.ts b/packages/web3-react/src/helpers/providerDetectors.ts index 7872b244..d899f374 100644 --- a/packages/web3-react/src/helpers/providerDetectors.ts +++ b/packages/web3-react/src/helpers/providerDetectors.ts @@ -14,7 +14,6 @@ declare global { isMathWallet?: boolean; isCoinbaseWallet?: boolean; isTally?: boolean; - isBraveWallet?: boolean; isExodus?: boolean; isOpera?: boolean; isGamestop?: boolean; diff --git a/packages/web3-react/src/hooks/index.ts b/packages/web3-react/src/hooks/index.ts index 3adfd7de..78c15b96 100644 --- a/packages/web3-react/src/hooks/index.ts +++ b/packages/web3-react/src/hooks/index.ts @@ -9,7 +9,6 @@ export * from './useConnectorMathWallet'; export * from './useConnectors'; export * from './useConnectorStorage'; export * from './useConnectorTrust'; -export * from './useConnectorBraveWallet'; export * from './useConnectorOperaWallet'; export * from './useConnectorGamestop'; export * from './useConnectorXdefi'; diff --git a/packages/web3-react/src/hooks/useConnectorBraveWallet.ts b/packages/web3-react/src/hooks/useConnectorBraveWallet.ts deleted file mode 100644 index d9673eba..00000000 --- a/packages/web3-react/src/hooks/useConnectorBraveWallet.ts +++ /dev/null @@ -1,47 +0,0 @@ -import invariant from 'tiny-invariant'; -import warning from 'tiny-warning'; -import { useCallback } from 'react'; -import { InjectedConnector } from '@web3-react/injected-connector'; -import { useConnectors } from './useConnectors'; -import { useWeb3 } from './useWeb3'; -import { hasInjected, isBraveWalletProvider, openWindow } from '../helpers'; -import { useForceDisconnect } from './useDisconnect'; -import { ConnectorHookArgs } from './types'; - -type ConnectorHookResult = { - connect: () => Promise; - connector: InjectedConnector; -}; - -const WALLET_URL = 'https://brave.com/download/'; - -export const useConnectorBraveWallet = ( - args?: ConnectorHookArgs, -): ConnectorHookResult => { - const { injected } = useConnectors(); - const { activate } = useWeb3(); - const { disconnect } = useForceDisconnect(); - const onConnect = args?.onConnect; - - const suggestApp = useCallback(() => { - try { - openWindow(WALLET_URL); - } catch (error) { - warning(false, 'Failed to open the link'); - } - }, []); - - const connect = useCallback(async () => { - invariant(injected, 'Connector is required'); - - if (hasInjected() && isBraveWalletProvider()) { - await disconnect(); - await activate(injected); - onConnect?.(); - } else { - suggestApp(); - } - }, [injected, disconnect, activate, onConnect, suggestApp]); - - return { connect, connector: injected }; -}; diff --git a/packages/web3-react/src/hooks/useConnectorInfo.ts b/packages/web3-react/src/hooks/useConnectorInfo.ts index 59c6a039..c5686f75 100644 --- a/packages/web3-react/src/hooks/useConnectorInfo.ts +++ b/packages/web3-react/src/hooks/useConnectorInfo.ts @@ -9,7 +9,6 @@ import { import { useWeb3 } from './useWeb3'; import { PROVIDER_NAMES } from '../constants'; import { - isBraveWalletProvider, isCoin98Provider, isCoinbaseProvider, isDappBrowserProvider, @@ -36,7 +35,6 @@ type ConnectorInfo = { isMathWallet: boolean; isImToken: boolean; isTrust: boolean; - isBraveWallet: boolean; isOperaWallet: boolean; isGamestop: boolean; isXdefi: boolean; @@ -75,7 +73,6 @@ export const useConnectorInfo = (): ConnectorInfo => { const isMathWallet = isInjected && isMathWalletProvider(); const isImToken = isInjected && isImTokenProvider(); const isTrust = isInjected && isTrustProvider(); - const isBraveWallet = isInjected && isBraveWalletProvider(); const isOperaWallet = isInjected && isOperaWalletProvider(); const isGamestop = isInjected && isGamestopProvider(); const isXdefi = isInjected && isXdefiProvider(); @@ -107,7 +104,6 @@ export const useConnectorInfo = (): ConnectorInfo => { if (isCoin98) return PROVIDER_NAMES.COIN98; if (isCoinbase) return PROVIDER_NAMES.COINBASE; if (isOperaWallet) return PROVIDER_NAMES.OPERA; - if (isBraveWallet) return PROVIDER_NAMES.BRAVE; if (isZerion) return PROVIDER_NAMES.ZERION; // Metamask should be last in this list because almost all EIP-1193 wallets // are trying to mimic Metamask by setting isMetamask = true @@ -136,7 +132,6 @@ export const useConnectorInfo = (): ConnectorInfo => { isMathWallet, isImToken, isTrust, - isBraveWallet, isOperaWallet, isGamestop, isXdefi, From d0a5d713111eae756b53ff71b80beca0fe45545e Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Thu, 16 Nov 2023 18:19:15 +0300 Subject: [PATCH 5/9] refactor: remove legacy coin98 code --- .../web3-react/src/constants/connectors.ts | 1 - .../src/helpers/providerDetectors.ts | 2 - packages/web3-react/src/hooks/index.ts | 1 - .../src/hooks/useConnectorCoin98.ts | 56 ------------------- .../web3-react/src/hooks/useConnectorInfo.ts | 5 -- 5 files changed, 65 deletions(-) delete mode 100644 packages/web3-react/src/hooks/useConnectorCoin98.ts diff --git a/packages/web3-react/src/constants/connectors.ts b/packages/web3-react/src/constants/connectors.ts index 4bb71359..b37b781b 100644 --- a/packages/web3-react/src/constants/connectors.ts +++ b/packages/web3-react/src/constants/connectors.ts @@ -8,7 +8,6 @@ export enum PROVIDER_NAMES { INJECTED = 'Injected', LEDGER_HQ_LIVE = 'Ledger Live', LEDGER = 'Ledger', - COIN98 = 'Coin98', MATH_WALLET = 'MathWallet', OPERA = 'Opera Crypto Wallet', GAMESTOP = 'GameStop Wallet', diff --git a/packages/web3-react/src/helpers/providerDetectors.ts b/packages/web3-react/src/helpers/providerDetectors.ts index d899f374..6c63163b 100644 --- a/packages/web3-react/src/helpers/providerDetectors.ts +++ b/packages/web3-react/src/helpers/providerDetectors.ts @@ -2,7 +2,6 @@ import { isMobileOrTablet } from './ua'; declare global { interface Window { - coin98?: boolean; gamestop?: Record; xfi?: Record; // @ts-expect-error wagmi also declares window.ethereum type @@ -10,7 +9,6 @@ declare global { isMetaMask?: boolean; isTrust?: boolean; isImToken?: boolean; - isCoin98?: boolean; isMathWallet?: boolean; isCoinbaseWallet?: boolean; isTally?: boolean; diff --git a/packages/web3-react/src/hooks/index.ts b/packages/web3-react/src/hooks/index.ts index 78c15b96..ba58590c 100644 --- a/packages/web3-react/src/hooks/index.ts +++ b/packages/web3-react/src/hooks/index.ts @@ -4,7 +4,6 @@ export * from './useConnectorImToken'; export * from './useConnectorInfo'; export * from './useConnectorLedger'; export * from './useConnectorMetamask'; -export * from './useConnectorCoin98'; export * from './useConnectorMathWallet'; export * from './useConnectors'; export * from './useConnectorStorage'; diff --git a/packages/web3-react/src/hooks/useConnectorCoin98.ts b/packages/web3-react/src/hooks/useConnectorCoin98.ts deleted file mode 100644 index b548c5ff..00000000 --- a/packages/web3-react/src/hooks/useConnectorCoin98.ts +++ /dev/null @@ -1,56 +0,0 @@ -import invariant from 'tiny-invariant'; -import { useCallback } from 'react'; -import { InjectedConnector } from '@web3-react/injected-connector'; -import { useConnectors } from './useConnectors'; -import { useWeb3 } from './useWeb3'; -import { - hasInjected, - isAndroid, - isIOS, - isCoin98Provider, - openWindow, -} from '../helpers'; -import { useForceDisconnect } from './useDisconnect'; -import { ConnectorHookArgs } from './types'; - -type ConnectorHookResult = { - connect: () => Promise; - connector: InjectedConnector; -}; - -const WALLET_URL_ANDROID = 'https://android.coin98.app'; -const WALLET_URL_IOS = 'https://ios.coin98.app'; -const WALLET_URL_CHROME = 'https://chrome.coin98.com'; - -export const useConnectorCoin98 = ( - args?: ConnectorHookArgs, -): ConnectorHookResult => { - const { injected } = useConnectors(); - const { activate } = useWeb3(); - const { disconnect } = useForceDisconnect(); - const onConnect = args?.onConnect; - - const suggestApp = useCallback(() => { - if (isAndroid) { - openWindow(WALLET_URL_ANDROID); - } else if (isIOS) { - openWindow(WALLET_URL_IOS); - } else { - openWindow(WALLET_URL_CHROME); - } - }, []); - - const connect = useCallback(async () => { - invariant(injected, 'Connector is required'); - - if (hasInjected() && isCoin98Provider()) { - await disconnect(); - await activate(injected); - onConnect?.(); - } else { - suggestApp(); - } - }, [injected, disconnect, activate, onConnect, suggestApp]); - - return { connect, connector: injected }; -}; diff --git a/packages/web3-react/src/hooks/useConnectorInfo.ts b/packages/web3-react/src/hooks/useConnectorInfo.ts index c5686f75..951b793c 100644 --- a/packages/web3-react/src/hooks/useConnectorInfo.ts +++ b/packages/web3-react/src/hooks/useConnectorInfo.ts @@ -9,7 +9,6 @@ import { import { useWeb3 } from './useWeb3'; import { PROVIDER_NAMES } from '../constants'; import { - isCoin98Provider, isCoinbaseProvider, isDappBrowserProvider, isGamestopProvider, @@ -31,7 +30,6 @@ type ConnectorInfo = { isWalletLink: boolean; isCoinbase: boolean; isMetamask: boolean; - isCoin98: boolean; isMathWallet: boolean; isImToken: boolean; isTrust: boolean; @@ -69,7 +67,6 @@ export const useConnectorInfo = (): ConnectorInfo => { (isConnectedViaWagmi && wagmiConnector.id === 'injected'); const isDappBrowser = isInjected && isDappBrowserProvider(); const isMetamask = isInjected && isMetamaskProvider(); - const isCoin98 = isInjected && isCoin98Provider(); const isMathWallet = isInjected && isMathWalletProvider(); const isImToken = isInjected && isImTokenProvider(); const isTrust = isInjected && isTrustProvider(); @@ -101,7 +98,6 @@ export const useConnectorInfo = (): ConnectorInfo => { if (isXdefi) return PROVIDER_NAMES.XDEFI; if (isGamestop) return PROVIDER_NAMES.GAMESTOP; if (isMathWallet) return PROVIDER_NAMES.MATH_WALLET; - if (isCoin98) return PROVIDER_NAMES.COIN98; if (isCoinbase) return PROVIDER_NAMES.COINBASE; if (isOperaWallet) return PROVIDER_NAMES.OPERA; if (isZerion) return PROVIDER_NAMES.ZERION; @@ -128,7 +124,6 @@ export const useConnectorInfo = (): ConnectorInfo => { isWalletLink, isCoinbase, isMetamask, - isCoin98, isMathWallet, isImToken, isTrust, From 1274416fcf5eca197ffc484c0fe1b7b8f2a75d49 Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Thu, 16 Nov 2023 18:26:06 +0300 Subject: [PATCH 6/9] refactor: remove legacy opera code --- .../WalletsModalForEth/WalletsModalForEth.tsx | 3 -- .../src/connectButtons/connectOperaWallet.tsx | 46 ------------------ .../src/connectButtons/index.ts | 1 - .../src/constants/wallets.ts | 1 - packages/wallets-icons/src/react/index.ts | 1 - .../wallets-icons/src/svg/opera-wallet.svg | 19 -------- .../web3-react/src/constants/connectors.ts | 1 - .../src/helpers/providerDetectors.ts | 9 ---- packages/web3-react/src/hooks/index.ts | 1 - .../web3-react/src/hooks/useConnectorInfo.ts | 5 -- .../src/hooks/useConnectorOperaWallet.ts | 47 ------------------- 11 files changed, 134 deletions(-) delete mode 100644 packages/connect-wallet-modal/src/connectButtons/connectOperaWallet.tsx delete mode 100644 packages/wallets-icons/src/svg/opera-wallet.svg delete mode 100644 packages/web3-react/src/hooks/useConnectorOperaWallet.ts diff --git a/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx b/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx index ff9e3b18..aa9c9436 100644 --- a/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx +++ b/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx @@ -10,7 +10,6 @@ import { ConnectLedger, ConnectMathWallet, ConnectMetamask, - ConnectOperaWallet, ConnectTrust, ConnectWC, ConnectXdefi, @@ -28,7 +27,6 @@ const walletsButtons: { [K in WalletId | string]: React.ComponentType } = { [WALLET_IDS.TRUST]: ConnectTrust, [WALLET_IDS.IM_TOKEN]: ConnectImToken, [WALLET_IDS.MATH_WALLET]: ConnectMathWallet, - [WALLET_IDS.OPERA]: ConnectOperaWallet, [WALLET_IDS.GAMESTOP]: ConnectGamestop, [WALLET_IDS.XDEFI]: ConnectXdefi, }; @@ -81,7 +79,6 @@ function getWalletsButtons( ]; // Deprecated way of adding wallets with additional detection - addWalletTo(wallets, WALLET_IDS.OPERA, helpers.isOperaWalletProvider()); addWalletTo(wallets, WALLET_IDS.MATH_WALLET, helpers.isMathWalletProvider()); addWalletTo(wallets, WALLET_IDS.GAMESTOP, helpers.isGamestopProvider()); addWalletTo(wallets, WALLET_IDS.XDEFI, helpers.isXdefiProvider()); diff --git a/packages/connect-wallet-modal/src/connectButtons/connectOperaWallet.tsx b/packages/connect-wallet-modal/src/connectButtons/connectOperaWallet.tsx deleted file mode 100644 index cf1d61b7..00000000 --- a/packages/connect-wallet-modal/src/connectButtons/connectOperaWallet.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import React, { FC, useCallback } from 'react'; -import { useConnectorOperaWallet } from '@reef-knot/web3-react'; -import { OperaWallet as WalletIcon } from '@reef-knot/wallets-icons/react'; -import { ConnectWalletProps } from './types'; -import { ConnectButton } from '../components/ConnectButton'; - -const ConnectOperaWallet: FC = ( - props: ConnectWalletProps, -) => { - const { - onConnect, - onBeforeConnect, - shouldInvertWalletIcon, - setRequirements, - metrics, - ...rest - } = props; - const onConnectOperaWallet = - metrics?.events?.connect?.handlers.onConnectOperaWallet; - const onClickOperaWallet = - metrics?.events?.click?.handlers.onClickOperaWallet; - const { connect } = useConnectorOperaWallet({ - onConnect: () => { - onConnect?.(); - onConnectOperaWallet?.(); - }, - }); - - // As of August 2022, Opera Crypto Browser has very few wallets in their extensions store. - // It allows to install wallets from Chrome extensions store, but doesn't allow them to modify `window.ethereum`. - // Looks like no need to handle wallets conflicts right now. - const handleConnect = useCallback(async () => { - onBeforeConnect?.(); - onClickOperaWallet?.(); - - await connect(); - }, [onBeforeConnect, onClickOperaWallet, connect]); - - return ( - - Opera - - ); -}; - -export default ConnectOperaWallet; diff --git a/packages/connect-wallet-modal/src/connectButtons/index.ts b/packages/connect-wallet-modal/src/connectButtons/index.ts index 08b6d5b2..1fbfcec6 100644 --- a/packages/connect-wallet-modal/src/connectButtons/index.ts +++ b/packages/connect-wallet-modal/src/connectButtons/index.ts @@ -4,7 +4,6 @@ export { default as ConnectLedger } from './connectLedger'; export { default as ConnectMetamask } from './connectMetamask'; export { default as ConnectTrust } from './connectTrust'; export { default as ConnectMathWallet } from './connectMathWallet'; -export { default as ConnectOperaWallet } from './connectOperaWallet'; export { default as ConnectGamestop } from './connectGamestop'; export { default as ConnectXdefi } from './connectXdefi'; export * from './ConnectInjected'; diff --git a/packages/connect-wallet-modal/src/constants/wallets.ts b/packages/connect-wallet-modal/src/constants/wallets.ts index 3633c51c..fecd7398 100644 --- a/packages/connect-wallet-modal/src/constants/wallets.ts +++ b/packages/connect-wallet-modal/src/constants/wallets.ts @@ -6,7 +6,6 @@ export const WALLET_IDS = { IM_TOKEN: 'ImToken', COIN98: 'Coin98', MATH_WALLET: 'MathWallet', - OPERA: 'Opera Wallet', GAMESTOP: 'Gamestop', XDEFI: 'Xdefi', } as const; diff --git a/packages/wallets-icons/src/react/index.ts b/packages/wallets-icons/src/react/index.ts index 7df96e68..47fa042d 100644 --- a/packages/wallets-icons/src/react/index.ts +++ b/packages/wallets-icons/src/react/index.ts @@ -12,6 +12,5 @@ export { default as MathWalletInversion } from '../svg/mathwallet-inversion.svg' export { default as MetaMask } from '../svg/metamask.svg'; export { default as MetaMaskCircle } from '../svg/metamask-circle.svg'; export { default as MetaMaskCircleInversion } from '../svg/metamask-circle-inversion.svg'; -export { default as OperaWallet } from '../svg/opera-wallet.svg'; export { default as Trust } from '../svg/trust-circle.svg'; export { default as XDEFI } from '../svg/xdefi-wallet.svg'; diff --git a/packages/wallets-icons/src/svg/opera-wallet.svg b/packages/wallets-icons/src/svg/opera-wallet.svg deleted file mode 100644 index 178b7b89..00000000 --- a/packages/wallets-icons/src/svg/opera-wallet.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/packages/web3-react/src/constants/connectors.ts b/packages/web3-react/src/constants/connectors.ts index b37b781b..1149a5a2 100644 --- a/packages/web3-react/src/constants/connectors.ts +++ b/packages/web3-react/src/constants/connectors.ts @@ -9,7 +9,6 @@ export enum PROVIDER_NAMES { LEDGER_HQ_LIVE = 'Ledger Live', LEDGER = 'Ledger', MATH_WALLET = 'MathWallet', - OPERA = 'Opera Crypto Wallet', GAMESTOP = 'GameStop Wallet', XDEFI = 'XDEFI', ZERION = 'Zerion', diff --git a/packages/web3-react/src/helpers/providerDetectors.ts b/packages/web3-react/src/helpers/providerDetectors.ts index 6c63163b..e2b10cbd 100644 --- a/packages/web3-react/src/helpers/providerDetectors.ts +++ b/packages/web3-react/src/helpers/providerDetectors.ts @@ -13,7 +13,6 @@ declare global { isCoinbaseWallet?: boolean; isTally?: boolean; isExodus?: boolean; - isOpera?: boolean; isGamestop?: boolean; isXDEFI?: boolean; isZerion?: boolean; @@ -109,14 +108,6 @@ export const isBraveWalletProvider = (): boolean => { } }; -export const isOperaWalletProvider = (): boolean => { - try { - return !!window.ethereum?.isOpera; - } catch (error) { - return false; - } -}; - export const isExodusProvider = (): boolean => { try { return !!window.ethereum?.isExodus; diff --git a/packages/web3-react/src/hooks/index.ts b/packages/web3-react/src/hooks/index.ts index ba58590c..d2e07c47 100644 --- a/packages/web3-react/src/hooks/index.ts +++ b/packages/web3-react/src/hooks/index.ts @@ -8,7 +8,6 @@ export * from './useConnectorMathWallet'; export * from './useConnectors'; export * from './useConnectorStorage'; export * from './useConnectorTrust'; -export * from './useConnectorOperaWallet'; export * from './useConnectorGamestop'; export * from './useConnectorXdefi'; export * from './useDisconnect'; diff --git a/packages/web3-react/src/hooks/useConnectorInfo.ts b/packages/web3-react/src/hooks/useConnectorInfo.ts index 951b793c..3d4d7e43 100644 --- a/packages/web3-react/src/hooks/useConnectorInfo.ts +++ b/packages/web3-react/src/hooks/useConnectorInfo.ts @@ -15,7 +15,6 @@ import { isImTokenProvider, isMathWalletProvider, isMetamaskProvider, - isOperaWalletProvider, isTrustProvider, isXdefiProvider, isZerionProvider, @@ -33,7 +32,6 @@ type ConnectorInfo = { isMathWallet: boolean; isImToken: boolean; isTrust: boolean; - isOperaWallet: boolean; isGamestop: boolean; isXdefi: boolean; isDappBrowser: boolean; @@ -70,7 +68,6 @@ export const useConnectorInfo = (): ConnectorInfo => { const isMathWallet = isInjected && isMathWalletProvider(); const isImToken = isInjected && isImTokenProvider(); const isTrust = isInjected && isTrustProvider(); - const isOperaWallet = isInjected && isOperaWalletProvider(); const isGamestop = isInjected && isGamestopProvider(); const isXdefi = isInjected && isXdefiProvider(); const isZerion = isInjected && isZerionProvider(); @@ -99,7 +96,6 @@ export const useConnectorInfo = (): ConnectorInfo => { if (isGamestop) return PROVIDER_NAMES.GAMESTOP; if (isMathWallet) return PROVIDER_NAMES.MATH_WALLET; if (isCoinbase) return PROVIDER_NAMES.COINBASE; - if (isOperaWallet) return PROVIDER_NAMES.OPERA; if (isZerion) return PROVIDER_NAMES.ZERION; // Metamask should be last in this list because almost all EIP-1193 wallets // are trying to mimic Metamask by setting isMetamask = true @@ -127,7 +123,6 @@ export const useConnectorInfo = (): ConnectorInfo => { isMathWallet, isImToken, isTrust, - isOperaWallet, isGamestop, isXdefi, diff --git a/packages/web3-react/src/hooks/useConnectorOperaWallet.ts b/packages/web3-react/src/hooks/useConnectorOperaWallet.ts deleted file mode 100644 index 632aaa17..00000000 --- a/packages/web3-react/src/hooks/useConnectorOperaWallet.ts +++ /dev/null @@ -1,47 +0,0 @@ -import invariant from 'tiny-invariant'; -import warning from 'tiny-warning'; -import { useCallback } from 'react'; -import { InjectedConnector } from '@web3-react/injected-connector'; -import { useConnectors } from './useConnectors'; -import { useWeb3 } from './useWeb3'; -import { hasInjected, isOperaWalletProvider, openWindow } from '../helpers'; -import { useForceDisconnect } from './useDisconnect'; -import { ConnectorHookArgs } from './types'; - -type ConnectorHookResult = { - connect: () => Promise; - connector: InjectedConnector; -}; - -const WALLET_URL = 'https://www.opera.com/crypto/next'; - -export const useConnectorOperaWallet = ( - args?: ConnectorHookArgs, -): ConnectorHookResult => { - const { injected } = useConnectors(); - const { activate } = useWeb3(); - const { disconnect } = useForceDisconnect(); - const onConnect = args?.onConnect; - - const suggestApp = useCallback(() => { - try { - openWindow(WALLET_URL); - } catch (error) { - warning(false, 'Failed to open the link'); - } - }, []); - - const connect = useCallback(async () => { - invariant(injected, 'Connector is required'); - - if (hasInjected() && isOperaWalletProvider()) { - await disconnect(); - await activate(injected); - onConnect?.(); - } else { - suggestApp(); - } - }, [injected, disconnect, activate, onConnect, suggestApp]); - - return { connect, connector: injected }; -}; From 046700cc3e70f363b64feac250d439536fea966b Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Thu, 16 Nov 2023 18:33:01 +0300 Subject: [PATCH 7/9] refactor: remove gamestop wallet --- .../WalletsModalForEth/WalletsModalForEth.tsx | 3 - .../src/connectButtons/connectGamestop.tsx | 95 ------------------- .../src/connectButtons/connectMathWallet.tsx | 1 - .../src/connectButtons/connectMetamask.tsx | 1 - .../src/connectButtons/index.ts | 1 - .../src/constants/conflictChecks.ts | 2 - .../src/constants/wallets.ts | 1 - packages/wallets-icons/src/react/index.ts | 1 - packages/wallets-icons/src/svg/gamestop.svg | 5 - .../web3-react/src/constants/connectors.ts | 1 - .../src/helpers/providerDetectors.ts | 18 ---- packages/web3-react/src/hooks/index.ts | 1 - .../src/hooks/useConnectorGamestop.ts | 47 --------- .../web3-react/src/hooks/useConnectorInfo.ts | 5 - 14 files changed, 182 deletions(-) delete mode 100644 packages/connect-wallet-modal/src/connectButtons/connectGamestop.tsx delete mode 100644 packages/wallets-icons/src/svg/gamestop.svg delete mode 100644 packages/web3-react/src/hooks/useConnectorGamestop.ts diff --git a/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx b/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx index aa9c9436..c9f3e2c5 100644 --- a/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx +++ b/packages/connect-wallet-modal/src/components/WalletsModalForEth/WalletsModalForEth.tsx @@ -4,7 +4,6 @@ import { useReefKnotContext } from '@reef-knot/core-react'; import { WalletAdapterData } from '@reef-knot/types'; import { ConnectCoinbase, - ConnectGamestop, ConnectImToken, ConnectInjected, ConnectLedger, @@ -27,7 +26,6 @@ const walletsButtons: { [K in WalletId | string]: React.ComponentType } = { [WALLET_IDS.TRUST]: ConnectTrust, [WALLET_IDS.IM_TOKEN]: ConnectImToken, [WALLET_IDS.MATH_WALLET]: ConnectMathWallet, - [WALLET_IDS.GAMESTOP]: ConnectGamestop, [WALLET_IDS.XDEFI]: ConnectXdefi, }; @@ -80,7 +78,6 @@ function getWalletsButtons( // Deprecated way of adding wallets with additional detection addWalletTo(wallets, WALLET_IDS.MATH_WALLET, helpers.isMathWalletProvider()); - addWalletTo(wallets, WALLET_IDS.GAMESTOP, helpers.isGamestopProvider()); addWalletTo(wallets, WALLET_IDS.XDEFI, helpers.isXdefiProvider()); // Filtering wallets marked as hidden diff --git a/packages/connect-wallet-modal/src/connectButtons/connectGamestop.tsx b/packages/connect-wallet-modal/src/connectButtons/connectGamestop.tsx deleted file mode 100644 index 737625b0..00000000 --- a/packages/connect-wallet-modal/src/connectButtons/connectGamestop.tsx +++ /dev/null @@ -1,95 +0,0 @@ -import React, { FC, useCallback } from 'react'; -import { useConnectorGamestop, helpers } from '@reef-knot/web3-react'; -import { Gamestop as WalletIcon } from '@reef-knot/wallets-icons/react'; -import { CONFLICTS } from '../constants/conflictChecks'; -import { ConnectWalletProps } from './types'; -import { ConnectButton } from '../components/ConnectButton'; -import checkConflicts from '../helpers/checkConflicts'; - -const ConnectGamestop: FC = (props: ConnectWalletProps) => { - const { onConnect, onBeforeConnect, setRequirements, metrics, ...rest } = - props; - const onConnectGamestop = - metrics?.events?.connect?.handlers.onConnectGamestop; - const onClickGamestop = metrics?.events?.click?.handlers.onClickGamestop; - const { connect } = useConnectorGamestop({ - onConnect: () => { - onConnect?.(); - onConnectGamestop?.(); - }, - }); - - const handleNonDefaultSetting = useCallback(() => { - const { isGamestopInstalled, hasInjected } = helpers; - const isNonDefault = isGamestopInstalled() && !hasInjected(); - if (isNonDefault) { - setRequirements(true, { - icon: , - title: "GameStop couldn't connect", - text: - 'To connect GameStop Wallet you need to make GameStop your default wallet extension ' + - "in the wallet's settings and reload the page.", - }); - return true; - } - return false; - }, [setRequirements]); - - const handleConflicts = useCallback(() => { - const { hasConflicts, conflictingApps, conflictingAppsArray } = - checkConflicts([ - CONFLICTS.Tally, - CONFLICTS.Exodus, - CONFLICTS.Coinbase, - CONFLICTS.Xdefi, - CONFLICTS.Trust, - ]); - - if (hasConflicts) { - setRequirements(true, { - icon: , - title: "Gamestop couldn't connect", - text: - conflictingAppsArray.length > 1 ? ( -
- Your browser has these extensions turned-on:
- {conflictingApps}
- Please, turn them off and reload the page to enable Gamestop. -
- ) : ( - `Your browser has a turned-on “${conflictingApps}” extension.` + - ' Please, turn off this extension and reload the page to enable Gamestop.' - ), - }); - return true; - } - return false; - }, [setRequirements]); - - const handleConnect = useCallback(async () => { - onBeforeConnect?.(); - onClickGamestop?.(); - - const isNonDefault = handleNonDefaultSetting(); - if (isNonDefault) return; - - const hasConflicts = handleConflicts(); - if (hasConflicts) return; - - await connect(); - }, [ - connect, - handleConflicts, - handleNonDefaultSetting, - onBeforeConnect, - onClickGamestop, - ]); - - return ( - - GameStop - - ); -}; - -export default ConnectGamestop; diff --git a/packages/connect-wallet-modal/src/connectButtons/connectMathWallet.tsx b/packages/connect-wallet-modal/src/connectButtons/connectMathWallet.tsx index b9e586b9..61cacf99 100644 --- a/packages/connect-wallet-modal/src/connectButtons/connectMathWallet.tsx +++ b/packages/connect-wallet-modal/src/connectButtons/connectMathWallet.tsx @@ -38,7 +38,6 @@ const ConnectMathWallet: FC = ( const { hasConflicts, conflictingApps, conflictingAppsArray } = checkConflicts([ CONFLICTS.Xdefi, - CONFLICTS.Gamestop, CONFLICTS.Tally, CONFLICTS.Exodus, CONFLICTS.Trust, diff --git a/packages/connect-wallet-modal/src/connectButtons/connectMetamask.tsx b/packages/connect-wallet-modal/src/connectButtons/connectMetamask.tsx index 7cef9401..1304fbd6 100644 --- a/packages/connect-wallet-modal/src/connectButtons/connectMetamask.tsx +++ b/packages/connect-wallet-modal/src/connectButtons/connectMetamask.tsx @@ -38,7 +38,6 @@ const ConnectMetamask: FC = (props: ConnectWalletProps) => { const { hasConflicts, conflictingApps, conflictingAppsArray } = checkConflicts([ CONFLICTS.Xdefi, - CONFLICTS.Gamestop, CONFLICTS.Exodus, CONFLICTS.Coin98, CONFLICTS.MathWallet, diff --git a/packages/connect-wallet-modal/src/connectButtons/index.ts b/packages/connect-wallet-modal/src/connectButtons/index.ts index 1fbfcec6..748386a9 100644 --- a/packages/connect-wallet-modal/src/connectButtons/index.ts +++ b/packages/connect-wallet-modal/src/connectButtons/index.ts @@ -4,7 +4,6 @@ export { default as ConnectLedger } from './connectLedger'; export { default as ConnectMetamask } from './connectMetamask'; export { default as ConnectTrust } from './connectTrust'; export { default as ConnectMathWallet } from './connectMathWallet'; -export { default as ConnectGamestop } from './connectGamestop'; export { default as ConnectXdefi } from './connectXdefi'; export * from './ConnectInjected'; export * from './ConnectWC'; diff --git a/packages/connect-wallet-modal/src/constants/conflictChecks.ts b/packages/connect-wallet-modal/src/constants/conflictChecks.ts index 3aeeb589..872bb1e0 100644 --- a/packages/connect-wallet-modal/src/constants/conflictChecks.ts +++ b/packages/connect-wallet-modal/src/constants/conflictChecks.ts @@ -7,7 +7,6 @@ export type ConflictChecks = { Exodus: ConflictCheck; Coin98: ConflictCheck; MathWallet: ConflictCheck; - Gamestop: ConflictCheck; Coinbase: ConflictCheck; Xdefi: ConflictCheck; Trust: ConflictCheck; @@ -18,7 +17,6 @@ export const CONFLICTS: ConflictChecks = { Exodus: [helpers.isExodusProvider, 'Exodus'], Coin98: [helpers.isCoin98Provider, 'Coin98'], MathWallet: [helpers.isMathWalletProvider, 'MathWallet'], - Gamestop: [helpers.isGamestopProvider, 'GameStop'], Coinbase: [helpers.isCoinbaseProvider, 'Coinbase'], Xdefi: [helpers.isXdefiProvider, 'XDEFI'], Trust: [helpers.isTrustProvider, 'Trust'], diff --git a/packages/connect-wallet-modal/src/constants/wallets.ts b/packages/connect-wallet-modal/src/constants/wallets.ts index fecd7398..d6dede4a 100644 --- a/packages/connect-wallet-modal/src/constants/wallets.ts +++ b/packages/connect-wallet-modal/src/constants/wallets.ts @@ -6,7 +6,6 @@ export const WALLET_IDS = { IM_TOKEN: 'ImToken', COIN98: 'Coin98', MATH_WALLET: 'MathWallet', - GAMESTOP: 'Gamestop', XDEFI: 'Xdefi', } as const; diff --git a/packages/wallets-icons/src/react/index.ts b/packages/wallets-icons/src/react/index.ts index 47fa042d..1baa0e01 100644 --- a/packages/wallets-icons/src/react/index.ts +++ b/packages/wallets-icons/src/react/index.ts @@ -1,5 +1,4 @@ export { default as Coinbase } from '../svg/coinbase.svg'; -export { default as Gamestop } from '../svg/gamestop.svg'; export { default as ImToken } from '../svg/imtoken.svg'; export { default as Ledger } from '../svg/ledger.svg'; export { default as LedgerInversion } from '../svg/ledger-inversion.svg'; diff --git a/packages/wallets-icons/src/svg/gamestop.svg b/packages/wallets-icons/src/svg/gamestop.svg deleted file mode 100644 index b7e8c955..00000000 --- a/packages/wallets-icons/src/svg/gamestop.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packages/web3-react/src/constants/connectors.ts b/packages/web3-react/src/constants/connectors.ts index 1149a5a2..d7e151b4 100644 --- a/packages/web3-react/src/constants/connectors.ts +++ b/packages/web3-react/src/constants/connectors.ts @@ -9,7 +9,6 @@ export enum PROVIDER_NAMES { LEDGER_HQ_LIVE = 'Ledger Live', LEDGER = 'Ledger', MATH_WALLET = 'MathWallet', - GAMESTOP = 'GameStop Wallet', XDEFI = 'XDEFI', ZERION = 'Zerion', } diff --git a/packages/web3-react/src/helpers/providerDetectors.ts b/packages/web3-react/src/helpers/providerDetectors.ts index e2b10cbd..4ab2f1af 100644 --- a/packages/web3-react/src/helpers/providerDetectors.ts +++ b/packages/web3-react/src/helpers/providerDetectors.ts @@ -2,7 +2,6 @@ import { isMobileOrTablet } from './ua'; declare global { interface Window { - gamestop?: Record; xfi?: Record; // @ts-expect-error wagmi also declares window.ethereum type ethereum?: { @@ -13,7 +12,6 @@ declare global { isCoinbaseWallet?: boolean; isTally?: boolean; isExodus?: boolean; - isGamestop?: boolean; isXDEFI?: boolean; isZerion?: boolean; providers?: { isCoinbaseWallet?: boolean }[]; @@ -116,22 +114,6 @@ export const isExodusProvider = (): boolean => { } }; -export const isGamestopInstalled = (): boolean => { - try { - return !!window.gamestop; - } catch (error) { - return false; - } -}; - -export const isGamestopProvider = (): boolean => { - try { - return !!window.ethereum?.isGamestop; - } catch (error) { - return false; - } -}; - export const isXdefiInstalled = (): boolean => { try { return !!window.xfi; diff --git a/packages/web3-react/src/hooks/index.ts b/packages/web3-react/src/hooks/index.ts index d2e07c47..d998c02e 100644 --- a/packages/web3-react/src/hooks/index.ts +++ b/packages/web3-react/src/hooks/index.ts @@ -8,7 +8,6 @@ export * from './useConnectorMathWallet'; export * from './useConnectors'; export * from './useConnectorStorage'; export * from './useConnectorTrust'; -export * from './useConnectorGamestop'; export * from './useConnectorXdefi'; export * from './useDisconnect'; export * from './useSupportedChains'; diff --git a/packages/web3-react/src/hooks/useConnectorGamestop.ts b/packages/web3-react/src/hooks/useConnectorGamestop.ts deleted file mode 100644 index 5d425cb7..00000000 --- a/packages/web3-react/src/hooks/useConnectorGamestop.ts +++ /dev/null @@ -1,47 +0,0 @@ -import invariant from 'tiny-invariant'; -import warning from 'tiny-warning'; -import { useCallback } from 'react'; -import { InjectedConnector } from '@web3-react/injected-connector'; -import { useConnectors } from './useConnectors'; -import { useWeb3 } from './useWeb3'; -import { hasInjected, isGamestopProvider, openWindow } from '../helpers'; -import { useForceDisconnect } from './useDisconnect'; -import { ConnectorHookArgs } from './types'; - -type ConnectorHookResult = { - connect: () => Promise; - connector: InjectedConnector; -}; - -const WALLET_URL = 'https://wallet.gamestop.com/'; - -export const useConnectorGamestop = ( - args?: ConnectorHookArgs, -): ConnectorHookResult => { - const { injected } = useConnectors(); - const { activate } = useWeb3(); - const { disconnect } = useForceDisconnect(); - const onConnect = args?.onConnect; - - const suggestApp = useCallback(() => { - try { - openWindow(WALLET_URL); - } catch (error) { - warning(false, 'Failed to open the link'); - } - }, []); - - const connect = useCallback(async () => { - invariant(injected, 'Connector is required'); - - if (hasInjected() && isGamestopProvider()) { - await disconnect(); - await activate(injected); - onConnect?.(); - } else { - suggestApp(); - } - }, [injected, disconnect, activate, onConnect, suggestApp]); - - return { connect, connector: injected }; -}; diff --git a/packages/web3-react/src/hooks/useConnectorInfo.ts b/packages/web3-react/src/hooks/useConnectorInfo.ts index 3d4d7e43..4b48c8aa 100644 --- a/packages/web3-react/src/hooks/useConnectorInfo.ts +++ b/packages/web3-react/src/hooks/useConnectorInfo.ts @@ -11,7 +11,6 @@ import { PROVIDER_NAMES } from '../constants'; import { isCoinbaseProvider, isDappBrowserProvider, - isGamestopProvider, isImTokenProvider, isMathWalletProvider, isMetamaskProvider, @@ -32,7 +31,6 @@ type ConnectorInfo = { isMathWallet: boolean; isImToken: boolean; isTrust: boolean; - isGamestop: boolean; isXdefi: boolean; isDappBrowser: boolean; isInjected: boolean; @@ -68,7 +66,6 @@ export const useConnectorInfo = (): ConnectorInfo => { const isMathWallet = isInjected && isMathWalletProvider(); const isImToken = isInjected && isImTokenProvider(); const isTrust = isInjected && isTrustProvider(); - const isGamestop = isInjected && isGamestopProvider(); const isXdefi = isInjected && isXdefiProvider(); const isZerion = isInjected && isZerionProvider(); @@ -93,7 +90,6 @@ export const useConnectorInfo = (): ConnectorInfo => { // The order of wallets checks here is important. // Most "aggressive" wallet, which overrides other wallets, goes first. if (isXdefi) return PROVIDER_NAMES.XDEFI; - if (isGamestop) return PROVIDER_NAMES.GAMESTOP; if (isMathWallet) return PROVIDER_NAMES.MATH_WALLET; if (isCoinbase) return PROVIDER_NAMES.COINBASE; if (isZerion) return PROVIDER_NAMES.ZERION; @@ -123,7 +119,6 @@ export const useConnectorInfo = (): ConnectorInfo => { isMathWallet, isImToken, isTrust, - isGamestop, isXdefi, isDappBrowser, From 7665006b3dd33d5978f137a4509b96c78896eb63 Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Thu, 16 Nov 2023 18:39:03 +0300 Subject: [PATCH 8/9] fix(demo-react): use lido-ui 3.9.0 --- apps/demo-react/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/demo-react/package.json b/apps/demo-react/package.json index 950cd528..6f316b68 100644 --- a/apps/demo-react/package.json +++ b/apps/demo-react/package.json @@ -20,7 +20,7 @@ "@lido-sdk/contracts": "^3.0.3", "@lido-sdk/providers": "^1.4.13", "@lido-sdk/react": "^2.0.2", - "@lidofinance/lido-ui": "^3.14.2", + "@lidofinance/lido-ui": "3.9.0", "@reef-knot/web3-react": "^1.4.1", "@typechain/ethers-v5": "^11.1.0", "ethers": "^5.7.2", diff --git a/yarn.lock b/yarn.lock index 6a55522b..7e158118 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2549,10 +2549,10 @@ ua-parser-js "^1.0.35" use-callback-ref "1.2.5" -"@lidofinance/lido-ui@^3.14.2": - version "3.14.2" - resolved "https://registry.yarnpkg.com/@lidofinance/lido-ui/-/lido-ui-3.14.2.tgz#ad53a9fd12c188dc16f9bb584187a9500b677c4b" - integrity sha512-dBa0NDZCYfIduozBQ9Io8VaEr22K6hjWa4ZsqTTbEpcrT9GwR1DhTesE9LdWXo7IhKN/niwQrO+siAaV7KlROw== +"@lidofinance/lido-ui@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@lidofinance/lido-ui/-/lido-ui-3.9.0.tgz#83b2ddb4253ae0c178ef3df742f831e2a258094d" + integrity sha512-IwY2yZIa3bDyb7g94611wb6cc082pwTf9HLWXiTrCMazLsf13QWQoFAbo6i1iXHdKq7Ovme6R8loRcYLWZkjlA== dependencies: "@styled-system/should-forward-prop" "5.1.5" "@swc/helpers" "^0.4.11" From 84a5eaf1fe0395a56a0bf961c08e7fa203d339d8 Mon Sep 17 00:00:00 2001 From: Alexander Khramov Date: Thu, 16 Nov 2023 18:49:15 +0300 Subject: [PATCH 9/9] chore: reef-knot v1.10.5 --- packages/connect-wallet-modal/CHANGELOG.md | 6 ++++++ packages/connect-wallet-modal/package.json | 6 +++--- packages/reef-knot/CHANGELOG.md | 10 ++++++++++ packages/reef-knot/package.json | 10 +++++----- packages/wallets-icons/CHANGELOG.md | 6 ++++++ packages/wallets-icons/package.json | 2 +- packages/wallets-list/CHANGELOG.md | 6 ++++++ packages/wallets-list/package.json | 2 +- packages/web3-react/CHANGELOG.md | 6 ++++++ packages/web3-react/package.json | 2 +- 10 files changed, 45 insertions(+), 11 deletions(-) diff --git a/packages/connect-wallet-modal/CHANGELOG.md b/packages/connect-wallet-modal/CHANGELOG.md index 5c42d6db..908b932d 100644 --- a/packages/connect-wallet-modal/CHANGELOG.md +++ b/packages/connect-wallet-modal/CHANGELOG.md @@ -1,5 +1,11 @@ # @reef-knot/connect-wallet-modal +## 1.9.0 + +### Minor Changes + +- Remove Brave, Coin98, Opera, Gamestop wallets unneeded legacy code + ## 1.8.3 ### Patch Changes diff --git a/packages/connect-wallet-modal/package.json b/packages/connect-wallet-modal/package.json index bef8ea44..fb298329 100644 --- a/packages/connect-wallet-modal/package.json +++ b/packages/connect-wallet-modal/package.json @@ -1,6 +1,6 @@ { "name": "@reef-knot/connect-wallet-modal", - "version": "1.8.3", + "version": "1.9.0", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { @@ -49,8 +49,8 @@ "@reef-knot/types": "^1.3.0", "@reef-knot/ui-react": "^1.0.7", "@reef-knot/wallets-helpers": "^1.1.5", - "@reef-knot/wallets-icons": "^1.1.0", - "@reef-knot/web3-react": "^1.6.1", + "@reef-knot/wallets-icons": "^1.2.0", + "@reef-knot/web3-react": "^1.7.0", "@reef-knot/ledger-connector": "^1.1.0", "@types/ua-parser-js": "^0.7.36", "eslint-config-custom": "*", diff --git a/packages/reef-knot/CHANGELOG.md b/packages/reef-knot/CHANGELOG.md index 47ea28df..6c9f228f 100644 --- a/packages/reef-knot/CHANGELOG.md +++ b/packages/reef-knot/CHANGELOG.md @@ -1,5 +1,15 @@ # reef-knot +## 1.10.5 + +### Patch Changes + +- Updated dependencies + - @reef-knot/connect-wallet-modal@1.9.0 + - @reef-knot/wallets-icons@1.2.0 + - @reef-knot/web3-react@1.7.0 + - @reef-knot/wallets-list@1.6.0 + ## 1.10.4 ### Patch Changes diff --git a/packages/reef-knot/package.json b/packages/reef-knot/package.json index f49ba2c5..34e94e78 100644 --- a/packages/reef-knot/package.json +++ b/packages/reef-knot/package.json @@ -1,6 +1,6 @@ { "name": "reef-knot", - "version": "1.10.4", + "version": "1.10.5", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { @@ -41,12 +41,12 @@ "lint": "eslint --ext ts,tsx,js,mjs ." }, "dependencies": { - "@reef-knot/connect-wallet-modal": "1.8.3", + "@reef-knot/connect-wallet-modal": "1.9.0", "@reef-knot/core-react": "1.6.0", - "@reef-knot/web3-react": "1.6.1", + "@reef-knot/web3-react": "1.7.0", "@reef-knot/ui-react": "1.0.7", - "@reef-knot/wallets-icons": "1.1.0", - "@reef-knot/wallets-list": "1.5.0", + "@reef-knot/wallets-icons": "1.2.0", + "@reef-knot/wallets-list": "1.6.0", "@reef-knot/wallets-helpers": "1.1.5", "@reef-knot/types": "1.3.0", "@reef-knot/ledger-connector": "1.1.1" diff --git a/packages/wallets-icons/CHANGELOG.md b/packages/wallets-icons/CHANGELOG.md index 09fdbae0..6a97d581 100644 --- a/packages/wallets-icons/CHANGELOG.md +++ b/packages/wallets-icons/CHANGELOG.md @@ -1,5 +1,11 @@ # @reef-knot/wallets-icons +## 1.2.0 + +### Minor Changes + +- Remove Brave, Coin98, Opera, Gamestop wallets unneeded legacy code + ## 1.1.0 ### Minor Changes diff --git a/packages/wallets-icons/package.json b/packages/wallets-icons/package.json index 2a03c0e9..d87e6186 100644 --- a/packages/wallets-icons/package.json +++ b/packages/wallets-icons/package.json @@ -1,6 +1,6 @@ { "name": "@reef-knot/wallets-icons", - "version": "1.1.0", + "version": "1.2.0", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { diff --git a/packages/wallets-list/CHANGELOG.md b/packages/wallets-list/CHANGELOG.md index e255fa88..4fdbea58 100644 --- a/packages/wallets-list/CHANGELOG.md +++ b/packages/wallets-list/CHANGELOG.md @@ -1,5 +1,11 @@ # @reef-knot/wallets-list +## 1.6.0 + +### Minor Changes + +- Add Brave wallet + ## 1.5.0 ### Minor Changes diff --git a/packages/wallets-list/package.json b/packages/wallets-list/package.json index b6760452..be5faa03 100644 --- a/packages/wallets-list/package.json +++ b/packages/wallets-list/package.json @@ -1,6 +1,6 @@ { "name": "@reef-knot/wallets-list", - "version": "1.5.0", + "version": "1.6.0", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": { diff --git a/packages/web3-react/CHANGELOG.md b/packages/web3-react/CHANGELOG.md index c79c8d1a..387fd6e0 100644 --- a/packages/web3-react/CHANGELOG.md +++ b/packages/web3-react/CHANGELOG.md @@ -1,5 +1,11 @@ # @reef-knot/web3-react +## 1.7.0 + +### Minor Changes + +- Remove Brave, Coin98, Opera, Gamestop wallets unneeded legacy code + ## 1.6.1 ### Patch Changes diff --git a/packages/web3-react/package.json b/packages/web3-react/package.json index 9ea8cfff..c9995a24 100644 --- a/packages/web3-react/package.json +++ b/packages/web3-react/package.json @@ -1,6 +1,6 @@ { "name": "@reef-knot/web3-react", - "version": "1.6.1", + "version": "1.7.0", "main": "dist/index.js", "types": "dist/index.d.ts", "exports": {