diff --git a/.eslintrc.json b/.eslintrc.json --- a/.eslintrc.json +++ b/.eslintrc.json @@ -7,17 +7,17 @@ "extends": [ "eslint:recommended", "plugin:react/recommended", - "plugin:flowtype/recommended", + "plugin:ft-flow/recommended", "plugin:import/errors", "plugin:import/warnings", "plugin:prettier/recommended", "prettier" ], - "parser": "@babel/eslint-parser", + "parser": "hermes-eslint", "plugins": [ "react", "react-hooks", - "flowtype", + "ft-flow", "monorepo", "import", "@stylistic/js", @@ -34,8 +34,21 @@ "error", { "code": 5000, "comments": 80, "ignoreUrls": true } ], - "flowtype/require-valid-file-annotation": ["error", "always"], - "flowtype/require-exact-type": ["error", "never"], + "ft-flow/require-valid-file-annotation": ["error", "always"], + "ft-flow/require-exact-type": ["error", "never"], + // copied from eslint-config-prettier, which uses outdated flowtype/ rules + // https://github.com/prettier/eslint-config-prettier/blob/4c9489339d37bf96d31e0596e64bb8d4cb4308ef/index.js#L223-L233 + "ft-flow/boolean-style": "off", + "ft-flow/delimiter-dangle": "off", + "ft-flow/generic-spacing": "off", + "ft-flow/object-type-curly-spacing": "off", + "ft-flow/object-type-delimiter": "off", + "ft-flow/quotes": "off", + "ft-flow/semi": "off", + "ft-flow/space-after-type-colon": "off", + "ft-flow/space-before-generic-bracket": "off", + "ft-flow/space-before-type-colon": "off", + "ft-flow/union-intersection-spacing": "off", "curly": "error", "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": "warn", @@ -89,8 +102,8 @@ "commonjs": true }, "rules": { - "flowtype/require-valid-file-annotation": 0, - "flowtype/require-exact-type": 0 + "ft-flow/require-valid-file-annotation": 0, + "ft-flow/require-exact-type": 0 } } ] diff --git a/keyserver/src/user/login.js b/keyserver/src/user/login.js --- a/keyserver/src/user/login.js +++ b/keyserver/src/user/login.js @@ -114,7 +114,7 @@ ); } -async function registerOrLogInBase( +async function registerOrLogInBase( userInfo: UserCredentials, getUpdateContentAccount: ( callback: (account: OlmAccount, picklingKey: string) => Promise | T, diff --git a/lib/hooks/chat-mention-hooks.js b/lib/hooks/chat-mention-hooks.js --- a/lib/hooks/chat-mention-hooks.js +++ b/lib/hooks/chat-mention-hooks.js @@ -31,7 +31,7 @@ const communityID = threadInfo.community === genesis().id ? communityThreadIDForGenesisThreads - : threadInfo.community ?? threadInfo.id; + : (threadInfo.community ?? threadInfo.id); const allChatsWithinCommunity = chatMentionCandidatesObj[communityID]; if (!allChatsWithinCommunity) { diff --git a/lib/hooks/thread-hooks.js b/lib/hooks/thread-hooks.js --- a/lib/hooks/thread-hooks.js +++ b/lib/hooks/thread-hooks.js @@ -66,7 +66,7 @@ const community = rawThreadInfo.community === genesis().id ? communityThreadIDForGenesisThreads - : rawThreadInfo.community ?? rawThreadInfo.id; + : (rawThreadInfo.community ?? rawThreadInfo.id); if (!community) { return undefined; } diff --git a/native/app.config.js b/native/app.config.js --- a/native/app.config.js +++ b/native/app.config.js @@ -1,4 +1,4 @@ -/* eslint-disable flowtype/require-valid-file-annotation */ +/* eslint-disable ft-flow/require-valid-file-annotation */ import ip from 'internal-ip'; diff --git a/native/chat/inner-text-message.react.js b/native/chat/inner-text-message.react.js --- a/native/chat/inner-text-message.react.js +++ b/native/chat/inner-text-message.react.js @@ -92,13 +92,13 @@ const darkColor = !isViewer ? activeTheme === 'dark' - : props.isThreadColorDarkOverride ?? colorIsDark(item.threadInfo.color); + : (props.isThreadColorDarkOverride ?? colorIsDark(item.threadInfo.color)); const messageStyle = useAnimatedStyle( () => ({ backgroundColor: !isViewer ? boundColors.listChatBubble - : props.threadColorOverride?.value ?? `#${item.threadInfo.color}`, + : (props.threadColorOverride?.value ?? `#${item.threadInfo.color}`), }), [boundColors.listChatBubble, isViewer, item.threadInfo.color], ); diff --git a/native/chat/typeahead-tooltip.react.js b/native/chat/typeahead-tooltip.react.js --- a/native/chat/typeahead-tooltip.react.js +++ b/native/chat/typeahead-tooltip.react.js @@ -68,7 +68,7 @@ item: TypeaheadTooltipActionItem, ... }) => , - [], + [TypeaheadTooltipButtonComponent], ); // This is a hack that was introduced due to a buggy behavior of a diff --git a/native/metro.config.js b/native/metro.config.js --- a/native/metro.config.js +++ b/native/metro.config.js @@ -1,5 +1,6 @@ -/* eslint-disable flowtype/require-valid-file-annotation */ +/* eslint-disable ft-flow/require-valid-file-annotation */ +// eslint-disable-next-line import/extensions const { getDefaultConfig } = require('expo/metro-config'); const path = require('path'); diff --git a/native/navigation/chat-tab-bar-button.react.js b/native/navigation/chat-tab-bar-button.react.js --- a/native/navigation/chat-tab-bar-button.react.js +++ b/native/navigation/chat-tab-bar-button.react.js @@ -72,7 +72,7 @@ ); }, - [styles.icon], + [Icon, styles.icon], ); const renderLabelText = React.useCallback(() => title, [title]); diff --git a/package.json b/package.json --- a/package.json +++ b/package.json @@ -30,17 +30,16 @@ "docker-build-push:identity": "./scripts/docker-build-push-identity.sh" }, "devDependencies": { - "@babel/eslint-parser": "^7.23.3", "@stylistic/eslint-plugin-js": "^1.5.3", "clang-format": "^1.8.0", "core-js": "^3.6.5", "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-flowtype": "^8.0.3", + "eslint-config-prettier": "^10.1.5", + "eslint-plugin-ft-flow": "^3.0.11", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jest": "^27.6.1", "eslint-plugin-monorepo": "^0.3.2", - "eslint-plugin-prettier": "^5.1.2", + "eslint-plugin-prettier": "^5.5.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-native": "^4.1.0", @@ -48,11 +47,12 @@ "find-up": "^5.0.0", "flow-mono-cli": "^1.5.0", "gaxios": "^4.3.2", + "hermes-eslint": "^0.29.1", "husky": "^7.0.0", "lint-staged": "^12.1.4", "patch-package": "^6.4.7", "postinstall-postinstall": "^2.0.0", - "prettier": "^3.1.1" + "prettier": "^3.6.2" }, "resolutions": { "react-native-flipper": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.1.1.tgz" diff --git a/scripts/generate-phab-tag-removal-script.js b/scripts/generate-phab-tag-removal-script.js --- a/scripts/generate-phab-tag-removal-script.js +++ b/scripts/generate-phab-tag-removal-script.js @@ -1,4 +1,4 @@ -/* eslint-disable flowtype/require-valid-file-annotation */ +/* eslint-disable ft-flow/require-valid-file-annotation */ const { execSync } = require('child_process'); const fs = require('fs'); diff --git a/scripts/get-cargo-path.js b/scripts/get-cargo-path.js --- a/scripts/get-cargo-path.js +++ b/scripts/get-cargo-path.js @@ -1,4 +1,4 @@ -/* eslint-disable flowtype/require-valid-file-annotation */ +/* eslint-disable ft-flow/require-valid-file-annotation */ const findUp = require('find-up'); diff --git a/scripts/get-clang-paths-cli.js b/scripts/get-clang-paths-cli.js --- a/scripts/get-clang-paths-cli.js +++ b/scripts/get-clang-paths-cli.js @@ -1,4 +1,4 @@ -/* eslint-disable flowtype/require-valid-file-annotation */ +/* eslint-disable ft-flow/require-valid-file-annotation */ const { clangPaths } = require('./get-clang-paths.js'); diff --git a/scripts/get-clang-paths.js b/scripts/get-clang-paths.js --- a/scripts/get-clang-paths.js +++ b/scripts/get-clang-paths.js @@ -1,4 +1,4 @@ -/* eslint-disable flowtype/require-valid-file-annotation */ +/* eslint-disable ft-flow/require-valid-file-annotation */ const clangPaths = [ { diff --git a/scripts/set-admin-data.js b/scripts/set-admin-data.js --- a/scripts/set-admin-data.js +++ b/scripts/set-admin-data.js @@ -1,4 +1,4 @@ -/* eslint-disable flowtype/require-valid-file-annotation */ +/* eslint-disable ft-flow/require-valid-file-annotation */ const fs = require('fs'); const readline = require('readline'); diff --git a/scripts/set-user-credentials.js b/scripts/set-user-credentials.js --- a/scripts/set-user-credentials.js +++ b/scripts/set-user-credentials.js @@ -1,4 +1,4 @@ -/* eslint-disable flowtype/require-valid-file-annotation */ +/* eslint-disable ft-flow/require-valid-file-annotation */ const basePath = process.argv[2]; diff --git a/web/components/dropdown.react.js b/web/components/dropdown.react.js --- a/web/components/dropdown.react.js +++ b/web/components/dropdown.react.js @@ -97,7 +97,7 @@ const selectedOptionText = selectedIndex > -1 ? options[selectedIndex].name - : defaultLabel ?? 'Select an option'; + : (defaultLabel ?? 'Select an option'); return ( <> diff --git a/web/jest-setup.js b/web/jest-setup.js --- a/web/jest-setup.js +++ b/web/jest-setup.js @@ -1,5 +1,4 @@ // @flow -/* eslint-disable no-undef -- "global is not defined" */ import crypto from 'crypto'; import util from 'util'; diff --git a/web/media/image-utils.js b/web/media/image-utils.js --- a/web/media/image-utils.js +++ b/web/media/image-utils.js @@ -17,7 +17,6 @@ function getEXIFOrientation(file: File): Promise { return new Promise(resolve => { - // eslint-disable-next-line no-unused-vars EXIF.getData(file, function (this: File) { resolve(EXIF.getTag(this, 'Orientation')); }); diff --git a/yarn.lock b/yarn.lock --- a/yarn.lock +++ b/yarn.lock @@ -278,15 +278,6 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/eslint-parser@^7.23.3": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.27.1.tgz#e146fb2facef62c6c5d1a6fd07cfd79ee9f7b0f1" - integrity sha512-q8rjOuadH0V6Zo4XLMkJ3RMQ9MSBqwaDByyYB0izsYdaIWGNLmEblbCOf1vyFHICcg16CD7Fsi51vcQnYxmt6Q== - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.1" - "@babel/generator@^7.20.5", "@babel/generator@^7.25.0", "@babel/generator@^7.27.1", "@babel/generator@^7.4.0", "@babel/generator@^7.7.2": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.1.tgz#862d4fad858f7208edd487c28b58144036b76230" @@ -3558,13 +3549,6 @@ resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== -"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - version "5.1.1-v1" - resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" - integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== - dependencies: - eslint-scope "5.1.1" - "@noble/curves@1.2.0", "@noble/curves@~1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" @@ -3879,11 +3863,6 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@pkgr/core@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.0.tgz#7d8dacb7fdef0e4387caf7396cbd77f179867d06" - integrity sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ== - "@pkgr/core@^0.2.4": version "0.2.4" resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.4.tgz#d897170a2b0ba51f78a099edccd968f7b103387c" @@ -11201,6 +11180,11 @@ dependencies: semver "^7.5.4" +eslint-config-prettier@^10.1.5: + version "10.1.5" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz#00c18d7225043b6fbce6a665697377998d453782" + integrity sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw== + eslint-config-prettier@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" @@ -11262,10 +11246,10 @@ eslint-utils "^2.0.0" regexpp "^3.0.0" -eslint-plugin-flowtype@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" - integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== +eslint-plugin-ft-flow@^3.0.11: + version "3.0.11" + resolved "https://registry.yarnpkg.com/eslint-plugin-ft-flow/-/eslint-plugin-ft-flow-3.0.11.tgz#64654dad277104fc45aef8d009c4a51057ea1250" + integrity sha512-6ZJ4KYGYjIosCcU883zBBT1nFsKP58xrTOwguiw3/HRq0EpYAyhrF1nCGbK7V23cmKtPXMpDfl8qPupt5s5W8w== dependencies: lodash "^4.17.21" string-natural-compare "^3.0.1" @@ -11364,14 +11348,6 @@ resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-prettier@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz#584c94d4bf31329b2d4cbeb10fd600d17d6de742" - integrity sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" - eslint-plugin-prettier@^5.2.6: version "5.4.0" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.0.tgz#54d4748904e58eaf1ffe26c4bffa4986ca7f952b" @@ -11380,6 +11356,14 @@ prettier-linter-helpers "^1.0.0" synckit "^0.11.0" +eslint-plugin-prettier@^5.5.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.1.tgz#470820964de9aedb37e9ce62c3266d2d26d08d15" + integrity sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw== + dependencies: + prettier-linter-helpers "^1.0.0" + synckit "^0.11.7" + eslint-plugin-react-hooks@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" @@ -11498,11 +11482,6 @@ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" @@ -13942,6 +13921,15 @@ stream-to-string "1.1.0" test-listen "1.1.0" +hermes-eslint@^0.29.1: + version "0.29.1" + resolved "https://registry.yarnpkg.com/hermes-eslint/-/hermes-eslint-0.29.1.tgz#4d51f9e7643037eceea9a89960d75037bab4269d" + integrity sha512-yEFBnlcZGTnQouJtOrWsDE9RGU8b7glbbEzNV5+sPbbfzw94a4DwRyWLkMm2Yzf2mTzj1VZMQfejugNn3cpwtw== + dependencies: + esrecurse "^4.3.0" + hermes-estree "0.29.1" + hermes-parser "0.29.1" + hermes-estree@0.25.1: version "0.25.1" resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480" @@ -13952,6 +13940,11 @@ resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.28.1.tgz#631e6db146b06e62fc1c630939acf4a3c77d1b24" integrity sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ== +hermes-estree@0.29.1: + version "0.29.1" + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.29.1.tgz#043c7db076e0e8ef8c5f6ed23828d1ba463ebcc5" + integrity sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ== + hermes-parser@0.25.1: version "0.25.1" resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.25.1.tgz#5be0e487b2090886c62bd8a11724cd766d5f54d1" @@ -13966,6 +13959,13 @@ dependencies: hermes-estree "0.28.1" +hermes-parser@0.29.1: + version "0.29.1" + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.29.1.tgz#436b24bcd7bb1e71f92a04c396ccc0716c288d56" + integrity sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA== + dependencies: + hermes-estree "0.29.1" + hex-rgb@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/hex-rgb/-/hex-rgb-4.3.0.tgz#af5e974e83bb2fefe44d55182b004ec818c07776" @@ -20405,10 +20405,10 @@ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== -prettier@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848" - integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== +prettier@^3.6.2: + version "3.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" + integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== pretty-bytes@^5.6.0: version "5.6.0" @@ -24224,13 +24224,12 @@ dependencies: "@pkgr/core" "^0.2.4" -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== +synckit@^0.11.7: + version "0.11.8" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.8.tgz#b2aaae998a4ef47ded60773ad06e7cb821f55457" + integrity sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A== dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" + "@pkgr/core" "^0.2.4" syntax-error@^1.1.1: version "1.4.0" @@ -24772,7 +24771,7 @@ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.6.2: +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==