From f3c16d8ce6fa0f0b910a3ce70bc8bee5318d76a8 Mon Sep 17 00:00:00 2001 From: Igor Balos Date: Mon, 15 Dec 2025 10:38:39 +0100 Subject: [PATCH 1/2] updated to latest version of ESlint ghost plugin --- apps/admin/eslint.config.js | 14 -- package.json | 2 +- yarn.lock | 393 ++++++++++++++++++++++-------------- 3 files changed, 246 insertions(+), 163 deletions(-) diff --git a/apps/admin/eslint.config.js b/apps/admin/eslint.config.js index 918b088ed3d..fd734af3484 100644 --- a/apps/admin/eslint.config.js +++ b/apps/admin/eslint.config.js @@ -7,20 +7,6 @@ import { globalIgnores } from 'eslint/config' import noRelativeImportPaths from 'eslint-plugin-no-relative-import-paths' import ghostPlugin from 'eslint-plugin-ghost'; -// Patch the filenames/match-regex rule to add schema for ESLint 9 compatibility -// TODO: Remove once eslint-plugin-ghost is updated -const matchRegexRule = ghostPlugin.rules['filenames/match-regex']; -ghostPlugin.rules['filenames/match-regex'] = { - create: matchRegexRule, - meta: { - schema: [ - { type: 'string' }, - { type: 'boolean' }, - { type: 'boolean' } - ] - } -}; - export default tseslint.config([ globalIgnores(['dist']), { diff --git a/package.json b/package.json index 674576c9376..5e2fb8d9712 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "chokidar": "3.6.0", "concurrently": "8.2.2", "eslint": "8.57.1", - "eslint-plugin-ghost": "3.4.3", + "eslint-plugin-ghost": "3.4.4", "eslint-plugin-react": "7.37.5", "husky": "8.0.3", "inquirer": "8.2.7", diff --git a/yarn.lock b/yarn.lock index e29bc58fe6f..546d98a2d2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -706,6 +706,15 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.1" +"@babel/eslint-parser@^7.23.10": + version "7.28.5" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.28.5.tgz#0b8883a4a1c2cbed7b3cd9d7765d80e8f480b9ae" + integrity sha512-fcdRcWahONYo+JRnJg1/AekOacGvKx12Gu0qXJXFi2WBqQA1i7+O5PaxRB7kxE/Op94dExnCiiar6T09pvdHpA== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" + "@babel/generator@^7.28.0", "@babel/generator@^7.7.2": version "7.28.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.0.tgz#9cc2f7bd6eb054d77dc66c2664148a0c5118acd2" @@ -3136,18 +3145,23 @@ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz#e4b3e255a1b4aea84f6e1d2ae0b73f826c3785bd" integrity sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw== -"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0", "@eslint-community/eslint-utils@^4.7.0", "@eslint-community/eslint-utils@^4.8.0": +"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.5.0", "@eslint-community/eslint-utils@^4.7.0", "@eslint-community/eslint-utils@^4.8.0": version "4.9.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz#7308df158e064f0dd8b8fdb58aa14fa2a7f913b3" integrity sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g== dependencies: eslint-visitor-keys "^3.4.3" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1", "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.0", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1", "@eslint-community/regexpp@^4.6.1": version "4.12.1" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== +"@eslint-community/regexpp@^4.11.0": + version "4.12.2" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" + integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== + "@eslint/config-array@^0.21.0": version "0.21.0" resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.0.tgz#abdbcbd16b124c638081766392a4d6b509f72636" @@ -3330,6 +3344,14 @@ dependencies: "@simple-dom/interface" "^1.4.0" +"@glimmer/interfaces@0.94.6": + version "0.94.6" + resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.94.6.tgz#a4a2877730f37587326cab361de81cc0da71a823" + integrity sha512-sp/1WePvB/8O+jrcUHwjboNPTKrdGicuHKA9T/lh0vkYK2qM5Xz4i25lQMQ38tEMiw7KixrjHiTUiaXRld+IwA== + dependencies: + "@simple-dom/interface" "^1.4.0" + type-fest "^4.35.0" + "@glimmer/interfaces@^0.42.2": version "0.42.2" resolved "https://registry.yarnpkg.com/@glimmer/interfaces/-/interfaces-0.42.2.tgz#9cf8d6f8f5eee6bfcfa36919ca68ae716e1f78db" @@ -3380,6 +3402,17 @@ "@glimmer/vm" "^0.42.2" "@glimmer/wire-format" "^0.42.2" +"@glimmer/syntax@>= 0.92.0": + version "0.95.0" + resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.95.0.tgz#0d4c06bdae55087e3262b06d82c31a5586230fc5" + integrity sha512-W/PHdODnpONsXjbbdY9nedgIHpglMfOzncf/moLVrKIcCfeQhw2vG07Rs/YW8KeJCgJRCLkQsi+Ix7XvrurGAg== + dependencies: + "@glimmer/interfaces" "0.94.6" + "@glimmer/util" "0.94.8" + "@glimmer/wire-format" "0.94.8" + "@handlebars/parser" "~2.2.0" + simple-html-tokenizer "^0.5.11" + "@glimmer/syntax@^0.42.1": version "0.42.2" resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.42.2.tgz#89bb3cb787285b84665dc0d8907d94b008e5be9a" @@ -3390,7 +3423,7 @@ handlebars "^4.0.13" simple-html-tokenizer "^0.5.8" -"@glimmer/syntax@^0.84.2", "@glimmer/syntax@^0.84.3": +"@glimmer/syntax@^0.84.3": version "0.84.3" resolved "https://registry.yarnpkg.com/@glimmer/syntax/-/syntax-0.84.3.tgz#4045a1708cef7fd810cff42fe6deeba40c7286d0" integrity sha512-ioVbTic6ZisLxqTgRBL2PCjYZTFIwobifCustrozRU2xGDiYvVIL0vt25h2c1ioDsX59UgVlDkIK4YTAQQSd2A== @@ -3417,6 +3450,13 @@ "@glimmer/interfaces" "0.84.3" "@simple-dom/interface" "^1.4.0" +"@glimmer/util@0.94.8": + version "0.94.8" + resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.94.8.tgz#13eb1003c2f5df84aedd73907745ec02baf4f8f8" + integrity sha512-HfCKeZ74clF9BsPDBOqK/yRNa/ke6niXFPM6zRn9OVYw+ZAidLs7V8He/xljUHlLRL322kaZZY8XxRW7ALEwyg== + dependencies: + "@glimmer/interfaces" "0.94.6" + "@glimmer/util@^0.42.2": version "0.42.2" resolved "https://registry.yarnpkg.com/@glimmer/util/-/util-0.42.2.tgz#9ca1631e42766ea6059f4b49d0bdfb6095aad2c4" @@ -3448,6 +3488,13 @@ "@glimmer/interfaces" "^0.42.2" "@glimmer/util" "^0.42.2" +"@glimmer/wire-format@0.94.8": + version "0.94.8" + resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.94.8.tgz#439877561779b7aa19040879ecf915b3cd8b5fbe" + integrity sha512-A+Cp5m6vZMAEu0Kg/YwU2dJZXyYxVJs2zI57d3CP6NctmX7FsT8WjViiRUmt5abVmMmRH5b8BUovqY6GSMAdrw== + dependencies: + "@glimmer/interfaces" "0.94.6" + "@glimmer/wire-format@^0.42.2": version "0.42.2" resolved "https://registry.yarnpkg.com/@glimmer/wire-format/-/wire-format-0.42.2.tgz#b95062b594dddeb8bd11cba3a6a0accbfabc9930" @@ -3486,6 +3533,11 @@ resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-2.0.0.tgz#5e8b7298f31ff8f7b260e6b7363c7e9ceed7d9c5" integrity sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA== +"@handlebars/parser@~2.2.0": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@handlebars/parser/-/parser-2.2.2.tgz#f33395c3f0e66e791bc820b2b7ff13d9d0dc0491" + integrity sha512-n/SZW+12rwikx/f8YcSv9JCi5p9vn1Bnts9ZtVvfErG4h0gbjHI1H1ZMhVUnaOC7yzFc6PtsCKIK8XeTnL90Gw== + "@headlessui/react@1.7.19": version "1.7.19" resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.19.tgz#91c78cf5fcb254f4a0ebe96936d48421caf75f40" @@ -9859,7 +9911,7 @@ expect "^29.0.0" pretty-format "^29.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -10140,11 +10192,6 @@ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== -"@types/semver@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" - integrity sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw== - "@types/serve-static@*": version "1.15.1" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d" @@ -10268,23 +10315,6 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz#d8ce497dc0ed42066e195c8ecc40d45c7b1254f4" - integrity sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/type-utils" "6.9.1" - "@typescript-eslint/utils" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - "@typescript-eslint/eslint-plugin@8.46.1": version "8.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.1.tgz#20876354024140aabc8b400bc95735fdcade17d5" @@ -10300,16 +10330,19 @@ natural-compare "^1.4.0" ts-api-utils "^2.1.0" -"@typescript-eslint/parser@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.9.1.tgz#4f685f672f8b9580beb38d5fb99d52fc3e34f7a3" - integrity sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg== +"@typescript-eslint/eslint-plugin@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.49.0.tgz#8ed8736b8415a9193989220eadb6031dbcd2260a" + integrity sha512-JXij0vzIaTtCwu6SxTh8qBc66kmf1xs7pI4UOiMDFVct6q86G0Zs7KRcEoJgY3Cav3x5Tq0MF5jwgpgLqgKG3A== dependencies: - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/typescript-estree" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - debug "^4.3.4" + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "8.49.0" + "@typescript-eslint/type-utils" "8.49.0" + "@typescript-eslint/utils" "8.49.0" + "@typescript-eslint/visitor-keys" "8.49.0" + ignore "^7.0.0" + natural-compare "^1.4.0" + ts-api-utils "^2.1.0" "@typescript-eslint/parser@8.46.1": version "8.46.1" @@ -10322,6 +10355,17 @@ "@typescript-eslint/visitor-keys" "8.46.1" debug "^4.3.4" +"@typescript-eslint/parser@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.49.0.tgz#0ede412d59e99239b770f0f08c76c42fba717fa2" + integrity sha512-N9lBGA9o9aqb1hVMc9hzySbhKibHmB+N3IpoShyV6HyQYRGIhlrO5rQgttypi+yEeKsKI4idxC8Jw6gXKD4THA== + dependencies: + "@typescript-eslint/scope-manager" "8.49.0" + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/typescript-estree" "8.49.0" + "@typescript-eslint/visitor-keys" "8.49.0" + debug "^4.3.4" + "@typescript-eslint/project-service@8.46.1": version "8.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.46.1.tgz#07be0e6f27fa90a17d8e5f6996ee02329c9a8c2e" @@ -10331,13 +10375,14 @@ "@typescript-eslint/types" "^8.46.1" debug "^4.3.4" -"@typescript-eslint/scope-manager@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz#e96afeb9a68ad1cd816dba233351f61e13956b75" - integrity sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg== +"@typescript-eslint/project-service@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.49.0.tgz#ce220525c88cb2d23792b391c07e14cb9697651a" + integrity sha512-/wJN0/DKkmRUMXjZUXYZpD1NEQzQAAn9QWfGwo+Ai8gnzqH7tvqS7oNVdTjKqOcPyVIdZdyCMoqN66Ia789e7g== dependencies: - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" + "@typescript-eslint/tsconfig-utils" "^8.49.0" + "@typescript-eslint/types" "^8.49.0" + debug "^4.3.4" "@typescript-eslint/scope-manager@8.46.1": version "8.46.1" @@ -10347,20 +10392,23 @@ "@typescript-eslint/types" "8.46.1" "@typescript-eslint/visitor-keys" "8.46.1" +"@typescript-eslint/scope-manager@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.49.0.tgz#a3496765b57fb48035d671174552e462e5bffa63" + integrity sha512-npgS3zi+/30KSOkXNs0LQXtsg9ekZ8OISAOLGWA/ZOEn0ZH74Ginfl7foziV8DT+D98WfQ5Kopwqb/PZOaIJGg== + dependencies: + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/visitor-keys" "8.49.0" + "@typescript-eslint/tsconfig-utils@8.46.1", "@typescript-eslint/tsconfig-utils@^8.46.1": version "8.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.1.tgz#24405888560175c6c209c39df11ac06a2efef9d7" integrity sha512-X88+J/CwFvlJB+mK09VFqx5FE4H5cXD+H/Bdza2aEWkSb8hnWIQorNcscRl4IEo1Cz9VI/+/r/jnGWkbWPx54g== -"@typescript-eslint/type-utils@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz#efd5db20ed35a74d3c7d8fba51b830ecba09ce32" - integrity sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg== - dependencies: - "@typescript-eslint/typescript-estree" "6.9.1" - "@typescript-eslint/utils" "6.9.1" - debug "^4.3.4" - ts-api-utils "^1.0.1" +"@typescript-eslint/tsconfig-utils@8.49.0", "@typescript-eslint/tsconfig-utils@^8.38.0", "@typescript-eslint/tsconfig-utils@^8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.49.0.tgz#857777c8e35dd1e564505833d8043f544442fbf4" + integrity sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA== "@typescript-eslint/type-utils@8.46.1": version "8.46.1" @@ -10373,28 +10421,26 @@ debug "^4.3.4" ts-api-utils "^2.1.0" -"@typescript-eslint/types@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.9.1.tgz#a6cfc20db0fcedcb2f397ea728ef583e0ee72459" - integrity sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ== +"@typescript-eslint/type-utils@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.49.0.tgz#d8118a0c1896a78a22f01d3c176e9945409b085b" + integrity sha512-KTExJfQ+svY8I10P4HdxKzWsvtVnsuCifU5MvXrRwoP2KOlNZ9ADNEWWsQTJgMxLzS5VLQKDjkCT/YzgsnqmZg== + dependencies: + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/typescript-estree" "8.49.0" + "@typescript-eslint/utils" "8.49.0" + debug "^4.3.4" + ts-api-utils "^2.1.0" "@typescript-eslint/types@8.46.1", "@typescript-eslint/types@^8.46.1": version "8.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.46.1.tgz#4c5479538ec10b5508b8e982e172911c987446d8" integrity sha512-C+soprGBHwWBdkDpbaRC4paGBrkIXxVlNohadL5o0kfhsXqOC6GYH2S/Obmig+I0HTDl8wMaRySwrfrXVP8/pQ== -"@typescript-eslint/typescript-estree@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz#8c77910a49a04f0607ba94d78772da07dab275ad" - integrity sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw== - dependencies: - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/visitor-keys" "6.9.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" +"@typescript-eslint/types@8.49.0", "@typescript-eslint/types@^8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.49.0.tgz#c1bd3ebf956d9e5216396349ca23c58d74f06aee" + integrity sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ== "@typescript-eslint/typescript-estree@8.46.1": version "8.46.1" @@ -10412,18 +10458,20 @@ semver "^7.6.0" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.9.1.tgz#763da41281ef0d16974517b5f0d02d85897a1c1e" - integrity sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.9.1" - "@typescript-eslint/types" "6.9.1" - "@typescript-eslint/typescript-estree" "6.9.1" - semver "^7.5.4" +"@typescript-eslint/typescript-estree@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.49.0.tgz#99c5a53275197ccb4e849786dad68344e9924135" + integrity sha512-jrLdRuAbPfPIdYNppHJ/D0wN+wwNfJ32YTAm10eJVsFmrVpXQnDWBn8niCSMlWjvml8jsce5E/O+86IQtTbJWA== + dependencies: + "@typescript-eslint/project-service" "8.49.0" + "@typescript-eslint/tsconfig-utils" "8.49.0" + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/visitor-keys" "8.49.0" + debug "^4.3.4" + minimatch "^9.0.4" + semver "^7.6.0" + tinyglobby "^0.2.15" + ts-api-utils "^2.1.0" "@typescript-eslint/utils@8.46.1", "@typescript-eslint/utils@^8.8.1": version "8.46.1" @@ -10435,13 +10483,15 @@ "@typescript-eslint/types" "8.46.1" "@typescript-eslint/typescript-estree" "8.46.1" -"@typescript-eslint/visitor-keys@6.9.1": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz#6753a9225a0ba00459b15d6456b9c2780b66707d" - integrity sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw== +"@typescript-eslint/utils@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.49.0.tgz#43b3b91d30afd6f6114532cf0b228f1790f43aff" + integrity sha512-N3W7rJw7Rw+z1tRsHZbK395TWSYvufBXumYtEGzypgMUthlg0/hmCImeA8hgO2d2G4pd7ftpxxul2J8OdtdaFA== dependencies: - "@typescript-eslint/types" "6.9.1" - eslint-visitor-keys "^3.4.1" + "@eslint-community/eslint-utils" "^4.7.0" + "@typescript-eslint/scope-manager" "8.49.0" + "@typescript-eslint/types" "8.49.0" + "@typescript-eslint/typescript-estree" "8.49.0" "@typescript-eslint/visitor-keys@8.46.1": version "8.46.1" @@ -10451,6 +10501,14 @@ "@typescript-eslint/types" "8.46.1" eslint-visitor-keys "^4.2.1" +"@typescript-eslint/visitor-keys@8.49.0": + version "8.49.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.49.0.tgz#8e450cc502c0d285cad9e84d400cf349a85ced6c" + integrity sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA== + dependencies: + "@typescript-eslint/types" "8.49.0" + eslint-visitor-keys "^4.2.1" + "@uiw/codemirror-extensions-basic-setup@4.25.2": version "4.25.2" resolved "https://registry.yarnpkg.com/@uiw/codemirror-extensions-basic-setup/-/codemirror-extensions-basic-setup-4.25.2.tgz#024b781645772ee266eeec75ec6facf4fc1d1a99" @@ -13883,13 +13941,6 @@ builtins@^1.0.3: resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ== -builtins@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== - dependencies: - semver "^7.0.0" - bunyan-loggly@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/bunyan-loggly/-/bunyan-loggly-1.4.2.tgz#dda0fb18f487fa150a79728e906d83e871d235e9" @@ -15143,6 +15194,11 @@ content-disposition@0.5.4: dependencies: safe-buffer "5.2.1" +content-tag@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/content-tag/-/content-tag-2.0.3.tgz#52b72285256ae0aa49e86b1b5923764df472d61c" + integrity sha512-htLIdtfhhKW2fHlFLnZH7GFzHSdSpHhDLrWVswkNiiPMZ5uXq5JfrGboQKFhNQuAAFF8VNB2EYUj3MsdJrKKpg== + content-type@~1.0.4, content-type@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" @@ -15599,7 +15655,7 @@ css-tree@^1.1.2: mdn-data "2.0.14" source-map "^0.6.1" -css-tree@^2.0.4, css-tree@^2.3.1: +css-tree@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== @@ -17682,6 +17738,20 @@ ember-ella-sparse@0.16.0: ember-cli-babel "^7.7.3" ember-concurrency "^1.0.0" +ember-eslint-parser@^0.5.9: + version "0.5.13" + resolved "https://registry.yarnpkg.com/ember-eslint-parser/-/ember-eslint-parser-0.5.13.tgz#9e0068146f9f572e5075d95bf22e2354902048ed" + integrity sha512-b6ALDaxs9Bb4v0uagWud/5lECb78qpXHFv7M340dUHFW4Y0RuhlsfA4Rb+765X1+6KHp8G7TaAs0UgggWUqD3g== + dependencies: + "@babel/eslint-parser" "^7.23.10" + "@glimmer/syntax" ">= 0.92.0" + "@typescript-eslint/tsconfig-utils" "^8.38.0" + content-tag "^2.0.1" + eslint-scope "^7.2.2" + html-tags "^3.3.1" + mathml-tag-names "^2.1.3" + svg-tags "^1.0.0" + ember-exam@6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ember-exam/-/ember-exam-6.0.1.tgz#0a6412c81aa1dfb571b537c6428ceb671dd7ebb4" @@ -17996,7 +18066,7 @@ ember-resolver@8.1.0: ember-cli-version-checker "^5.1.2" resolve "^1.20.0" -ember-rfc176-data@^0.3.1, ember-rfc176-data@^0.3.13, ember-rfc176-data@^0.3.15, ember-rfc176-data@^0.3.17: +ember-rfc176-data@^0.3.1, ember-rfc176-data@^0.3.13, ember-rfc176-data@^0.3.17, ember-rfc176-data@^0.3.18: version "0.3.18" resolved "https://registry.yarnpkg.com/ember-rfc176-data/-/ember-rfc176-data-0.3.18.tgz#bb6fdcef49999981317ea81b6cc9210fb4108d65" integrity sha512-JtuLoYGSjay1W3MQAxt3eINWXNYYQliK90tLwtb8aeCuQK8zKGCRbBodVIrkcTqshULMnRuTOS6t1P7oQk3g6Q== @@ -18295,6 +18365,14 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.5.0: memory-fs "^0.5.0" tapable "^1.0.0" +enhanced-resolve@^5.17.1: + version "5.18.4" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz#c22d33055f3952035ce6a144ce092447c525f828" + integrity sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + enhanced-resolve@^5.17.3: version "5.18.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz#9b5f4c5c076b8787c78fe540392ce76a88855b44" @@ -18716,6 +18794,13 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" +eslint-compat-utils@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#7fc92b776d185a70c4070d03fd26fde3d59652e4" + integrity sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q== + dependencies: + semver "^7.5.4" + eslint-formatter-kakoune@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-formatter-kakoune/-/eslint-formatter-kakoune-1.0.0.tgz#a95cc4fe1fbc06b84e0f2397e83f5f0b68340125" @@ -18728,32 +18813,30 @@ eslint-plugin-babel@5.3.1: dependencies: eslint-rule-composer "^0.3.0" -eslint-plugin-ember@11.11.1: - version "11.11.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-ember/-/eslint-plugin-ember-11.11.1.tgz#bc49d76ed8ec43e646d222f15181f4d18c3c3218" - integrity sha512-dvsDa4LkDkGqCE2bzBIguRMi1g40JVwRWMSHmn8S7toRDxSOU3M7yromgi5eSAJX2O2vEvJZ9QnR15YDbvNfVQ== +eslint-plugin-ember@12.7.5: + version "12.7.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-ember/-/eslint-plugin-ember-12.7.5.tgz#000a4a1b3b01beecd8dbcf43be2d025260050ffa" + integrity sha512-2zLEpu3xcKjykgsKkj8sU2GwdxADFTH5XPBvuIrNBP253JxHSz2P21isUuRB50kGoR2KL+eUHNgV0j7IPCav1w== dependencies: "@ember-data/rfc395-data" "^0.0.4" - "@glimmer/syntax" "^0.84.2" - css-tree "^2.0.4" - ember-rfc176-data "^0.3.15" - ember-template-imports "^3.4.2" - ember-template-recast "^6.1.4" + css-tree "^3.0.1" + ember-eslint-parser "^0.5.9" + ember-rfc176-data "^0.3.18" eslint-utils "^3.0.0" - estraverse "^5.2.0" - lodash.camelcase "^4.1.1" + estraverse "^5.3.0" + lodash.camelcase "^4.3.0" lodash.kebabcase "^4.1.1" - magic-string "^0.30.0" requireindex "^1.2.0" snake-case "^3.0.3" -eslint-plugin-es-x@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.2.0.tgz#5779d742ad31f8fd780b9481331481e142b72311" - integrity sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA== +eslint-plugin-es-x@^7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#a207aa08da37a7923f2a9599e6d3eb73f3f92b74" + integrity sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ== dependencies: "@eslint-community/eslint-utils" "^4.1.2" - "@eslint-community/regexpp" "^4.6.0" + "@eslint-community/regexpp" "^4.11.0" + eslint-compat-utils "^0.5.1" eslint-plugin-filenames-ts@1.3.2: version "1.3.2" @@ -18765,21 +18848,21 @@ eslint-plugin-filenames-ts@1.3.2: lodash.snakecase "4.1.1" lodash.upperfirst "4.3.1" -eslint-plugin-ghost@3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-ghost/-/eslint-plugin-ghost-3.4.3.tgz#ecbe80369cd603411825b1766b52470ab261730b" - integrity sha512-PHvr9PYlR6xo69H7EzXONdDIdBVXHcNJbSBBMVfhhuVEPb8Z5ov4AIR0ZHg6wkbE3AW7ko8dL9QAJavnroT9Yg== +eslint-plugin-ghost@3.4.4: + version "3.4.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-ghost/-/eslint-plugin-ghost-3.4.4.tgz#feec1faa083299625948e26135790b0a3305e994" + integrity sha512-rXcFgbw4RLA//zvJXd96/E5chVOj4J0ZYWZZRsP+xzpBW9WySvyWZuQAEHzHd+9RSv3KRTOWMxTKPpc0VRG8JA== dependencies: "@kapouer/eslint-plugin-no-return-in-loop" "1.0.0" - "@typescript-eslint/eslint-plugin" "6.9.1" - "@typescript-eslint/parser" "6.9.1" - eslint-plugin-ember "11.11.1" + "@typescript-eslint/eslint-plugin" "8.49.0" + "@typescript-eslint/parser" "8.49.0" + eslint-plugin-ember "12.7.5" eslint-plugin-filenames-ts "1.3.2" eslint-plugin-mocha "7.0.1" - eslint-plugin-n "16.2.0" + eslint-plugin-n "17.23.1" eslint-plugin-sort-imports-es6-autofix "0.6.0" eslint-plugin-unicorn "42.0.0" - typescript "5.2.2" + typescript "5.9.3" eslint-plugin-i18next@6.1.3: version "6.1.3" @@ -18797,20 +18880,20 @@ eslint-plugin-mocha@7.0.1: eslint-utils "^2.0.0" ramda "^0.27.0" -eslint-plugin-n@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.2.0.tgz#3f98ca9fadd9f7bdaaf60068533118ecb685bfb5" - integrity sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g== +eslint-plugin-n@17.23.1: + version "17.23.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-17.23.1.tgz#467db2aba0ead574ea6150143d079d544c11cf48" + integrity sha512-68PealUpYoHOBh332JLLD9Sj7OQUDkFpmcfqt8R9sySfFSeuGJjMTJQvCRRB96zO3A/PELRLkPrzsHmzEFQQ5A== dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - builtins "^5.0.1" - eslint-plugin-es-x "^7.1.0" - get-tsconfig "^4.7.0" - ignore "^5.2.4" - is-core-module "^2.12.1" - minimatch "^3.1.2" - resolve "^1.22.2" - semver "^7.5.3" + "@eslint-community/eslint-utils" "^4.5.0" + enhanced-resolve "^5.17.1" + eslint-plugin-es-x "^7.8.0" + get-tsconfig "^4.8.1" + globals "^15.11.0" + globrex "^0.1.2" + ignore "^5.3.2" + semver "^7.6.3" + ts-declaration-location "^1.0.6" eslint-plugin-no-relative-import-paths@^1.6.1: version "1.6.1" @@ -20546,13 +20629,20 @@ get-symbol-description@^1.1.0: es-errors "^1.3.0" get-intrinsic "^1.2.6" -get-tsconfig@^4.7.0, get-tsconfig@^4.7.5: +get-tsconfig@^4.7.5: version "4.10.0" resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.10.0.tgz#403a682b373a823612475a4c2928c7326fc0f6bb" integrity sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A== dependencies: resolve-pkg-maps "^1.0.0" +get-tsconfig@^4.8.1: + version "4.13.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.13.0.tgz#fcdd991e6d22ab9a600f00e91c318707a5d9a0d7" + integrity sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ== + dependencies: + resolve-pkg-maps "^1.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -20761,6 +20851,11 @@ globals@^14.0.0: resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== +globals@^15.11.0: + version "15.15.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.15.0.tgz#7c4761299d41c32b075715a4ce1ede7897ff72a8" + integrity sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg== + globals@^16.4.0: version "16.5.0" resolved "https://registry.yarnpkg.com/globals/-/globals-16.5.0.tgz#ccf1594a437b97653b2be13ed4d8f5c9f850cac1" @@ -21623,7 +21718,7 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== -ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== @@ -22084,7 +22179,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.16.0, is-core-module@^2.5.0: +is-core-module@^2.13.0, is-core-module@^2.16.0, is-core-module@^2.5.0: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== @@ -24347,7 +24442,7 @@ lodash.bind@^4.1.4: resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" integrity sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA== -lodash.camelcase@4.3.0, lodash.camelcase@^4.1.1, lodash.camelcase@^4.3.0: +lodash.camelcase@4.3.0, lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== @@ -30028,7 +30123,7 @@ resolve@1.22.8: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.3, resolve@^1.22.8, resolve@^1.3.3, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.1, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1, resolve@^1.22.3, resolve@^1.22.8, resolve@^1.3.3, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: version "1.22.10" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== @@ -32845,16 +32940,18 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== -ts-api-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.1.tgz#8144e811d44c749cd65b2da305a032510774452d" - integrity sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A== - ts-api-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.1.0.tgz#595f7094e46eed364c13fd23e75f9513d29baf91" integrity sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ== +ts-declaration-location@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz#d4068fe9975828b3b453b3ab112b4711d8267688" + integrity sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA== + dependencies: + picomatch "^4.0.2" + ts-dedent@^2.0.0, ts-dedent@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" @@ -33024,7 +33121,7 @@ type-fest@^2.19.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -type-fest@^4.26.1, type-fest@^4.41.0: +type-fest@^4.26.1, type-fest@^4.35.0, type-fest@^4.41.0: version "4.41.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58" integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== @@ -33114,16 +33211,16 @@ typescript-memoize@^1.0.0-alpha.3, typescript-memoize@^1.0.1: resolved "https://registry.yarnpkg.com/typescript-memoize/-/typescript-memoize-1.1.1.tgz#02737495d5df6ebf72c07ba0d002e8f4cf5ccfa0" integrity sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA== -typescript@5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" - integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== - typescript@5.8.3, typescript@^5.0.4: version "5.8.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== +typescript@5.9.3: + version "5.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" + integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== + ua-parser-js@1.0.41: version "1.0.41" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.41.tgz#bd04dc9ec830fcf9e4fad35cf22dcedd2e3b4e9c" From 781b6ab3b05ba9ae1a55dbb808e4c6fccd833c5f Mon Sep 17 00:00:00 2001 From: Igor Balos Date: Mon, 15 Dec 2025 12:28:34 +0100 Subject: [PATCH 2/2] fixed linting errors --- apps/activitypub/src/api/activitypub.ts | 2 +- .../src/components/modals/new-note-modal.tsx | 2 +- .../src/hooks/use-activity-pub-queries.ts | 6 +- apps/activitypub/src/utils/get-username.ts | 2 +- apps/activitypub/src/utils/image.ts | 2 +- .../components/bluesky-sharing.tsx | 2 +- .../views/preferences/components/profile.tsx | 4 +- .../activitypub/src/views/profile/profile.tsx | 1 + .../src/global/sortable-list.tsx | 2 +- apps/admin-x-design-system/src/typings.d.ts | 1 + .../src/utils/format-url.ts | 2 +- apps/admin-x-framework/src/api/config.ts | 2 + .../src/api/recommendations.ts | 5 +- apps/admin-x-framework/src/test/acceptance.ts | 2 +- .../admin-x-framework/src/test/test-utils.tsx | 2 +- .../test/unit/hooks/use-form.test.ts | 4 +- .../newsletters/newsletter-detail-modal.tsx | 1 + .../add-recommendation-modal-confirm.tsx | 2 +- .../add-recommendation-modal.tsx | 2 +- .../edit-recommendation-modal.tsx | 2 +- .../incoming-recommendation-list.tsx | 2 +- .../navigation/navigation-item-editor.tsx | 2 + apps/admin-x-settings/src/typings.d.ts | 1 + .../src/utils/link-to-github-releases.ts | 3 +- apps/admin-x-settings/src/utils/url.ts | 2 +- apps/admin/package.json | 2 +- apps/comments-ui/src/actions.ts | 4 +- apps/comments-ui/src/app-context.ts | 3 +- .../src/components/content/forms/form.tsx | 2 +- apps/comments-ui/src/components/popup-box.tsx | 2 +- apps/comments-ui/src/typings.d.ts | 1 + apps/comments-ui/src/utils/admin-api.ts | 2 +- apps/comments-ui/src/utils/api.ts | 2 +- .../posts/src/hooks/use-post-success-modal.ts | 2 +- apps/posts/src/utils/link-helpers.ts | 2 +- .../src/views/PostAnalytics/Growth/growth.tsx | 1 + .../PostAnalytics/Newsletter/newsletter.tsx | 1 + .../posts/src/views/PostAnalytics/Web/web.tsx | 1 + .../features/color-picker/color-picker.tsx | 2 +- apps/shade/src/components/layout/header.tsx | 7 ++ apps/shade/src/components/layout/heading.tsx | 4 +- apps/shade/src/components/layout/page.tsx | 4 +- .../src/components/layout/view-header.tsx | 6 +- apps/shade/src/components/ui/card.tsx | 1 + apps/shade/src/lib/utils.ts | 2 +- apps/shade/src/typings.d.ts | 1 + .../src/components/pages/form-page.tsx | 2 +- apps/signup-form/src/typings.d.ts | 1 + apps/stats/src/hooks/use-feature-flag.tsx | 2 +- apps/stats/src/types/svg.d.ts | 1 + apps/stats/src/utils/url-helpers.ts | 14 +-- apps/stats/test/utils/tinybird-helpers.ts | 2 +- e2e/package.json | 2 +- .../service/RecommendationMetadataService.ts | 6 +- .../recommendations/service/UnsafeData.ts | 2 +- yarn.lock | 85 +++++++------------ 56 files changed, 112 insertions(+), 115 deletions(-) diff --git a/apps/activitypub/src/api/activitypub.ts b/apps/activitypub/src/api/activitypub.ts index 8f26591209b..fd9e5342a2b 100644 --- a/apps/activitypub/src/api/activitypub.ts +++ b/apps/activitypub/src/api/activitypub.ts @@ -254,7 +254,7 @@ export class ActivityPubAPI { const response = await this.fetch(this.authApiUrl); const json = await response.json(); return json?.identities?.[0]?.token || null; - } catch (err) { + } catch { // TODO: Ping sentry? return null; } diff --git a/apps/activitypub/src/components/modals/new-note-modal.tsx b/apps/activitypub/src/components/modals/new-note-modal.tsx index 8861712a159..07296a09e3e 100644 --- a/apps/activitypub/src/components/modals/new-note-modal.tsx +++ b/apps/activitypub/src/components/modals/new-note-modal.tsx @@ -93,7 +93,7 @@ const NewNoteModal: React.FC = ({children, replyTo, onReply, onOpenChange(false); } toast.success(replyTo ? 'Reply posted' : 'Note posted'); - } catch (error) { + } catch { if (replyTo) { onReplyError?.(); } diff --git a/apps/activitypub/src/hooks/use-activity-pub-queries.ts b/apps/activitypub/src/hooks/use-activity-pub-queries.ts index ac7fdbd0454..d5c1d6c6b96 100644 --- a/apps/activitypub/src/hooks/use-activity-pub-queries.ts +++ b/apps/activitypub/src/hooks/use-activity-pub-queries.ts @@ -396,7 +396,7 @@ function updateNotificationsLikedCache(queryClient: QueryClient, handle: string, }; }) }; - } catch (error) { + } catch { return current; } } @@ -442,7 +442,7 @@ function updateNotificationsRepostCache(queryClient: QueryClient, handle: string }; }) }; - } catch (error) { + } catch { return current; } } @@ -487,7 +487,7 @@ function updateNotificationsReplyCountCache(queryClient: QueryClient, handle: st }; }) }; - } catch (error) { + } catch { return current; } } diff --git a/apps/activitypub/src/utils/get-username.ts b/apps/activitypub/src/utils/get-username.ts index 89d4ab0c599..b0a4e6efa53 100644 --- a/apps/activitypub/src/utils/get-username.ts +++ b/apps/activitypub/src/utils/get-username.ts @@ -4,7 +4,7 @@ function getUsername(actor: {preferredUsername: string; id: string|null;}) { } try { return `@${actor.preferredUsername}@${(new URL(actor.id)).hostname.replace(/^www\./, '')}`; - } catch (err) { + } catch { return '@unknown@unknown'; } } diff --git a/apps/activitypub/src/utils/image.ts b/apps/activitypub/src/utils/image.ts index c84a426492f..16859979fe5 100644 --- a/apps/activitypub/src/utils/image.ts +++ b/apps/activitypub/src/utils/image.ts @@ -22,7 +22,7 @@ export const imageUrlToDataUrl = async (url: string): Promise => { reader.onerror = reject; reader.readAsDataURL(blob); }); - } catch (error) { + } catch { // Return original URL as fallback if conversion fails return url; } diff --git a/apps/activitypub/src/views/preferences/components/bluesky-sharing.tsx b/apps/activitypub/src/views/preferences/components/bluesky-sharing.tsx index 642c9fa84a7..0613fa80800 100644 --- a/apps/activitypub/src/views/preferences/components/bluesky-sharing.tsx +++ b/apps/activitypub/src/views/preferences/components/bluesky-sharing.tsx @@ -52,7 +52,7 @@ const BlueskySharing: React.FC = () => { setLoading(true); try { await enableBlueskyMutation.mutateAsync(); - } catch (error) { + } catch { setLoading(false); toast.error('Something went wrong, please try again.'); } diff --git a/apps/activitypub/src/views/preferences/components/profile.tsx b/apps/activitypub/src/views/preferences/components/profile.tsx index bc254074534..07b5203781f 100644 --- a/apps/activitypub/src/views/preferences/components/profile.tsx +++ b/apps/activitypub/src/views/preferences/components/profile.tsx @@ -304,11 +304,11 @@ const Profile: React.FC = ({account, isLoading}) => { await navigator.clipboard.write([clipboardItem]); toast.success('Image copied to clipboard'); - } catch (error) { + } catch { toast.error('Failed to copy image'); } setIsProcessing(false); - } catch (error) { + } catch { toast.error('Failed to copy image'); setIsProcessing(false); } diff --git a/apps/activitypub/src/views/profile/profile.tsx b/apps/activitypub/src/views/profile/profile.tsx index e2ba7acdadb..85b23aee0dc 100644 --- a/apps/activitypub/src/views/profile/profile.tsx +++ b/apps/activitypub/src/views/profile/profile.tsx @@ -10,6 +10,7 @@ import {useParams} from '@tryghost/admin-x-framework'; export type ProfileTab = 'posts' | 'likes' | 'following' | 'followers'; +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface ProfileProps {} const PostsTab:React.FC<{handle: string}> = ({handle}) => { diff --git a/apps/admin-x-design-system/src/global/sortable-list.tsx b/apps/admin-x-design-system/src/global/sortable-list.tsx index 51e7bc2d4d8..380bdc60550 100644 --- a/apps/admin-x-design-system/src/global/sortable-list.tsx +++ b/apps/admin-x-design-system/src/global/sortable-list.tsx @@ -14,7 +14,7 @@ export interface SortableItemContainerProps { isDragging: boolean; dragHandleAttributes?: DraggableAttributes; // TODO: figure out a stricter alternative for Function - // eslint-disable-next-line @typescript-eslint/ban-types + // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type dragHandleListeners?: Record; dragHandleClass?: string; style?: React.CSSProperties; diff --git a/apps/admin-x-design-system/src/typings.d.ts b/apps/admin-x-design-system/src/typings.d.ts index dd3eff0ee75..d733c0d2092 100644 --- a/apps/admin-x-design-system/src/typings.d.ts +++ b/apps/admin-x-design-system/src/typings.d.ts @@ -1,4 +1,5 @@ declare module '*.svg' { + // eslint-disable-next-line @typescript-eslint/no-require-imports import React = require('react'); export const ReactComponent: React.FC>; const src: string; diff --git a/apps/admin-x-design-system/src/utils/format-url.ts b/apps/admin-x-design-system/src/utils/format-url.ts index b05852be6c3..68bf9ac4002 100644 --- a/apps/admin-x-design-system/src/utils/format-url.ts +++ b/apps/admin-x-design-system/src/utils/format-url.ts @@ -45,7 +45,7 @@ export const formatUrl = (value: string, baseUrl?: string, nullable?: boolean) = try { parsedUrl = new URL(url, baseUrl); - } catch (e) { + } catch { return {save: url, display: url}; } diff --git a/apps/admin-x-framework/src/api/config.ts b/apps/admin-x-framework/src/api/config.ts index ed6d11fc78b..1a7021e2959 100644 --- a/apps/admin-x-framework/src/api/config.ts +++ b/apps/admin-x-framework/src/api/config.ts @@ -2,6 +2,8 @@ import {createQuery} from '../utils/api/hooks'; export type JSONValue = string|number|boolean|null|Date|JSONObject|JSONArray; export interface JSONObject { [key: string]: JSONValue } + +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface JSONArray extends Array {} export type Config = { diff --git a/apps/admin-x-framework/src/api/recommendations.ts b/apps/admin-x-framework/src/api/recommendations.ts index e203a864f99..a8a715253bd 100644 --- a/apps/admin-x-framework/src/api/recommendations.ts +++ b/apps/admin-x-framework/src/api/recommendations.ts @@ -22,9 +22,10 @@ export interface RecommendationResponseType { recommendations: Recommendation[] } -export interface RecommendationEditResponseType extends RecommendationResponseType { -} +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +export interface RecommendationEditResponseType extends RecommendationResponseType {} +// eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface RecommendationDeleteResponseType {} const dataType = 'RecommendationResponseType'; diff --git a/apps/admin-x-framework/src/test/acceptance.ts b/apps/admin-x-framework/src/test/acceptance.ts index 6cebaac7906..582efcac0cd 100644 --- a/apps/admin-x-framework/src/test/acceptance.ts +++ b/apps/admin-x-framework/src/test/acceptance.ts @@ -127,7 +127,7 @@ export function toggleLabsFlag(flag: string, value: boolean) { let labs: LabsSettings; try { labs = JSON.parse(labsSetting.value); - } catch (e) { + } catch { throw new Error('Failed to parse labs settings'); } diff --git a/apps/admin-x-framework/src/test/test-utils.tsx b/apps/admin-x-framework/src/test/test-utils.tsx index 9331c1fc46c..7df6055f067 100644 --- a/apps/admin-x-framework/src/test/test-utils.tsx +++ b/apps/admin-x-framework/src/test/test-utils.tsx @@ -236,7 +236,7 @@ export const testDataFactories = { * Mock timer utilities */ export function mockTimers() { - // eslint-disable-next-line @typescript-eslint/no-var-requires + // eslint-disable-next-line @typescript-eslint/no-require-imports const vitest = require('vitest'); vitest.vi.useFakeTimers(); diff --git a/apps/admin-x-framework/test/unit/hooks/use-form.test.ts b/apps/admin-x-framework/test/unit/hooks/use-form.test.ts index d0e961d9d23..f7acf9b8d2d 100644 --- a/apps/admin-x-framework/test/unit/hooks/use-form.test.ts +++ b/apps/admin-x-framework/test/unit/hooks/use-form.test.ts @@ -203,7 +203,7 @@ describe('useForm', () => { await act(async () => { await result.current!.handleSave(); }); - } catch (e) { + } catch { // Expected to throw } @@ -230,7 +230,7 @@ describe('useForm', () => { await act(async () => { await result.current!.handleSave(); }); - } catch (e) { + } catch { // Expected to throw } diff --git a/apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx b/apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx index c5d72b3af6b..ba1284de328 100644 --- a/apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx +++ b/apps/admin-x-settings/src/components/settings/email/newsletters/newsletter-detail-modal.tsx @@ -779,6 +779,7 @@ const NewsletterDetailModalContent: React.FC<{newsletter: Newsletter; onlyOne: b initialState: newsletter, savingDelay: 500, onSave: async () => { + // eslint-disable-next-line @typescript-eslint/no-unused-expressions const {meta: {sent_email_verification: [emailToVerify] = []} = {}} = await editNewsletter(formState); ``; let toastMessage; diff --git a/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal-confirm.tsx b/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal-confirm.tsx index 2a987cc574f..b774adaf7dc 100644 --- a/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal-confirm.tsx +++ b/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal-confirm.tsx @@ -109,7 +109,7 @@ const AddRecommendationModalConfirm: React.FC = ({r dismissAllToasts(); try { await handleSave({force: true}); - } catch (e) { + } catch { showToast({ type: 'error', title: 'Something went wrong when adding this recommendation, please try again.' diff --git a/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal.tsx b/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal.tsx index 0c4c35accd5..48076630452 100644 --- a/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal.tsx +++ b/apps/admin-x-settings/src/components/settings/growth/recommendations/add-recommendation-modal.tsx @@ -26,7 +26,7 @@ const validateUrl = function (errors: ErrorMessages, url: string) { } else { delete errors.url; } - } catch (e) { + } catch { errors.url = 'Enter a valid URL'; } return errors; diff --git a/apps/admin-x-settings/src/components/settings/growth/recommendations/edit-recommendation-modal.tsx b/apps/admin-x-settings/src/components/settings/growth/recommendations/edit-recommendation-modal.tsx index 7a1b3fba82a..a5e0d133e2c 100644 --- a/apps/admin-x-settings/src/components/settings/growth/recommendations/edit-recommendation-modal.tsx +++ b/apps/admin-x-settings/src/components/settings/growth/recommendations/edit-recommendation-modal.tsx @@ -84,7 +84,7 @@ const EditRecommendationModal: React.FC = ({baseUrl, ite e.preventDefault(); addItem?.(); } + // eslint-disable-next-line @typescript-eslint/no-unused-expressions !!item.errors.label && clearError?.('label'); }} /> @@ -63,6 +64,7 @@ const NavigationItemEditor: React.FC = ({baseUrl, ite updateItem?.({url: urls.save || ''}); addItem?.(); } + // eslint-disable-next-line @typescript-eslint/no-unused-expressions !!item.errors.url && clearError?.('url'); }} /> diff --git a/apps/admin-x-settings/src/typings.d.ts b/apps/admin-x-settings/src/typings.d.ts index f33c952a581..d44b415fc6e 100644 --- a/apps/admin-x-settings/src/typings.d.ts +++ b/apps/admin-x-settings/src/typings.d.ts @@ -2,6 +2,7 @@ declare module '@tryghost/limit-service' declare module '@tryghost/nql' declare module '*.svg' { + // eslint-disable-next-line @typescript-eslint/no-require-imports import React = require('react'); export const ReactComponent: React.FC>; const src: string; diff --git a/apps/admin-x-settings/src/utils/link-to-github-releases.ts b/apps/admin-x-settings/src/utils/link-to-github-releases.ts index 4271ba3894f..bdcb2ab9ac2 100644 --- a/apps/admin-x-settings/src/utils/link-to-github-releases.ts +++ b/apps/admin-x-settings/src/utils/link-to-github-releases.ts @@ -1,3 +1,4 @@ +// @ts-expect-error - semver subpath has no types import semverParse from 'semver/functions/parse'; // This function needs to support: @@ -29,7 +30,7 @@ export function linkToGitHubReleases(version: string): string { } return `https://github.com/TryGhost/Ghost/releases/tag/v${cleanedVersion}`; - } catch (e) { + } catch { return ''; } } diff --git a/apps/admin-x-settings/src/utils/url.ts b/apps/admin-x-settings/src/utils/url.ts index 3b630450648..e081926ed52 100644 --- a/apps/admin-x-settings/src/utils/url.ts +++ b/apps/admin-x-settings/src/utils/url.ts @@ -27,7 +27,7 @@ export function arePathsEqual(urlStr1: string, urlStr2: string) { try { url1 = new URL(urlStr1); url2 = new URL(urlStr2); - } catch (e) { + } catch { return false; } diff --git a/apps/admin/package.json b/apps/admin/package.json index b0731bc39a6..cccb731f8dc 100644 --- a/apps/admin/package.json +++ b/apps/admin/package.json @@ -38,7 +38,7 @@ "jsdom": "24.1.0", "sirv": "3.0.2", "typescript": "5.8.3", - "typescript-eslint": "8.46.1", + "typescript-eslint": "8.49.0", "vite": "7.1.12", "vite-tsconfig-paths": "5.1.4", "vitest": "4.0.5" diff --git a/apps/comments-ui/src/actions.ts b/apps/comments-ui/src/actions.ts index 502600eb542..c7e3f2df067 100644 --- a/apps/comments-ui/src/actions.ts +++ b/apps/comments-ui/src/actions.ts @@ -259,7 +259,7 @@ async function likeComment({api, data: comment, dispatchAction}: {state: Editabl try { await api.comments.like({comment}); return {}; - } catch (err) { + } catch { dispatchAction('updateCommentLikeState', {id: comment.id, liked: false}); } } @@ -270,7 +270,7 @@ async function unlikeComment({api, data: comment, dispatchAction}: {state: Edita try { await api.comments.unlike({comment}); return {}; - } catch (err) { + } catch { dispatchAction('updateCommentLikeState', {id: comment.id, liked: true}); } } diff --git a/apps/comments-ui/src/app-context.ts b/apps/comments-ui/src/app-context.ts index e19986f1d05..4c938c22213 100644 --- a/apps/comments-ui/src/app-context.ts +++ b/apps/comments-ui/src/app-context.ts @@ -90,7 +90,6 @@ export type TranslationFunction = (key: string, replacements?: Record(action: T, data: Parameters<(typeof Actions & typeof SyncActions)[T]>[0] extends { data: any } ? Parameters<(typeof Actions & typeof SyncActions)[T]>[0]['data'] : any) => T extends ActionType ? Promise : void, openFormCount: number @@ -116,7 +115,7 @@ export const useLabs = () => { try { const context = useAppContext(); return context.labs || {}; - } catch (e) { + } catch { return {}; } }; diff --git a/apps/comments-ui/src/components/content/forms/form.tsx b/apps/comments-ui/src/components/content/forms/form.tsx index 8a18373aa5b..12d86cce9cb 100644 --- a/apps/comments-ui/src/components/content/forms/form.tsx +++ b/apps/comments-ui/src/components/content/forms/form.tsx @@ -75,7 +75,7 @@ export const FormEditor: React.FC = ({comment, submit, progress await submit({ html: editor.getHTML() }); - } catch (e) { + } catch { setProgress('error'); return; } diff --git a/apps/comments-ui/src/components/popup-box.tsx b/apps/comments-ui/src/components/popup-box.tsx index c4cac01ccd6..837c6260531 100644 --- a/apps/comments-ui/src/components/popup-box.tsx +++ b/apps/comments-ui/src/components/popup-box.tsx @@ -4,7 +4,7 @@ import {useAppContext} from '../app-context'; import {useEffect, useState} from 'react'; // TODO: figure out what this type should be? -// eslint-disable-next-line @typescript-eslint/ban-types +// eslint-disable-next-line @typescript-eslint/no-empty-object-type type Props = {}; const PopupBox: React.FC = () => { diff --git a/apps/comments-ui/src/typings.d.ts b/apps/comments-ui/src/typings.d.ts index 28da96be969..f1ae46048d9 100644 --- a/apps/comments-ui/src/typings.d.ts +++ b/apps/comments-ui/src/typings.d.ts @@ -1,4 +1,5 @@ declare module '*.svg' { + // eslint-disable-next-line @typescript-eslint/no-require-imports import React = require('react'); export const ReactComponent: React.FC>; const src: string; diff --git a/apps/comments-ui/src/utils/admin-api.ts b/apps/comments-ui/src/utils/admin-api.ts index d01a4d9aacf..bdc841d196d 100644 --- a/apps/comments-ui/src/utils/admin-api.ts +++ b/apps/comments-ui/src/utils/admin-api.ts @@ -15,7 +15,7 @@ export function setupAdminAPI({adminUrl}: {adminUrl: string}) { let data = null; try { data = JSON.parse(event.data); - } catch (err) { + } catch { return; } diff --git a/apps/comments-ui/src/utils/api.ts b/apps/comments-ui/src/utils/api.ts index fa3772d2614..d0b76efe002 100644 --- a/apps/comments-ui/src/utils/api.ts +++ b/apps/comments-ui/src/utils/api.ts @@ -314,7 +314,7 @@ function setupGhostApi({siteUrl = window.location.origin, apiUrl, apiKey}: {site if (settings.settings.labs) { Object.assign(labs, settings.settings.labs); } - } catch (e) { + } catch { labs = {}; } diff --git a/apps/posts/src/hooks/use-post-success-modal.ts b/apps/posts/src/hooks/use-post-success-modal.ts index 06d05026c48..68e775a24c2 100644 --- a/apps/posts/src/hooks/use-post-success-modal.ts +++ b/apps/posts/src/hooks/use-post-success-modal.ts @@ -163,7 +163,7 @@ export const usePostSuccessModal = () => { // Clean up localStorage localStorage.removeItem('ghost-last-published-post'); } - } catch (error) { + } catch { // Ignore localStorage errors } }; diff --git a/apps/posts/src/utils/link-helpers.ts b/apps/posts/src/utils/link-helpers.ts index 22bf7d69b28..7a051b896cd 100644 --- a/apps/posts/src/utils/link-helpers.ts +++ b/apps/posts/src/utils/link-helpers.ts @@ -27,7 +27,7 @@ export const cleanTrackedUrl = (url: string, display = false): string => { const urlWithoutProtocol = urlObj.host + (urlObj.pathname === '/' && !urlObj.search ? '' : urlObj.pathname) + (urlObj.search ? urlObj.search : '') + (urlObj.hash ? urlObj.hash : ''); // remove www. from the start of the URL return urlWithoutProtocol.replace(/^www\./, ''); - } catch (error) { + } catch { // return the original url if there is an error return url; } diff --git a/apps/posts/src/views/PostAnalytics/Growth/growth.tsx b/apps/posts/src/views/PostAnalytics/Growth/growth.tsx index f94837ba747..79265d5f2b8 100644 --- a/apps/posts/src/views/PostAnalytics/Growth/growth.tsx +++ b/apps/posts/src/views/PostAnalytics/Growth/growth.tsx @@ -13,6 +13,7 @@ export const centsToDollars = (value : number) => { return Math.round(value / 100); }; +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface postAnalyticsProps {} const Growth: React.FC = () => { diff --git a/apps/posts/src/views/PostAnalytics/Newsletter/newsletter.tsx b/apps/posts/src/views/PostAnalytics/Newsletter/newsletter.tsx index 607f53f4a4e..bafff973ddc 100644 --- a/apps/posts/src/views/PostAnalytics/Newsletter/newsletter.tsx +++ b/apps/posts/src/views/PostAnalytics/Newsletter/newsletter.tsx @@ -14,6 +14,7 @@ import {useEffect, useMemo, useRef, useState} from 'react'; import {usePostNewsletterStats} from '@hooks/use-post-newsletter-stats'; import {useResponsiveChartSize} from '@hooks/use-responsive-chart-size'; +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface postAnalyticsProps {} const FunnelArrow: React.FC = () => { diff --git a/apps/posts/src/views/PostAnalytics/Web/web.tsx b/apps/posts/src/views/PostAnalytics/Web/web.tsx index e744d272a0f..ffb1227f5ab 100644 --- a/apps/posts/src/views/PostAnalytics/Web/web.tsx +++ b/apps/posts/src/views/PostAnalytics/Web/web.tsx @@ -23,6 +23,7 @@ interface ProcessedLocationData { percentage: number; } +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface postAnalyticsProps {} const Web: React.FC = () => { diff --git a/apps/shade/src/components/features/color-picker/color-picker.tsx b/apps/shade/src/components/features/color-picker/color-picker.tsx index 05d1e4045d4..8a07068f143 100644 --- a/apps/shade/src/components/features/color-picker/color-picker.tsx +++ b/apps/shade/src/components/features/color-picker/color-picker.tsx @@ -385,7 +385,7 @@ export const ColorPickerFormat = ({ setSaturation(newColor.saturationl()); setLightness(newColor.lightness()); } - } catch (error) { + } catch { // Invalid color, ignore } }; diff --git a/apps/shade/src/components/layout/header.tsx b/apps/shade/src/components/layout/header.tsx index fffbf7f5de3..ff5eb6cce2c 100644 --- a/apps/shade/src/components/layout/header.tsx +++ b/apps/shade/src/components/layout/header.tsx @@ -8,6 +8,7 @@ type PropsWithChildrenAndClassName = React.PropsWithChildren & { className?: string; }; +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface HeaderAboveProps extends PropsWithChildrenAndClassName {} function HeaderAbove({className, children}: HeaderAboveProps) { return ( @@ -20,6 +21,7 @@ function HeaderAbove({className, children}: HeaderAboveProps) { ); } +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface HeaderTitleProps extends PropsWithChildrenAndClassName {} function HeaderTitle({className, children}: HeaderTitleProps) { return ( @@ -35,6 +37,7 @@ function HeaderTitle({className, children}: HeaderTitleProps) { ); } +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface HeaderMetaProps extends PropsWithChildrenAndClassName {} function HeaderMeta({className, children}: HeaderMetaProps) { return ( @@ -47,6 +50,7 @@ function HeaderMeta({className, children}: HeaderMetaProps) { ); } +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface HeaderActionGroupProps extends PropsWithChildrenAndClassName {} function HeaderActionGroup({className, children}: HeaderActionGroupProps) { return ( @@ -59,6 +63,7 @@ function HeaderActionGroup({className, children}: HeaderActionGroupProps) { ); } +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface HeaderActionsProps extends PropsWithChildrenAndClassName {} function HeaderActions({className, children}: HeaderActionsProps) { return ( @@ -71,6 +76,7 @@ function HeaderActions({className, children}: HeaderActionsProps) { ); } +// eslint-disable-next-line @typescript-eslint/no-empty-object-type interface HeaderNavProps extends PropsWithChildrenAndClassName {} function HeaderNav({className, children}: HeaderNavProps) { return ( @@ -94,6 +100,7 @@ const headerVariants = cva(`sticky top-0 z-50 -mb-4 grid gap-x-4 bg-gradient-to- variant: 'default' } }); + interface HeaderProps extends PropsWithChildrenAndClassName, VariantProps {} function Header({className, children, variant}: HeaderProps) { return ( diff --git a/apps/shade/src/components/layout/heading.tsx b/apps/shade/src/components/layout/heading.tsx index a2ea754c787..7c559b535f9 100644 --- a/apps/shade/src/components/layout/heading.tsx +++ b/apps/shade/src/components/layout/heading.tsx @@ -1,8 +1,8 @@ import {cn} from '@/lib/utils'; import * as React from 'react'; -export interface HeadingProps - extends React.HTMLAttributes {} +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +export interface HeadingProps extends React.HTMLAttributes {} const H1 = React.forwardRef( ({className, ...props}, ref) => { diff --git a/apps/shade/src/components/layout/page.tsx b/apps/shade/src/components/layout/page.tsx index 50db1085e0e..e328f7f9b08 100644 --- a/apps/shade/src/components/layout/page.tsx +++ b/apps/shade/src/components/layout/page.tsx @@ -1,8 +1,8 @@ import {cn} from '@/lib/utils'; import * as React from 'react'; -export interface PageProps - extends React.HTMLAttributes {} +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +export interface PageProps extends React.HTMLAttributes {} const Page = React.forwardRef( ({className, ...props}, ref) => { diff --git a/apps/shade/src/components/layout/view-header.tsx b/apps/shade/src/components/layout/view-header.tsx index e18f6462631..0e09d5cdc50 100644 --- a/apps/shade/src/components/layout/view-header.tsx +++ b/apps/shade/src/components/layout/view-header.tsx @@ -1,8 +1,8 @@ import {cn} from '@/lib/utils'; import React from 'react'; -interface ViewHeaderActionsProps extends React.HTMLAttributes { -} +// eslint-disable-next-line @typescript-eslint/no-empty-object-type +interface ViewHeaderActionsProps extends React.HTMLAttributes {} const ViewHeaderActions:React.FC = ({children}) => { return ( @@ -29,4 +29,4 @@ const ViewHeader:React.FC = ({className, children}) => { ); }; -export {ViewHeader, ViewHeaderActions}; \ No newline at end of file +export {ViewHeader, ViewHeaderActions}; diff --git a/apps/shade/src/components/ui/card.tsx b/apps/shade/src/components/ui/card.tsx index 1b974136926..4ab9050fc12 100644 --- a/apps/shade/src/components/ui/card.tsx +++ b/apps/shade/src/components/ui/card.tsx @@ -216,6 +216,7 @@ const KpiCardHeaderValue: React.FC = ({value, diffDirection, ); }; +// eslint-disable-next-line @typescript-eslint/no-empty-object-type export interface EmptyCardProps extends React.ComponentPropsWithoutRef<'div'> {} const EmptyCard = React.forwardRef< diff --git a/apps/shade/src/lib/utils.ts b/apps/shade/src/lib/utils.ts index e7f8f80baab..551b0f5427f 100644 --- a/apps/shade/src/lib/utils.ts +++ b/apps/shade/src/lib/utils.ts @@ -98,7 +98,7 @@ export const formatUrl = (value: string, baseUrl?: string, nullable?: boolean) = try { parsedUrl = new URL(url, baseUrl); - } catch (e) { + } catch { return {save: url, display: url}; } diff --git a/apps/shade/src/typings.d.ts b/apps/shade/src/typings.d.ts index dd3eff0ee75..d733c0d2092 100644 --- a/apps/shade/src/typings.d.ts +++ b/apps/shade/src/typings.d.ts @@ -1,4 +1,5 @@ declare module '*.svg' { + // eslint-disable-next-line @typescript-eslint/no-require-imports import React = require('react'); export const ReactComponent: React.FC>; const src: string; diff --git a/apps/signup-form/src/components/pages/form-page.tsx b/apps/signup-form/src/components/pages/form-page.tsx index 41e77d26046..d3d6e109f3c 100644 --- a/apps/signup-form/src/components/pages/form-page.tsx +++ b/apps/signup-form/src/components/pages/form-page.tsx @@ -33,7 +33,7 @@ export const FormPage: React.FC = () => { email }); } - } catch (_) { + } catch { setLoading(false); setError(t(`Something went wrong, please try again.`)); } diff --git a/apps/signup-form/src/typings.d.ts b/apps/signup-form/src/typings.d.ts index 28da96be969..f1ae46048d9 100644 --- a/apps/signup-form/src/typings.d.ts +++ b/apps/signup-form/src/typings.d.ts @@ -1,4 +1,5 @@ declare module '*.svg' { + // eslint-disable-next-line @typescript-eslint/no-require-imports import React = require('react'); export const ReactComponent: React.FC>; const src: string; diff --git a/apps/stats/src/hooks/use-feature-flag.tsx b/apps/stats/src/hooks/use-feature-flag.tsx index f93fe262f73..fbf85eda7c5 100644 --- a/apps/stats/src/hooks/use-feature-flag.tsx +++ b/apps/stats/src/hooks/use-feature-flag.tsx @@ -19,7 +19,7 @@ export const useFeatureFlag = (flagName: string, fallbackPath: string) => { try { labs = JSON.parse(labsJSON); - } catch (error) { + } catch { // If JSON parsing fails, fall back to empty object labs = {}; } diff --git a/apps/stats/src/types/svg.d.ts b/apps/stats/src/types/svg.d.ts index dd3eff0ee75..d733c0d2092 100644 --- a/apps/stats/src/types/svg.d.ts +++ b/apps/stats/src/types/svg.d.ts @@ -1,4 +1,5 @@ declare module '*.svg' { + // eslint-disable-next-line @typescript-eslint/no-require-imports import React = require('react'); export const ReactComponent: React.FC>; const src: string; diff --git a/apps/stats/src/utils/url-helpers.ts b/apps/stats/src/utils/url-helpers.ts index 7aa3c589490..fa4757c042a 100644 --- a/apps/stats/src/utils/url-helpers.ts +++ b/apps/stats/src/utils/url-helpers.ts @@ -12,13 +12,13 @@ export function getFrontendUrl(attributionUrl: string, siteUrl: string): string try { const baseUrl = new URL(siteUrl); const subdir = baseUrl.pathname.endsWith('/') ? baseUrl.pathname : `${baseUrl.pathname}/`; - + // Remove leading slash from attribution URL to avoid double slashes const cleanPath = attributionUrl.replace(/^\//, ''); const fullPath = `${subdir}${cleanPath}`; return `${baseUrl.origin}${fullPath}`; - } catch (error) { + } catch { // Silently handle URL construction errors return ''; } @@ -34,7 +34,7 @@ export function generateTitleFromPath(path: string): string { if (!path) { return 'Unknown'; } - + // Handle common Ghost paths if (path === '/') { return 'Homepage'; @@ -50,12 +50,12 @@ export function generateTitleFromPath(path: string): string { if (path.startsWith('/author/')) { const segments = path.split('/'); return segments.length > 2 && segments[2] ? `author/${segments[2]}` : 'author/unknown'; - } + } if (path.startsWith('/authors/')) { const segments = path.split('/'); return segments.length > 2 && segments[2] ? `author/${segments[2]}` : 'author/unknown'; } - + // For other paths, just return the path itself return path; } @@ -103,7 +103,7 @@ export function getClickHandler( navigate(`/posts/analytics/${postId}`, {crossApp: true}); return; } - + // For all other cases (pages, system pages), open frontend URL in new tab if (attributionUrl && siteUrl) { const frontendUrl = getFrontendUrl(attributionUrl, siteUrl); @@ -112,4 +112,4 @@ export function getClickHandler( } } }; -} \ No newline at end of file +} diff --git a/apps/stats/test/utils/tinybird-helpers.ts b/apps/stats/test/utils/tinybird-helpers.ts index 29f17bf945e..cfa20a50e62 100644 --- a/apps/stats/test/utils/tinybird-helpers.ts +++ b/apps/stats/test/utils/tinybird-helpers.ts @@ -84,7 +84,7 @@ export async function addAnalyticsEvent(eventProps: AnalyticsEventProps) { try { const data = JSON.parse(bodyText); errorMessage = data.message || JSON.stringify(data); - } catch (_) { + } catch { errorMessage = bodyText; } diff --git a/e2e/package.json b/e2e/package.json index 6b37ae4d377..e309e543472 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -29,7 +29,7 @@ "@tryghost/debug": "0.1.35", "@tryghost/logging": "2.4.23", "@types/dockerode": "3.3.44", - "typescript-eslint": "8.46.1", + "typescript-eslint": "8.49.0", "c8": "10.1.3", "dockerode": "4.0.9", "dotenv": "16.6.1", diff --git a/ghost/core/core/server/services/recommendations/service/RecommendationMetadataService.ts b/ghost/core/core/server/services/recommendations/service/RecommendationMetadataService.ts index 272b61eaa9c..96b6f59e9e9 100644 --- a/ghost/core/core/server/services/recommendations/service/RecommendationMetadataService.ts +++ b/ghost/core/core/server/services/recommendations/service/RecommendationMetadataService.ts @@ -61,11 +61,11 @@ export class RecommendationMetadataService { if (response.statusCode >= 200 && response.statusCode < 300) { try { return JSON.parse(response.body); - } catch (e) { + } catch { return undefined; } } - } catch (e) { + } catch { return undefined; } } @@ -76,7 +76,7 @@ export class RecommendationMetadataService { } try { return new URL(url); - } catch (e) { + } catch { return null; } } diff --git a/ghost/core/core/server/services/recommendations/service/UnsafeData.ts b/ghost/core/core/server/services/recommendations/service/UnsafeData.ts index dfe0c63c664..d8de2bd810f 100644 --- a/ghost/core/core/server/services/recommendations/service/UnsafeData.ts +++ b/ghost/core/core/server/services/recommendations/service/UnsafeData.ts @@ -185,7 +185,7 @@ export class UnsafeData { throw new errors.ValidationError({message: `${this.field} must be a valid URL`}); } return url; - } catch (e) { + } catch { throw new errors.ValidationError({message: `${this.field} must be a valid URL`}); } } diff --git a/yarn.lock b/yarn.lock index 546d98a2d2f..249a54c04f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10315,21 +10315,6 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@8.46.1": - version "8.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.46.1.tgz#20876354024140aabc8b400bc95735fdcade17d5" - integrity sha512-rUsLh8PXmBjdiPY+Emjz9NX2yHvhS11v0SR6xNJkm5GM1MO9ea/1GoDKlHHZGrOJclL/cZ2i/vRUYVtjRhrHVQ== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.46.1" - "@typescript-eslint/type-utils" "8.46.1" - "@typescript-eslint/utils" "8.46.1" - "@typescript-eslint/visitor-keys" "8.46.1" - graphemer "^1.4.0" - ignore "^7.0.0" - natural-compare "^1.4.0" - ts-api-utils "^2.1.0" - "@typescript-eslint/eslint-plugin@8.49.0": version "8.49.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.49.0.tgz#8ed8736b8415a9193989220eadb6031dbcd2260a" @@ -10344,17 +10329,6 @@ natural-compare "^1.4.0" ts-api-utils "^2.1.0" -"@typescript-eslint/parser@8.46.1": - version "8.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.46.1.tgz#81751f46800fc6b01ce1a72760cd17f06e7f395b" - integrity sha512-6JSSaBZmsKvEkbRUkf7Zj7dru/8ZCrJxAqArcLaVMee5907JdtEbKGsZ7zNiIm/UAkpGUkaSMZEXShnN2D1HZA== - dependencies: - "@typescript-eslint/scope-manager" "8.46.1" - "@typescript-eslint/types" "8.46.1" - "@typescript-eslint/typescript-estree" "8.46.1" - "@typescript-eslint/visitor-keys" "8.46.1" - debug "^4.3.4" - "@typescript-eslint/parser@8.49.0": version "8.49.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.49.0.tgz#0ede412d59e99239b770f0f08c76c42fba717fa2" @@ -10405,21 +10379,15 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.1.tgz#24405888560175c6c209c39df11ac06a2efef9d7" integrity sha512-X88+J/CwFvlJB+mK09VFqx5FE4H5cXD+H/Bdza2aEWkSb8hnWIQorNcscRl4IEo1Cz9VI/+/r/jnGWkbWPx54g== -"@typescript-eslint/tsconfig-utils@8.49.0", "@typescript-eslint/tsconfig-utils@^8.38.0", "@typescript-eslint/tsconfig-utils@^8.49.0": +"@typescript-eslint/tsconfig-utils@8.49.0": version "8.49.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.49.0.tgz#857777c8e35dd1e564505833d8043f544442fbf4" integrity sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA== -"@typescript-eslint/type-utils@8.46.1": - version "8.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.46.1.tgz#14d4307dd6045f6b48a888cde1513d6ec305537f" - integrity sha512-+BlmiHIiqufBxkVnOtFwjah/vrkF4MtKKvpXrKSPLCkCtAp8H01/VV43sfqA98Od7nJpDcFnkwgyfQbOG0AMvw== - dependencies: - "@typescript-eslint/types" "8.46.1" - "@typescript-eslint/typescript-estree" "8.46.1" - "@typescript-eslint/utils" "8.46.1" - debug "^4.3.4" - ts-api-utils "^2.1.0" +"@typescript-eslint/tsconfig-utils@^8.38.0", "@typescript-eslint/tsconfig-utils@^8.49.0": + version "8.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.50.0.tgz#5c17537ad4c8a13bf6d7393035edaf91a1e13191" + integrity sha512-vxd3G/ybKTSlm31MOA96gqvrRGv9RJ7LGtZCn2Vrc5htA0zCDvcMqUkifcjrWNNKXHUU3WCkYOzzVSFBd0wa2w== "@typescript-eslint/type-utils@8.49.0": version "8.49.0" @@ -10437,11 +10405,16 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.46.1.tgz#4c5479538ec10b5508b8e982e172911c987446d8" integrity sha512-C+soprGBHwWBdkDpbaRC4paGBrkIXxVlNohadL5o0kfhsXqOC6GYH2S/Obmig+I0HTDl8wMaRySwrfrXVP8/pQ== -"@typescript-eslint/types@8.49.0", "@typescript-eslint/types@^8.49.0": +"@typescript-eslint/types@8.49.0": version "8.49.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.49.0.tgz#c1bd3ebf956d9e5216396349ca23c58d74f06aee" integrity sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ== +"@typescript-eslint/types@^8.49.0": + version "8.50.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.50.0.tgz#ad8f1ad88ae0096f548c9cdf60da9b92832db96e" + integrity sha512-iX1mgmGrXdANhhITbpp2QQM2fGehBse9LbTf0sidWK6yg/NE+uhV5dfU1g6EYPlcReYmkE9QLPq/2irKAmtS9w== + "@typescript-eslint/typescript-estree@8.46.1": version "8.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.1.tgz#1c146573b942ebe609c156c217ceafdc7a88e6ed" @@ -10473,16 +10446,6 @@ tinyglobby "^0.2.15" ts-api-utils "^2.1.0" -"@typescript-eslint/utils@8.46.1", "@typescript-eslint/utils@^8.8.1": - version "8.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.46.1.tgz#c572184d9227d66b10a954b90249a20c48b22452" - integrity sha512-vkYUy6LdZS7q1v/Gxb2Zs7zziuXN0wxqsetJdeZdRe/f5dwJFglmuvZBfTUivCtjH725C1jWCDfpadadD95EDQ== - dependencies: - "@eslint-community/eslint-utils" "^4.7.0" - "@typescript-eslint/scope-manager" "8.46.1" - "@typescript-eslint/types" "8.46.1" - "@typescript-eslint/typescript-estree" "8.46.1" - "@typescript-eslint/utils@8.49.0": version "8.49.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.49.0.tgz#43b3b91d30afd6f6114532cf0b228f1790f43aff" @@ -10493,6 +10456,16 @@ "@typescript-eslint/types" "8.49.0" "@typescript-eslint/typescript-estree" "8.49.0" +"@typescript-eslint/utils@^8.8.1": + version "8.46.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.46.1.tgz#c572184d9227d66b10a954b90249a20c48b22452" + integrity sha512-vkYUy6LdZS7q1v/Gxb2Zs7zziuXN0wxqsetJdeZdRe/f5dwJFglmuvZBfTUivCtjH725C1jWCDfpadadD95EDQ== + dependencies: + "@eslint-community/eslint-utils" "^4.7.0" + "@typescript-eslint/scope-manager" "8.46.1" + "@typescript-eslint/types" "8.46.1" + "@typescript-eslint/typescript-estree" "8.46.1" + "@typescript-eslint/visitor-keys@8.46.1": version "8.46.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.1.tgz#da35f1d58ec407419d68847cfd358b32746ac315" @@ -33196,15 +33169,15 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -typescript-eslint@8.46.1: - version "8.46.1" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.46.1.tgz#baeb322ee83ca566a8cf1f6403847694a3acd44a" - integrity sha512-VHgijW803JafdSsDO8I761r3SHrgk4T00IdyQ+/UsthtgPRsBWQLqoSxOolxTpxRKi1kGXK0bSz4CoAc9ObqJA== +typescript-eslint@8.49.0: + version "8.49.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.49.0.tgz#4a8b608ae48c0db876c8fb2a2724839fc5a7147c" + integrity sha512-zRSVH1WXD0uXczCXw+nsdjGPUdx4dfrs5VQoHnUWmv1U3oNlAKv4FUNdLDhVUg+gYn+a5hUESqch//Rv5wVhrg== dependencies: - "@typescript-eslint/eslint-plugin" "8.46.1" - "@typescript-eslint/parser" "8.46.1" - "@typescript-eslint/typescript-estree" "8.46.1" - "@typescript-eslint/utils" "8.46.1" + "@typescript-eslint/eslint-plugin" "8.49.0" + "@typescript-eslint/parser" "8.49.0" + "@typescript-eslint/typescript-estree" "8.49.0" + "@typescript-eslint/utils" "8.49.0" typescript-memoize@^1.0.0-alpha.3, typescript-memoize@^1.0.1: version "1.1.1"