diff --git a/package.json b/package.json index 6bc2db2c8f..9ad810301c 100644 --- a/package.json +++ b/package.json @@ -282,8 +282,8 @@ "svgo": "^3.3.2", "ts-node": "^10.9.1", "ts-plugin-sort-import-suggestions": "^1.0.4", - "typescript": "^5.9.2", - "typescript-eslint": "^8.53.0", + "typescript": "^5.9.3", + "typescript-eslint": "^8.56.0", "webpack-bundle-analyzer": "^4.10.1" }, "resolutions": { diff --git a/src/components/PostControls/util.ts b/src/components/PostControls/util.ts index c220cea397..6dc395882c 100644 --- a/src/components/PostControls/util.ts +++ b/src/components/PostControls/util.ts @@ -15,7 +15,6 @@ export function useFormatPostStatCount() { return i18n.number(postStatCount, { notation: 'compact', maximumFractionDigits: isOver10k ? 0 : 1, - // @ts-expect-error - roundingMode not in the types roundingMode: 'trunc', }) }, diff --git a/src/state/queries/post.ts b/src/state/queries/post.ts index a32c4159b3..4024001a90 100644 --- a/src/state/queries/post.ts +++ b/src/state/queries/post.ts @@ -19,8 +19,10 @@ export function usePostQuery(uri: string | undefined) { const agent = useAgent() return useQuery({ queryKey: RQKEY(uri || ''), - async queryFn() { - const urip = new AtUri(uri!) + queryFn: async () => { + if (!uri) throw new Error('[unreachable] No URI provided') + + const urip = new AtUri(uri) if (!urip.host.startsWith('did:')) { const res = await agent.resolveHandle({ @@ -158,7 +160,7 @@ export function usePostLikeMutationQueue( return queueToggle(false) }, [queryClient, postUri, queueToggle]) - return [queueLike, queueUnlike] + return [queueLike, queueUnlike] as const } function usePostLikeMutation( @@ -286,7 +288,7 @@ export function usePostRepostMutationQueue( return queueToggle(false) }, [queryClient, postUri, queueToggle]) - return [queueRepost, queueUnrepost] + return [queueRepost, queueUnrepost] as const } function usePostRepostMutation( diff --git a/src/state/queries/profile.ts b/src/state/queries/profile.ts index 3dcfc46f58..d3f6e92dbf 100644 --- a/src/state/queries/profile.ts +++ b/src/state/queries/profile.ts @@ -360,7 +360,7 @@ export function useProfileFollowMutationQueue( return queueToggle(false) }, [queryClient, did, queueToggle]) - return [queueFollow, queueUnfollow] + return [queueFollow, queueUnfollow] as const } function useProfileFollowMutation( @@ -460,7 +460,7 @@ export function useProfileMuteMutationQueue( return queueToggle(false) }, [queryClient, did, queueToggle]) - return [queueMute, queueUnmute] + return [queueMute, queueUnmute] as const } function useProfileMuteMutation() { @@ -541,7 +541,7 @@ export function useProfileBlockMutationQueue( return queueToggle(false) }, [queryClient, did, queueToggle]) - return [queueBlock, queueUnblock] + return [queueBlock, queueUnblock] as const } function useProfileBlockMutation() { diff --git a/src/view/com/util/numeric/format.ts b/src/view/com/util/numeric/format.ts index f05f285401..9b750b1f23 100644 --- a/src/view/com/util/numeric/format.ts +++ b/src/view/com/util/numeric/format.ts @@ -4,7 +4,6 @@ export const formatCount = (i18n: I18n, num: number) => { return i18n.number(num, { notation: 'compact', maximumFractionDigits: 1, - // @ts-expect-error - roundingMode not in the types roundingMode: 'trunc', }) } diff --git a/tsconfig.json b/tsconfig.json index 2f3d9354d5..f1b382c8a5 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,6 +3,7 @@ "compilerOptions": { "jsx": "react-jsx", "module": "esnext", + "lib": ["dom", "esnext"], "types": ["node", "jest"], "baseUrl": ".", "paths": { diff --git a/yarn.lock b/yarn.lock index c4d7d77414..2bc2692b0f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7768,16 +7768,16 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@8.53.0": - version "8.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.0.tgz#afb966c66a2fdc6158cf81118204a971a36d0fc5" - integrity sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg== +"@typescript-eslint/eslint-plugin@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.0.tgz#5aec3db807a6b8437ea5d5ebf7bd16b4119aba8d" + integrity sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw== dependencies: "@eslint-community/regexpp" "^4.12.2" - "@typescript-eslint/scope-manager" "8.53.0" - "@typescript-eslint/type-utils" "8.53.0" - "@typescript-eslint/utils" "8.53.0" - "@typescript-eslint/visitor-keys" "8.53.0" + "@typescript-eslint/scope-manager" "8.56.0" + "@typescript-eslint/type-utils" "8.56.0" + "@typescript-eslint/utils" "8.56.0" + "@typescript-eslint/visitor-keys" "8.56.0" ignore "^7.0.5" natural-compare "^1.4.0" ts-api-utils "^2.4.0" @@ -7797,15 +7797,15 @@ natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@8.53.0": - version "8.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.53.0.tgz#d8bed6f12dc74e03751e5f947510ff2b165990c6" - integrity sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg== +"@typescript-eslint/parser@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.56.0.tgz#8ecff1678b8b1a742d29c446ccf5eeea7f971d72" + integrity sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg== dependencies: - "@typescript-eslint/scope-manager" "8.53.0" - "@typescript-eslint/types" "8.53.0" - "@typescript-eslint/typescript-estree" "8.53.0" - "@typescript-eslint/visitor-keys" "8.53.0" + "@typescript-eslint/scope-manager" "8.56.0" + "@typescript-eslint/types" "8.56.0" + "@typescript-eslint/typescript-estree" "8.56.0" + "@typescript-eslint/visitor-keys" "8.56.0" debug "^4.4.3" "@typescript-eslint/parser@^7.1.1": @@ -7828,6 +7828,15 @@ "@typescript-eslint/types" "^8.53.0" debug "^4.4.3" +"@typescript-eslint/project-service@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.56.0.tgz#bb8562fecd8f7922e676fc6a1189c20dd7991d73" + integrity sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg== + dependencies: + "@typescript-eslint/tsconfig-utils" "^8.56.0" + "@typescript-eslint/types" "^8.56.0" + debug "^4.4.3" + "@typescript-eslint/scope-manager@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" @@ -7852,11 +7861,24 @@ "@typescript-eslint/types" "8.53.0" "@typescript-eslint/visitor-keys" "8.53.0" +"@typescript-eslint/scope-manager@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.56.0.tgz#604030a4c6433df3728effdd441d47f45a86edb4" + integrity sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w== + dependencies: + "@typescript-eslint/types" "8.56.0" + "@typescript-eslint/visitor-keys" "8.56.0" + "@typescript-eslint/tsconfig-utils@8.53.0", "@typescript-eslint/tsconfig-utils@^8.53.0": version "8.53.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.0.tgz#105279d7969a7abdc8345cc9c57cff83cf910f8f" integrity sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA== +"@typescript-eslint/tsconfig-utils@8.56.0", "@typescript-eslint/tsconfig-utils@^8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.0.tgz#2538ce83cbc376e685487960cbb24b65fe2abc4e" + integrity sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg== + "@typescript-eslint/type-utils@7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" @@ -7867,14 +7889,14 @@ debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/type-utils@8.53.0": - version "8.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.53.0.tgz#81a0de5c01fc68f6df0591d03cd8226bda01c91f" - integrity sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw== +"@typescript-eslint/type-utils@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.56.0.tgz#72b4edc1fc73988998f1632b3ec99c2a66eaac6e" + integrity sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA== dependencies: - "@typescript-eslint/types" "8.53.0" - "@typescript-eslint/typescript-estree" "8.53.0" - "@typescript-eslint/utils" "8.53.0" + "@typescript-eslint/types" "8.56.0" + "@typescript-eslint/typescript-estree" "8.56.0" + "@typescript-eslint/utils" "8.56.0" debug "^4.4.3" ts-api-utils "^2.4.0" @@ -7893,6 +7915,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.53.0.tgz#1adcad3fa32bc2c4cbf3785ba07a5e3151819efb" integrity sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ== +"@typescript-eslint/types@8.56.0", "@typescript-eslint/types@^8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.56.0.tgz#a2444011b9a98ca13d70411d2cbfed5443b3526a" + integrity sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ== + "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" @@ -7935,6 +7962,21 @@ tinyglobby "^0.2.15" ts-api-utils "^2.4.0" +"@typescript-eslint/typescript-estree@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.0.tgz#fadbc74c14c5bac947db04980ff58bb178701c2e" + integrity sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q== + dependencies: + "@typescript-eslint/project-service" "8.56.0" + "@typescript-eslint/tsconfig-utils" "8.56.0" + "@typescript-eslint/types" "8.56.0" + "@typescript-eslint/visitor-keys" "8.56.0" + debug "^4.4.3" + minimatch "^9.0.5" + semver "^7.7.3" + tinyglobby "^0.2.15" + ts-api-utils "^2.4.0" + "@typescript-eslint/utils@7.18.0": version "7.18.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" @@ -7945,15 +7987,15 @@ "@typescript-eslint/types" "7.18.0" "@typescript-eslint/typescript-estree" "7.18.0" -"@typescript-eslint/utils@8.53.0", "@typescript-eslint/utils@^8.0.0": - version "8.53.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.53.0.tgz#bf0a4e2edaf1afc9abce209fc02f8cab0b74af13" - integrity sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA== +"@typescript-eslint/utils@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.56.0.tgz#063ce6f702ec603de1b83ee795ed5e877d6f7841" + integrity sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ== dependencies: "@eslint-community/eslint-utils" "^4.9.1" - "@typescript-eslint/scope-manager" "8.53.0" - "@typescript-eslint/types" "8.53.0" - "@typescript-eslint/typescript-estree" "8.53.0" + "@typescript-eslint/scope-manager" "8.56.0" + "@typescript-eslint/types" "8.56.0" + "@typescript-eslint/typescript-estree" "8.56.0" "@typescript-eslint/utils@^5.10.0": version "5.62.0" @@ -7969,6 +8011,16 @@ eslint-scope "^5.1.1" semver "^7.3.7" +"@typescript-eslint/utils@^8.0.0": + version "8.53.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.53.0.tgz#bf0a4e2edaf1afc9abce209fc02f8cab0b74af13" + integrity sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA== + dependencies: + "@eslint-community/eslint-utils" "^4.9.1" + "@typescript-eslint/scope-manager" "8.53.0" + "@typescript-eslint/types" "8.53.0" + "@typescript-eslint/typescript-estree" "8.53.0" + "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" @@ -7993,6 +8045,14 @@ "@typescript-eslint/types" "8.53.0" eslint-visitor-keys "^4.2.1" +"@typescript-eslint/visitor-keys@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.0.tgz#7d6592ab001827d3ce052155edf7ecad19688d7d" + integrity sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg== + dependencies: + "@typescript-eslint/types" "8.56.0" + eslint-visitor-keys "^5.0.0" + "@ungap/structured-clone@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" @@ -11310,6 +11370,11 @@ eslint-visitor-keys@^4.2.1: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ== +eslint-visitor-keys@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.0.tgz#b9aa1a74aa48c44b3ae46c1597ce7171246a94a9" + integrity sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q== + eslint@^9.39.2: version "9.39.2" resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.39.2.tgz#cb60e6d16ab234c0f8369a3fe7cc87967faf4b6c" @@ -19505,20 +19570,20 @@ typed-emitter@^2.1.0: optionalDependencies: rxjs "^7.5.2" -typescript-eslint@^8.53.0: - version "8.53.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.53.0.tgz#c35ca6403cd381753aee325f67e10d6101d55f04" - integrity sha512-xHURCQNxZ1dsWn0sdOaOfCSQG0HKeqSj9OexIxrz6ypU6wHYOdX2I3D2b8s8wFSsSOYJb+6q283cLiLlkEsBYw== +typescript-eslint@^8.56.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.56.0.tgz#f4686ccaaf2fb86daf0133820da40ca5961a2236" + integrity sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg== dependencies: - "@typescript-eslint/eslint-plugin" "8.53.0" - "@typescript-eslint/parser" "8.53.0" - "@typescript-eslint/typescript-estree" "8.53.0" - "@typescript-eslint/utils" "8.53.0" + "@typescript-eslint/eslint-plugin" "8.56.0" + "@typescript-eslint/parser" "8.56.0" + "@typescript-eslint/typescript-estree" "8.56.0" + "@typescript-eslint/utils" "8.56.0" -typescript@^5.9.2: - version "5.9.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.2.tgz#d93450cddec5154a2d5cabe3b8102b83316fb2a6" - integrity sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A== +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@^0.7.33: version "0.7.35"