diff --git a/package.json b/package.json index 9f2eb021be..cb4b67ca60 100644 --- a/package.json +++ b/package.json @@ -157,7 +157,7 @@ "lodash.isequal": "^4.5.0", "lodash.shuffle": "^4.2.0", "lodash.throttle": "^4.1.1", - "multiformats": "^13.1.0", + "multiformats": "9.9.0", "nanoid": "^5.0.5", "normalize-url": "^8.0.0", "patch-package": "^6.5.1", @@ -272,7 +272,8 @@ "@types/react": "^18", "**/expo-constants": "17.0.3", "**/expo-device": "7.0.1", - "**/zod": "3.23.8" + "**/zod": "3.23.8", + "**/multiformats": "9.9.0" }, "jest": { "preset": "jest-expo/ios", diff --git a/src/lib/api/index.ts b/src/lib/api/index.ts index d1f304d4a8..d437570c9d 100644 --- a/src/lib/api/index.ts +++ b/src/lib/api/index.ts @@ -1,26 +1,25 @@ import { - $Typed, - AppBskyEmbedExternal, - AppBskyEmbedImages, - AppBskyEmbedRecord, - AppBskyEmbedRecordWithMedia, - AppBskyEmbedVideo, - AppBskyFeedPost, + type $Typed, + type AppBskyEmbedExternal, + type AppBskyEmbedImages, + type AppBskyEmbedRecord, + type AppBskyEmbedRecordWithMedia, + type AppBskyEmbedVideo, + type AppBskyFeedPost, AtUri, BlobRef, - BskyAgent, - ComAtprotoLabelDefs, - ComAtprotoRepoApplyWrites, - ComAtprotoRepoStrongRef, + type BskyAgent, + type ComAtprotoLabelDefs, + type ComAtprotoRepoApplyWrites, + type ComAtprotoRepoStrongRef, RichText, } from '@atproto/api' import {TID} from '@atproto/common-web' import * as dcbor from '@ipld/dag-cbor' import {t} from '@lingui/macro' -import {QueryClient} from '@tanstack/react-query' +import {type QueryClient} from '@tanstack/react-query' import {sha256} from 'js-sha256' -import {CID} from 'multiformats/cid' -import * as Hasher from 'multiformats/hashes/hasher' +import {CID, hasher} from 'multiformats' import {isNetworkError} from '#/lib/strings/errors' import {shortenLinks, stripInvalidMentions} from '#/lib/strings/rich-text-manip' @@ -35,9 +34,9 @@ import { threadgateAllowUISettingToAllowRecordValue, } from '#/state/queries/threadgate' import { - EmbedDraft, - PostDraft, - ThreadDraft, + type EmbedDraft, + type PostDraft, + type ThreadDraft, } from '#/view/com/composer/state/composer' import {createGIFDescription} from '../gif-alt-text' import {uploadBlob} from './upload-blob' @@ -410,7 +409,7 @@ async function resolveRecord( // The built-in hashing functions from multiformats (`multiformats/hashes/sha2`) // are meant for Node.js, this is the cross-platform equivalent. -const mf_sha256 = Hasher.from({ +const mf_sha256 = hasher.from({ name: 'sha2-256', code: 0x12, encode: input => { diff --git a/tsconfig.json b/tsconfig.json index 001b5247e0..d3b83a02b0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,8 @@ "platform/*": ["./src/platform/*"], "state/*": ["./src/state/*"], "view/*": ["./src/view/*"], - "crypto": ["./src/platform/crypto.ts"] + "crypto": ["./src/platform/crypto.ts"], + "multiformats": ["node_modules/multiformats/types/src/index.d.ts"] } }, "exclude": ["bskyweb", "bskyembed", "web-build"] diff --git a/yarn.lock b/yarn.lock index ab3784f4e1..cbdd2df476 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15124,12 +15124,7 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -multiformats@^13.1.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-13.3.0.tgz#1f5188bc7c4fe08ff829ae1c18dc33409042fb71" - integrity sha512-CBiqvsufgmpo01VT5ze94O+uc+Pbf6f/sThlvWss0sBZmAOu6GQn5usrYV2sf2mr17FWYc0rO8c/CNe2T90QAA== - -multiformats@^9.4.2, multiformats@^9.5.4, multiformats@^9.6.4, multiformats@^9.9.0: +multiformats@9.9.0, multiformats@^13.1.0, multiformats@^9.4.2, multiformats@^9.5.4, multiformats@^9.6.4, multiformats@^9.9.0: version "9.9.0" resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==