Drop accidental eslint dependency (#11460)

This commit is contained in:
Samuel Newman
2026-08-14 10:21:52 +03:00
committed by GitHub
parent afb3cdc26f
commit 70195d7059
62 changed files with 197 additions and 483 deletions
+3 -6
View File
@@ -60,6 +60,7 @@
"bskyweb/**",
"bskyembed/**",
"bskyogcard/**",
"lint-rules/**",
"src/locale/locales/_build/**",
"src/locale/locales/**/*.js",
"src/lexicons/**",
@@ -239,7 +240,6 @@
}
}
],
"bsky-internal/use-exact-imports": "error",
"bsky-internal/use-prefixed-imports": "error",
"bsky-internal/lingui-msg-rule": "error",
"react/display-name": "error",
@@ -260,7 +260,6 @@
"react/no-unsafe": "off",
"react/react-in-jsx-scope": "off",
"react/hook-use-state": "warn",
"react-native/no-inline-styles": "off",
"react-native-a11y/has-accessibility-hint": "error",
"react-native-a11y/has-accessibility-props": "error",
"react-native-a11y/has-valid-accessibility-actions": "error",
@@ -275,7 +274,7 @@
"react-native-a11y/has-valid-accessibility-ignores-invert-colors": "error",
"react-native-a11y/has-valid-accessibility-live-region": "error",
"react-native-a11y/has-valid-important-for-accessibility": "error",
"react-compiler/react-compiler": "warn",
"react/react-compiler": "warn",
"simple-import-sort/imports": [
"error",
{
@@ -375,9 +374,7 @@
},
"jsPlugins": [
"eslint-plugin-bsky-internal",
"eslint-plugin-react-native",
"eslint-plugin-react-native-a11y",
"eslint-plugin-react-compiler",
"eslint-plugin-simple-import-sort"
],
"env": {
@@ -405,4 +402,4 @@
}
}
]
}
}
+1 -2
View File
@@ -7,5 +7,4 @@ export const isView = AppBskyGraphDefs.isStarterPackView
* Matches any starter pack view exported by our SDK
*/
export type AnyStarterPackView =
| AppBskyGraphDefs.StarterPackViewBasic
| AppBskyGraphDefs.StarterPackView
AppBskyGraphDefs.StarterPackViewBasic | AppBskyGraphDefs.StarterPackView
-32
View File
@@ -1,32 +0,0 @@
const BANNED_IMPORTS = [
'@fortawesome/free-regular-svg-icons',
'@fortawesome/free-solid-svg-icons',
]
/** @type {import('eslint').Rule.RuleModule} */
module.exports = {
meta: {
type: 'suggestion',
docs: {
description: 'Prevent importing entire icon packages',
},
schema: [],
},
create(context) {
return {
ImportDeclaration(node) {
const source = node.source
if (typeof source.value !== 'string') {
return
}
if (BANNED_IMPORTS.includes(source.value)) {
context.report({
node,
message:
'Import the specific thing you want instead of the entire package',
})
}
},
}
},
}
-1
View File
@@ -7,7 +7,6 @@ const plugin = {
},
rules: {
'avoid-unwrapped-text': require('./avoid-unwrapped-text'),
'use-exact-imports': require('./use-exact-imports'),
'use-prefixed-imports': require('./use-prefixed-imports'),
'lingui-msg-rule': require('./lingui-msg-rule'),
},
+3 -5
View File
@@ -288,9 +288,7 @@
"babel-plugin-module-resolver": "^5.0.2",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"babel-preset-expo": "~54.0.10",
"eslint-plugin-bsky-internal": "link:eslint",
"eslint-plugin-react-compiler": "19.1.0-rc.2",
"eslint-plugin-react-native": "^5.0.0",
"eslint-plugin-bsky-internal": "link:lint-rules",
"eslint-plugin-react-native-a11y": "^3.5.1",
"eslint-plugin-simple-import-sort": "^13.0.0",
"file-loader": "6.2.0",
@@ -303,7 +301,7 @@
"lint-staged": "^17.0.8",
"oxlint": "^1.73.0",
"oxlint-tsgolint": "^7.0.2001",
"prettier": "^3.8.3",
"prettier": "3.9.6",
"react-native-dotenv": "^3.4.11",
"react-refresh": "^0.14.0",
"svgo": "^4.0.2",
@@ -376,7 +374,7 @@
},
"lint-staged": {
"*{.js,.jsx,.ts,.tsx}": [
"oxlint --fix"
"oxlint --fix --no-error-on-unmatched-pattern"
],
"*{.js,.jsx,.ts,.tsx,.css}": [
"prettier --cache --write --ignore-unknown"
+102 -229
View File
@@ -215,6 +215,8 @@ overrides:
'@types/psl': 1.1.1
react-native-screens: 4.24.0
packageExtensionsChecksum: sha256-KbeCj471Qk3TA758q8nLPkiGCPDA0TX18iO/Coy89lo=
patchedDependencies:
'@sentry/expo-upload-sourcemaps@8.18.0': 2368e1e1986165e7ead3c60017b78b2f9ade1b6a6b2f5ad27cd428608c6f12ae
expo-age-range@0.2.18: c325225749993424461eeece1d97a99b19c00da2ebc958a73c12e4eca0c39306
@@ -472,10 +474,10 @@ importers:
version: 8.0.10(expo@54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1))
expo-file-system:
specifier: ~19.0.21
version: 19.0.22(83f21d12a6c1aa99b4a65d070875cc68)
version: 19.0.23(83f21d12a6c1aa99b4a65d070875cc68)
expo-font:
specifier: ~14.0.11
version: 14.0.11(83e0f64f4281e4798012214ad5b2d72d)
version: 14.0.12(83e0f64f4281e4798012214ad5b2d72d)
expo-glass-effect:
specifier: 0.1.10
version: 0.1.10(83e0f64f4281e4798012214ad5b2d72d)
@@ -800,16 +802,10 @@ importers:
version: 19.1.0-rc.3
babel-preset-expo:
specifier: ~54.0.10
version: 54.0.10(@babel/core@7.29.0(supports-color@8.1.1))(@babel/runtime@7.29.2)(expo@54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1))(react-refresh@0.14.2)(supports-color@8.1.1)
version: 54.0.12(@babel/core@7.29.0(supports-color@8.1.1))(@babel/runtime@7.29.2)(expo@54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1))(react-refresh@0.14.2)(supports-color@8.1.1)
eslint-plugin-bsky-internal:
specifier: link:eslint
version: link:eslint
eslint-plugin-react-compiler:
specifier: 19.1.0-rc.2
version: 19.1.0-rc.2(eslint@8.57.1(supports-color@8.1.1))(supports-color@8.1.1)
eslint-plugin-react-native:
specifier: ^5.0.0
version: 5.0.0(eslint@8.57.1(supports-color@8.1.1))
specifier: link:lint-rules
version: link:lint-rules
eslint-plugin-react-native-a11y:
specifier: ^3.5.1
version: 3.5.1(eslint@8.57.1(supports-color@8.1.1))
@@ -842,7 +838,7 @@ importers:
version: 17.0.8
node:
specifier: runtime:^24.18.0
version: runtime:24.18.0
version: runtime:24.19.0
oxlint:
specifier: ^1.73.0
version: 1.73.0(oxlint-tsgolint@7.0.2001)
@@ -850,8 +846,8 @@ importers:
specifier: ^7.0.2001
version: 7.0.2001
prettier:
specifier: ^3.8.3
version: 3.8.3
specifier: 3.9.6
version: 3.9.6
react-native-dotenv:
specifier: ^3.4.11
version: 3.4.11(@babel/runtime@7.29.2)
@@ -1137,13 +1133,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-proposal-private-methods@7.18.6':
resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
engines: {node: '>=6.9.0'}
deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
peerDependencies:
'@babel/core': ^7.0.0-0
'@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
engines: {node: '>=6.9.0'}
@@ -2030,9 +2019,6 @@ packages:
'@expo/image-utils@0.8.12':
resolution: {integrity: sha512-3KguH7kyKqq7pNwLb9j6BBdD/bjmNwXZG/HPWT6GWIXbwrvAJt2JNyYTP5agWJ8jbbuys1yuCzmkX+TU6rmI7A==}
'@expo/json-file@10.0.14':
resolution: {integrity: sha512-yWwBFywFv+SxkJp/pIzzA416JVYflNUh7pqQzgaA6nXDqRyK7KfrqVzk8PdUfDnqbBcaZZxpzNssfQZzp5KHrA==}
'@expo/json-file@10.0.16':
resolution: {integrity: sha512-fcVkWEj+hLuP2yt5W0aw6LmDRqSPWDLUSxOMcmFeV+algmIF59sQVKCwB9btjQLd4V6x9N0pISkQEkBubUHrCw==}
@@ -2063,9 +2049,6 @@ packages:
'@expo/plist@0.3.5':
resolution: {integrity: sha512-9RYVU1iGyCJ7vWfg3e7c/NVyMFs8wbl+dMWZphtFtsqyN9zppGREU3ctlD3i8KUE0sCUTVnLjCWr+VeUIDep2g==}
'@expo/plist@0.4.8':
resolution: {integrity: sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ==}
'@expo/plist@0.4.9':
resolution: {integrity: sha512-MPVpmKGfnQEnrCzgxuXcmPP/y/t6AVm+DcSb2Myp21LKWv1N3l8uFxMggesfF4ixAxkRlGmMMx9GyDC9M+XklQ==}
@@ -4378,18 +4361,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0 || ^8.0.0-0
babel-preset-expo@54.0.10:
resolution: {integrity: sha512-wTt7POavLFypLcPW/uC5v8y+mtQKDJiyGLzYCjqr9tx0Qc3vCXcDKk1iCFIj/++Iy5CWhhTflEa7VvVPNWeCfw==}
peerDependencies:
'@babel/runtime': ^7.20.0
expo: '*'
react-refresh: '>=0.14.0 <1.0.0'
peerDependenciesMeta:
'@babel/runtime':
optional: true
expo:
optional: true
babel-preset-expo@54.0.12:
resolution: {integrity: sha512-6xeSkdaixmQhWSYL7tfLu0pOS0BY+8ftwmdNSHtpEFSizrXYZkCjk/B6Dxr+6nwNRihixMcS0aBlWS1wlDl3pw==}
peerDependencies:
@@ -5276,30 +5247,22 @@ packages:
engines: {node: '>=6.0'}
hasBin: true
eslint-plugin-react-compiler@19.1.0-rc.2:
resolution: {integrity: sha512-oKalwDGcD+RX9mf3NEO4zOoUMeLvjSvcbbEOpquzmzqEEM2MQdp7/FY/Hx9NzmUwFzH1W9SKTz5fihfMldpEYw==}
engines: {node: ^14.17.0 || ^16.0.0 || >= 18.0.0}
peerDependencies:
eslint: '>=7'
eslint-plugin-react-native-a11y@3.5.1:
resolution: {integrity: sha512-vqnXZpAiov0lxYNfEYgwABpkiBYRrt0dbtOafPkw6QaFeA0uZ+s3w9opeEMoFmV36WFxLiCxHb9fvOJ+EUc2xQ==}
engines: {node: '>=12.0'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
eslint-plugin-react-native-globals@0.1.2:
resolution: {integrity: sha512-9aEPf1JEpiTjcFAmmyw8eiIXmcNZOqaZyHO77wgm0/dWfT/oxC1SrIq8ET38pMxHYrcB6Uew+TzUVsBeczF88g==}
eslint-plugin-react-native@5.0.0:
resolution: {integrity: sha512-VyWlyCC/7FC/aONibOwLkzmyKg4j9oI8fzrk9WYNs4I8/m436JuOTAFwLvEn1CVvc7La4cPfbCyspP4OYpP52Q==}
peerDependencies:
eslint: ^3.17.0 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
peerDependenciesMeta:
eslint:
optional: true
eslint-plugin-simple-import-sort@13.0.0:
resolution: {integrity: sha512-McAc+/Nlvcg4byY/CABGH8kqnefWBj8s3JA2okEtz8ixbECQgU46p0HkTUKa4YS7wvgGceimlc34p1nXqbWqtA==}
peerDependencies:
eslint: '>=5.0.0'
peerDependenciesMeta:
eslint:
optional: true
eslint-scope@5.1.1:
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
@@ -5475,25 +5438,12 @@ packages:
expo-eas-client@1.0.8:
resolution: {integrity: sha512-5or11NJhSeDoHHI6zyvQDW2cz/yFyE+1Cz8NTs5NK8JzC7J0JrkUgptWtxyfB6Xs/21YRNifd3qgbBN3hfKVgA==}
expo-file-system@19.0.22:
resolution: {integrity: sha512-l9pgahSc7sJD0bP9vBNeXvZjy8QKDpVHVxWmei/ESQOrzmoj5BidziqLVsyZdxsi+PfdbTtttLTAmddH/JafYA==}
peerDependencies:
expo: '*'
react-native: '*'
expo-file-system@19.0.23:
resolution: {integrity: sha512-MeGkid9OeNILfT/qonaXHp4f2c15xaB28U/bcN7pqZej0Kx0+6+V7e9ZIXpPHm07zVatxA+QkMTPQEGfmvVOxA==}
peerDependencies:
expo: '*'
react-native: '*'
expo-font@14.0.11:
resolution: {integrity: sha512-ga0q61ny4s/kr4k8JX9hVH69exVSIfcIc19+qZ7gt71Mqtm7xy2c6kwsPTCyhBW2Ro5yXTT8EaZOpuRi35rHbg==}
peerDependencies:
expo: '*'
react: '*'
react-native: '*'
expo-font@14.0.12:
resolution: {integrity: sha512-QQzunE2Mxk45AsCWm3tK7OpVljbtVnKD58q4/qliev+cbye1IOduUnRIdD+P7DyButw17G9MTX795kgaQiz5hQ==}
peerDependencies:
@@ -6043,9 +5993,6 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
hermes-estree@0.25.1:
resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==}
hermes-estree@0.29.1:
resolution: {integrity: sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==}
@@ -6058,9 +6005,6 @@ packages:
hermes-estree@0.36.0:
resolution: {integrity: sha512-A1+8zn5oss2CFP7pKsOaxorQG6FNIz1WU1VDqruLPPZl3LVgeE2C5xfFg8Ow6/Ow4mSslLLtYP1J3n38eKyW9w==}
hermes-parser@0.25.1:
resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==}
hermes-parser@0.29.1:
resolution: {integrity: sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==}
@@ -7305,7 +7249,7 @@ packages:
node-releases@2.0.44:
resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==}
node@runtime:24.18.0:
node@runtime:24.19.0:
resolution:
type: variations
variants:
@@ -7313,9 +7257,9 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-ZGOiNzn2sjAOvsXM1gJ14TjjhY/Br8bo+bxOT2pLdvo=
integrity: sha256-9ONcExZd5ogMqiVYwKpIyoitpH/iI0vtB9Ztu4CkfI0=
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-aix-ppc64.tar.gz
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-aix-ppc64.tar.gz
targets:
- cpu: ppc64
os: aix
@@ -7323,9 +7267,9 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-4al+FMmcgD6WxzOUAyguoFpJnDL42D3v6e9exm+XntE=
integrity: sha256-gpS3qpsDmXSBwGur8eiycMhZNY8n2lehFQmv5TesOB0=
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-darwin-arm64.tar.gz
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-darwin-arm64.tar.gz
targets:
- cpu: arm64
os: darwin
@@ -7333,9 +7277,9 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-39Db0+chUDQ033tyBecZ9hs6OjGyvPlym4uR/qJA8IA=
integrity: sha256-0bXpmdsVjGL+j3JnpEdrA12L2TsaYFusJKPw3RZuMxY=
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-darwin-x64.tar.gz
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-darwin-x64.tar.gz
targets:
- cpu: x64
os: darwin
@@ -7343,9 +7287,9 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-a0SEwhkCdBdd+aqPKOLXWKgZyxwf5qtIHi+VtGOrhQg=
integrity: sha256-0oyKW/CoCPDtQ0odzoxUrpjwNxwL2GrFirxhP3PmZD8=
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-linux-arm64.tar.gz
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-linux-arm64.tar.gz
targets:
- cpu: arm64
os: linux
@@ -7353,9 +7297,9 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-/hM4ly95KDxrwh5h2/RXa76MBa3tKZnUHIZDrTAmUUI=
integrity: sha256-sxqMTLxYn5FS8y/bQxhGl1nhZViltdk7f/L7KHsBPbI=
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-linux-ppc64le.tar.gz
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-linux-ppc64le.tar.gz
targets:
- cpu: ppc64le
os: linux
@@ -7363,9 +7307,9 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-Nx68E5RfwWlJPnUvLdr6+rbs2My0Ubz/RuCfacXdjHo=
integrity: sha256-s6tqQ5KCjbn9TtloOY1VGIKSvMFYGVQtU74LEQDjMvw=
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-linux-s390x.tar.gz
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-linux-s390x.tar.gz
targets:
- cpu: s390x
os: linux
@@ -7373,9 +7317,9 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-eDEwmElj23upy9AQierywu+wVcfBaTyUMXS5Z7MFDLg=
integrity: sha256-9iXZfNcH30/5YlSRb7xf8BTwnAnv/loeDKj21BqHidQ=
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-linux-x64.tar.gz
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-linux-x64.tar.gz
targets:
- cpu: x64
os: linux
@@ -7383,10 +7327,10 @@ packages:
archive: zip
bin:
node: node.exe
integrity: sha256-8nRmmtuTsf0Pv48h/QeGCencyEMz1PJxjS3eP5oWGgE=
prefix: node-v24.18.0-win-arm64
integrity: sha256-hQL0pQtFjUzDjtjyABVWws0jnUZJIPdAF5Jsyx4cFX8=
prefix: node-v24.19.0-win-arm64
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-win-arm64.zip
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-win-arm64.zip
targets:
- cpu: arm64
os: win32
@@ -7394,10 +7338,10 @@ packages:
archive: zip
bin:
node: node.exe
integrity: sha256-CuaEBrQtdyVmHal5sUA+yZJtogXGdwgn8zqsnY8m6CE=
prefix: node-v24.18.0-win-x64
integrity: sha256-V/cas2UueX2ErN3HnIHMn/HG3bKhl0zbg/AP7pv/THM=
prefix: node-v24.19.0-win-x64
type: binary
url: https://nodejs.org/download/release/v24.18.0/node-v24.18.0-win-x64.zip
url: https://nodejs.org/download/release/v24.19.0/node-v24.19.0-win-x64.zip
targets:
- cpu: x64
os: win32
@@ -7405,9 +7349,9 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-scbC3DG0bdj7IyL0/nWwfndcUSC8NyUd7uoo9SnUVns=
integrity: sha256-IIJOTTWUj65bM33M70eBOwTYmVMS9Z33OG8iVtn5q34=
type: binary
url: https://unofficial-builds.nodejs.org/download/release/v24.18.0/node-v24.18.0-linux-arm64-musl.tar.gz
url: https://unofficial-builds.nodejs.org/download/release/v24.19.0/node-v24.19.0-linux-arm64-musl.tar.gz
targets:
- cpu: arm64
os: linux
@@ -7416,14 +7360,14 @@ packages:
archive: tarball
bin:
node: bin/node
integrity: sha256-6lhAmRHhQexrGdkXjvotkYWhMpUAWxy/VSGzFX7tHZU=
integrity: sha256-xgIjeG3xSl0j4iDruOYDGPUyJkCmL5Dm2eVNOhjaUy4=
type: binary
url: https://unofficial-builds.nodejs.org/download/release/v24.18.0/node-v24.18.0-linux-x64-musl.tar.gz
url: https://unofficial-builds.nodejs.org/download/release/v24.19.0/node-v24.19.0-linux-x64-musl.tar.gz
targets:
- cpu: x64
os: linux
libc: musl
version: 24.18.0
version: 24.19.0
hasBin: true
normalize-path@3.0.0:
@@ -7951,11 +7895,6 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
prettier@3.8.3:
resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==}
engines: {node: '>=14'}
hasBin: true
prettier@3.9.6:
resolution: {integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==}
engines: {node: '>=14'}
@@ -9694,12 +9633,6 @@ packages:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
zod-validation-error@3.5.4:
resolution: {integrity: sha512-+hEiRIiPobgyuFlEojnqjJnhFvg4r/i3cqgcm67eehZf/WBaK3g6cD02YU9mtdVxZjv8CzCA9n/Rhrs3yAAvAw==}
engines: {node: '>=18.0.0'}
peerDependencies:
zod: ^3.24.4
zod@3.25.76:
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
@@ -10088,14 +10021,6 @@ snapshots:
'@babel/core': 7.29.0(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.28.6
'@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)':
dependencies:
'@babel/core': 7.29.0(supports-color@8.1.1)
'@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/helper-plugin-utils': 7.28.6
transitivePeerDependencies:
- supports-color
'@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0(supports-color@8.1.1))':
dependencies:
'@babel/core': 7.29.0(supports-color@8.1.1)
@@ -10952,8 +10877,10 @@ snapshots:
dependencies:
eslint: 8.57.1(supports-color@8.1.1)
eslint-visitor-keys: 3.4.3
optional: true
'@eslint-community/regexpp@4.12.2': {}
'@eslint-community/regexpp@4.12.2':
optional: true
'@eslint/eslintrc@2.1.4(supports-color@8.1.1)':
dependencies:
@@ -10968,8 +10895,10 @@ snapshots:
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
optional: true
'@eslint/js@8.57.1': {}
'@eslint/js@8.57.1':
optional: true
'@expo/cli@54.0.25(c1408f750868568d2dc75671b50084a7)':
dependencies:
@@ -11052,8 +10981,8 @@ snapshots:
'@expo/config-plugins@54.0.4(supports-color@8.1.1)':
dependencies:
'@expo/config-types': 54.0.10
'@expo/json-file': 10.0.14
'@expo/plist': 0.4.8
'@expo/json-file': 10.0.16
'@expo/plist': 0.4.9
'@expo/sdk-runtime-versions': 1.0.0
chalk: 4.1.2
debug: 4.4.3(supports-color@8.1.1)
@@ -11096,7 +11025,7 @@ snapshots:
'@babel/code-frame': 7.10.4
'@expo/config-plugins': 54.0.4(supports-color@8.1.1)
'@expo/config-types': 54.0.10
'@expo/json-file': 10.0.14
'@expo/json-file': 10.2.0
deepmerge: 4.3.1
getenv: 2.0.0
glob: 13.0.6
@@ -11161,11 +11090,6 @@ snapshots:
resolve-from: 5.0.0
semver: 7.8.0
'@expo/json-file@10.0.14':
dependencies:
'@babel/code-frame': 7.29.0
json5: 2.2.3
'@expo/json-file@10.0.16':
dependencies:
'@babel/code-frame': 7.10.4
@@ -11238,7 +11162,7 @@ snapshots:
'@expo/package-manager@1.10.5':
dependencies:
'@expo/json-file': 10.0.14
'@expo/json-file': 10.2.0
'@expo/spawn-async': 1.7.2
chalk: 4.1.2
npm-package-arg: 11.0.3
@@ -11251,12 +11175,6 @@ snapshots:
base64-js: 1.5.1
xmlbuilder: 15.1.1
'@expo/plist@0.4.8':
dependencies:
'@xmldom/xmldom': 0.8.13
base64-js: 1.5.1
xmlbuilder: 15.1.1
'@expo/plist@0.4.9':
dependencies:
'@xmldom/xmldom': 0.8.13
@@ -11269,7 +11187,7 @@ snapshots:
'@expo/config-plugins': 54.0.4(supports-color@8.1.1)
'@expo/config-types': 54.0.10
'@expo/image-utils': 0.8.12
'@expo/json-file': 10.0.14
'@expo/json-file': 10.2.0
'@react-native/normalize-colors': 0.81.5
debug: 4.4.3(supports-color@8.1.1)
expo: 54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1)
@@ -11420,10 +11338,13 @@ snapshots:
minimatch: 3.1.5
transitivePeerDependencies:
- supports-color
optional: true
'@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/module-importer@1.0.1':
optional: true
'@humanwhocodes/object-schema@2.0.3': {}
'@humanwhocodes/object-schema@2.0.3':
optional: true
'@ide/backoff@1.0.0': {}
@@ -13577,6 +13498,7 @@ snapshots:
acorn-jsx@5.3.2(acorn@8.16.0):
dependencies:
acorn: 8.16.0
optional: true
acorn-walk@8.3.5:
dependencies:
@@ -13874,38 +13796,6 @@ snapshots:
'@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0(supports-color@8.1.1))
'@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.0(supports-color@8.1.1))
babel-preset-expo@54.0.10(@babel/core@7.29.0(supports-color@8.1.1))(@babel/runtime@7.29.2)(expo@54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1))(react-refresh@0.14.2)(supports-color@8.1.1):
dependencies:
'@babel/helper-module-imports': 7.28.6(supports-color@8.1.1)
'@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.29.0(supports-color@8.1.1))
'@babel/plugin-syntax-export-default-from': 7.28.6(@babel/core@7.29.0(supports-color@8.1.1))
'@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.29.0(supports-color@8.1.1))
'@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.29.0(supports-color@8.1.1))
'@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0(supports-color@8.1.1))
'@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/plugin-transform-runtime': 7.29.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/preset-react': 7.28.5(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/preset-typescript': 7.28.5(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
'@react-native/babel-preset': 0.81.5(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
babel-plugin-react-compiler: 1.0.0
babel-plugin-react-native-web: 0.21.2
babel-plugin-syntax-hermes-parser: 0.29.1
babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.0(supports-color@8.1.1))
debug: 4.4.3(supports-color@8.1.1)
react-refresh: 0.14.2
resolve-from: 5.0.0
optionalDependencies:
'@babel/runtime': 7.29.2
expo: 54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1)
transitivePeerDependencies:
- '@babel/core'
- supports-color
babel-preset-expo@54.0.12(@babel/core@7.29.0(supports-color@8.1.1))(@babel/runtime@7.29.2)(expo@54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1))(react-refresh@0.14.2)(supports-color@8.1.1):
dependencies:
'@babel/helper-module-imports': 7.28.6(supports-color@8.1.1)
@@ -14580,7 +14470,8 @@ snapshots:
deep-extend@0.6.0: {}
deep-is@0.1.4: {}
deep-is@0.1.4:
optional: true
deepmerge@4.3.1: {}
@@ -14649,6 +14540,7 @@ snapshots:
doctrine@3.0.0:
dependencies:
esutils: 2.0.3
optional: true
dom-converter@0.2.0:
dependencies:
@@ -14893,34 +14785,16 @@ snapshots:
optionalDependencies:
source-map: 0.6.1
eslint-plugin-react-compiler@19.1.0-rc.2(eslint@8.57.1(supports-color@8.1.1))(supports-color@8.1.1):
dependencies:
'@babel/core': 7.29.0(supports-color@8.1.1)
'@babel/parser': 7.29.3
'@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
eslint: 8.57.1(supports-color@8.1.1)
hermes-parser: 0.25.1
zod: 3.25.76
zod-validation-error: 3.5.4(zod@3.25.76)
transitivePeerDependencies:
- supports-color
eslint-plugin-react-native-a11y@3.5.1(eslint@8.57.1(supports-color@8.1.1)):
dependencies:
'@babel/runtime': 7.29.2
ast-types-flow: 0.0.7
eslint: 8.57.1(supports-color@8.1.1)
jsx-ast-utils: 3.3.5
eslint-plugin-react-native-globals@0.1.2: {}
eslint-plugin-react-native@5.0.0(eslint@8.57.1(supports-color@8.1.1)):
dependencies:
optionalDependencies:
eslint: 8.57.1(supports-color@8.1.1)
eslint-plugin-react-native-globals: 0.1.2
eslint-plugin-simple-import-sort@13.0.0(eslint@8.57.1(supports-color@8.1.1)):
dependencies:
optionalDependencies:
eslint: 8.57.1(supports-color@8.1.1)
eslint-scope@5.1.1:
@@ -14932,8 +14806,10 @@ snapshots:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
optional: true
eslint-visitor-keys@3.4.3: {}
eslint-visitor-keys@3.4.3:
optional: true
eslint@8.57.1(supports-color@8.1.1):
dependencies:
@@ -14977,6 +14853,7 @@ snapshots:
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
optional: true
esm@3.2.25:
optional: true
@@ -14986,12 +14863,14 @@ snapshots:
acorn: 8.16.0
acorn-jsx: 5.3.2(acorn@8.16.0)
eslint-visitor-keys: 3.4.3
optional: true
esprima@4.0.1: {}
esquery@1.7.0:
dependencies:
estraverse: 5.3.0
optional: true
esrecurse@4.3.0:
dependencies:
@@ -15141,23 +15020,11 @@ snapshots:
expo-eas-client@1.0.8: {}
expo-file-system@19.0.22(83f21d12a6c1aa99b4a65d070875cc68):
dependencies:
expo: 54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1)
react-native: 0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1)
expo-file-system@19.0.23(83f21d12a6c1aa99b4a65d070875cc68):
dependencies:
expo: 54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1)
react-native: 0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1)
expo-font@14.0.11(83e0f64f4281e4798012214ad5b2d72d):
dependencies:
expo: 54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1)
fontfaceobserver: 2.3.0
react: 19.1.0
react-native: 0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1)
expo-font@14.0.12(83e0f64f4281e4798012214ad5b2d72d):
dependencies:
expo: 54.0.35(@babel/core@7.29.0(supports-color@8.1.1))(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0))(react-native@0.81.5(patch_hash=91fd85363059530dea649a5ca6012b933f79c8491737fbfdc685abc727e48403)(@babel/core@7.29.0(supports-color@8.1.1))(@react-native/metro-config@0.86.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.1.17)(react@19.1.0)(supports-color@8.1.1))(react@19.1.0)(supports-color@8.1.1)
@@ -15338,7 +15205,7 @@ snapshots:
expo-updates@29.0.17(patch_hash=04f28cb005b770e9ae8f0065eab96e43cbb1e58107f5f6ad1bdd18f6deb66487)(93a6abd34ab5ae64aff6a80525489f34):
dependencies:
'@expo/code-signing-certificates': 0.0.6
'@expo/plist': 0.4.8
'@expo/plist': 0.4.9
'@expo/spawn-async': 1.7.2
arg: 4.1.0
chalk: 4.1.2
@@ -15466,7 +15333,8 @@ snapshots:
json-schema-ref-resolver: 3.0.0
rfdc: 1.4.1
fast-levenshtein@2.0.6: {}
fast-levenshtein@2.0.6:
optional: true
fast-text-encoding@1.0.6: {}
@@ -15505,6 +15373,7 @@ snapshots:
file-entry-cache@6.0.1:
dependencies:
flat-cache: 3.2.0
optional: true
file-loader@6.2.0(webpack@5.106.2(clean-css@5.3.3)(cssnano@5.1.15(postcss@8.5.14))(csso@5.0.5)(esbuild@0.25.12)(html-minifier-terser@6.1.0)(lightningcss@1.32.0)(postcss@8.5.14)):
dependencies:
@@ -15575,8 +15444,10 @@ snapshots:
flatted: 3.4.4
keyv: 4.5.4
rimraf: 3.0.2
optional: true
flatted@3.4.4: {}
flatted@3.4.4:
optional: true
flow-enums-runtime@0.0.6: {}
@@ -15732,6 +15603,7 @@ snapshots:
globals@13.24.0:
dependencies:
type-fest: 0.20.2
optional: true
globals@17.6.0: {}
@@ -15761,7 +15633,8 @@ snapshots:
graceful-fs@4.2.11: {}
graphemer@1.4.0: {}
graphemer@1.4.0:
optional: true
gzip-size@6.0.0:
dependencies:
@@ -15795,8 +15668,6 @@ snapshots:
he@1.2.0: {}
hermes-estree@0.25.1: {}
hermes-estree@0.29.1: {}
hermes-estree@0.32.0: {}
@@ -15805,10 +15676,6 @@ snapshots:
hermes-estree@0.36.0: {}
hermes-parser@0.25.1:
dependencies:
hermes-estree: 0.25.1
hermes-parser@0.29.1:
dependencies:
hermes-estree: 0.29.1
@@ -16137,7 +16004,8 @@ snapshots:
dependencies:
path-is-inside: 1.0.2
is-path-inside@3.0.3: {}
is-path-inside@3.0.3:
optional: true
is-plain-obj@2.1.0: {}
@@ -16385,7 +16253,7 @@ snapshots:
jest-expo@54.0.17(ff9d3150c2730c411fa3a2f331cc40ee):
dependencies:
'@expo/config': 12.0.13(supports-color@8.1.1)
'@expo/json-file': 10.0.14
'@expo/json-file': 10.2.0
'@jest/create-cache-key-function': 29.7.0
'@jest/globals': 29.7.0(supports-color@8.1.1)
babel-jest: 29.7.0(@babel/core@7.29.0(supports-color@8.1.1))(supports-color@8.1.1)
@@ -16731,7 +16599,8 @@ snapshots:
jsesc@3.1.0: {}
json-buffer@3.0.1: {}
json-buffer@3.0.1:
optional: true
json-parse-even-better-errors@2.3.1: {}
@@ -16743,7 +16612,8 @@ snapshots:
json-schema-traverse@1.0.0: {}
json-stable-stringify-without-jsonify@1.0.1: {}
json-stable-stringify-without-jsonify@1.0.1:
optional: true
json5@2.2.3: {}
@@ -16765,6 +16635,7 @@ snapshots:
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
optional: true
kleur@3.0.3: {}
@@ -16785,6 +16656,7 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
type-check: 0.4.0
optional: true
libphonenumber-js@1.13.1: {}
@@ -16896,7 +16768,8 @@ snapshots:
lodash.memoize@4.1.2: {}
lodash.merge@4.6.2: {}
lodash.merge@4.6.2:
optional: true
lodash.shuffle@4.2.0: {}
@@ -17480,7 +17353,7 @@ snapshots:
node-releases@2.0.44: {}
node@runtime:24.18.0: {}
node@runtime:24.19.0: {}
normalize-path@3.0.0: {}
@@ -17595,6 +17468,7 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
word-wrap: 1.2.5
optional: true
ora@3.4.0:
dependencies:
@@ -18002,9 +17876,8 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
prelude-ls@1.2.1: {}
prettier@3.8.3: {}
prelude-ls@1.2.1:
optional: true
prettier@3.9.6: {}
@@ -19320,7 +19193,8 @@ snapshots:
dependencies:
utrie: 1.0.2
text-table@0.2.0: {}
text-table@0.2.0:
optional: true
thenify-all@1.6.0:
dependencies:
@@ -19412,10 +19286,12 @@ snapshots:
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
optional: true
type-detect@4.0.8: {}
type-fest@0.20.2: {}
type-fest@0.20.2:
optional: true
type-fest@0.21.3: {}
@@ -19868,7 +19744,8 @@ snapshots:
wonka@6.3.6: {}
word-wrap@1.2.5: {}
word-wrap@1.2.5:
optional: true
wrap-ansi@10.0.0:
dependencies:
@@ -19998,8 +19875,4 @@ snapshots:
yocto-queue@0.1.0: {}
zod-validation-error@3.5.4(zod@3.25.76):
dependencies:
zod: 3.25.76
zod@3.25.76: {}
+9
View File
@@ -1,6 +1,15 @@
nodeLinker: 'hoisted'
autoInstallPeers: true # default: true
strictPeerDependencies: false # default: false
packageExtensions:
eslint-plugin-react-native-a11y:
peerDependenciesMeta:
eslint:
optional: true
eslint-plugin-simple-import-sort:
peerDependenciesMeta:
eslint:
optional: true
trustPolicy: 'no-downgrade' # default: off
trustPolicyIgnoreAfter: 10080 # 7 days, default: undefined
overrides:
+1 -2
View File
@@ -99,8 +99,7 @@ export async function getConfig() {
return await getPublicAppviewClient().call(app.bsky.ageassurance.getConfig)
}
export function getConfigFromCache():
| app.bsky.ageassurance.getConfig.$OutputBody
| undefined {
app.bsky.ageassurance.getConfig.$OutputBody | undefined {
return qc.getQueryData<app.bsky.ageassurance.getConfig.$OutputBody>(
configQueryKey,
)
+1 -2
View File
@@ -29,8 +29,7 @@ export const otherRequiredData: OtherRequiredData = {
const serverStateEnabled = false || IS_E2E
export const serverState:
| app.bsky.ageassurance.getState.$OutputBody
| undefined = serverStateEnabled
app.bsky.ageassurance.getState.$OutputBody | undefined = serverStateEnabled
? {
state: {
lastInitiatedAt: undefined, // new Date(2025, 1, 1).toISOString(),
+3 -14
View File
@@ -276,12 +276,7 @@ export type Events = {
}
'composer:open': {
logContext:
| 'Fab'
| 'PostReply'
| 'QuotePost'
| 'ProfileFeed'
| 'Deeplink'
| 'Other'
'Fab' | 'PostReply' | 'QuotePost' | 'ProfileFeed' | 'Deeplink' | 'Other'
isReply: boolean
hasQuote: boolean
hasDraft: boolean
@@ -596,10 +591,7 @@ export type Events = {
}
'chat:create': {
logContext:
| 'ProfileHeader'
| 'NewChatDialog'
| 'SendViaChatDialog'
| 'ConvoSettings'
'ProfileHeader' | 'NewChatDialog' | 'SendViaChatDialog' | 'ConvoSettings'
}
'chat:open': {
logContext:
@@ -1340,10 +1332,7 @@ export type Events = {
// invite friends dialog opened, with the surface that triggered it
'invite:dialog:open': {
logContext:
| 'ProfileHeader'
| 'Drawer'
| 'FindContactsSettings'
| 'NuxAnnouncement'
'ProfileHeader' | 'Drawer' | 'FindContactsSettings' | 'NuxAnnouncement'
}
// user copied the invite link to clipboard
'invite:action:copy': {}
+1 -4
View File
@@ -31,10 +31,7 @@ export type AutocompleteSearch = {
}
export type AutocompleteItem =
| AutocompleteProfile
| AutocompleteTag
| AutocompleteEmoji
| AutocompleteSearch
AutocompleteProfile | AutocompleteTag | AutocompleteEmoji | AutocompleteSearch
export type AutocompleteItemType = AutocompleteItem['type']
+1 -2
View File
@@ -86,8 +86,7 @@ export type ButtonState = {
export type ButtonContext = VariantProps & ButtonState
type NonTextElements =
| React.ReactElement
| Iterable<React.ReactElement | null | undefined | boolean>
React.ReactElement | Iterable<React.ReactElement | null | undefined | boolean>
export type ButtonProps = Pick<
PressableProps,
@@ -13,8 +13,7 @@ export function useManageEmail2FA() {
enabled,
token,
}:
| {enabled: true; token?: undefined}
| {enabled: false; token: string}) => {
{enabled: true; token?: undefined} | {enabled: false; token: string}) => {
if (!currentAccount?.email) {
throw new Error('No email found for the current account')
}
@@ -66,11 +66,7 @@ type ErrorItem = {
}
type Item =
| ProfileItem
| ExistingChatItem
| EmptyItem
| PlaceholderItem
| ErrorItem
ProfileItem | ExistingChatItem | EmptyItem | PlaceholderItem | ErrorItem
export function SearchablePeopleList({
title,
+1 -3
View File
@@ -11,9 +11,7 @@ import * as bsky from '#/types/bsky'
* record (post/feed/list/etc.) so the caller can render a translated label.
*/
type ReplyEmbedSummary =
| {type: 'external'; uri: string}
| {type: 'post'}
| {type: 'unknown'}
{type: 'external'; uri: string} | {type: 'post'} | {type: 'unknown'}
function summarizeReplyEmbed(
embed: chat.bsky.convo.defs.MessageView['embed'],
+1 -3
View File
@@ -62,9 +62,7 @@ export function resolveAllowGroupInvites(
chat: {allowIncoming?: string; allowGroupInvites?: string} | undefined,
): 'all' | 'none' | 'following' {
return (chat?.allowGroupInvites ?? chat?.allowIncoming ?? 'following') as
| 'all'
| 'none'
| 'following'
'all' | 'none' | 'following'
}
export function localDateString(date: Date) {
+2 -9
View File
@@ -14,11 +14,7 @@ export const RELEASE_VERSION: string =
* The env the app is running in e.g. development, testflight, production, e2e
*/
export const ENV: string = process.env.EXPO_PUBLIC_ENV as
| 'production'
| 'testflight'
| 'development'
| 'e2e'
| (string & {})
'production' | 'testflight' | 'development' | 'e2e' | (string & {})
/**
* Indicates whether the app is running in TestFlight
@@ -62,10 +58,7 @@ export const BUNDLE_DATE: number =
* The log level for the app.
*/
export const LOG_LEVEL = (process.env.EXPO_PUBLIC_LOG_LEVEL || 'info') as
| 'debug'
| 'info'
| 'warn'
| 'error'
'debug' | 'info' | 'warn' | 'error'
/**
* Enable debug logs for specific logger instances
+1 -6
View File
@@ -6,12 +6,7 @@
* follows handleColor.
*/
export type InviteThemeKey =
| 'dawn'
| 'sunlight'
| 'day'
| 'dusk'
| 'twilight'
| 'night'
'dawn' | 'sunlight' | 'day' | 'dusk' | 'twilight' | 'night'
export type InviteThemeVariant = {
/** QR data + eye color */
+1 -4
View File
@@ -21,7 +21,4 @@ export type LiveEventsWorkerResponse = {
}
export type LiveEventFeedMetricContext =
| 'explore'
| 'discover'
| 'sidebar'
| 'settings'
'explore' | 'discover' | 'sidebar' | 'settings'
+1 -5
View File
@@ -8,11 +8,7 @@ import {darkTheme, defaultTheme, dimTheme} from './themes'
export type ColorScheme = 'light' | 'dark'
export type PaletteColorName =
| 'default'
| 'primary'
| 'secondary'
| 'inverted'
| 'error'
'default' | 'primary' | 'secondary' | 'inverted' | 'error'
export type PaletteColor = {
background: string
backgroundLight: string
+1 -2
View File
@@ -60,8 +60,7 @@ function getRunningChannel(
* entirely from embedded manifests, so narrow it ourselves.
*/
const manifest = currentlyRunning?.manifest as
| {metadata?: {channel?: unknown}}
| undefined
{metadata?: {channel?: unknown}} | undefined
const channel = manifest?.metadata?.channel
if (typeof channel === 'string' && channel) {
return channel
+1 -6
View File
@@ -44,12 +44,7 @@ export type StartUploadResponse = {
}
export type UploadState =
| 'created'
| 'finishing'
| 'completed'
| 'failed'
| 'aborted'
| 'expired'
'created' | 'finishing' | 'completed' | 'failed' | 'aborted' | 'expired'
export type UploadStatusResponse = {
jobId: string
+1 -4
View File
@@ -3,10 +3,7 @@
// on the `video:upload:compressSkipped` analytics event, so the two stay in
// sync.
export type VideoCompressSkipReason =
| 'gif'
| 'below-byte-threshold'
| 'no-webcodecs'
| 'compress-error-fallback'
'gif' | 'below-byte-threshold' | 'no-webcodecs' | 'compress-error-fallback'
export type VideoUploadTransport = 'multipart' | 'legacy' | 'legacy-fallback'
+1 -5
View File
@@ -1,11 +1,7 @@
import {type Events} from '#/analytics/metrics/types'
export type SharedNavTab =
| 'Home'
| 'Search'
| 'Messages'
| 'Notifications'
| 'MyProfile'
'Home' | 'Search' | 'Messages' | 'Notifications' | 'MyProfile'
export const TAB_TO_NAV_ITEM: Record<
SharedNavTab,
+1 -2
View File
@@ -169,8 +169,7 @@ export type AllNavigatorParams = CommonNavigatorParams & {
export type NavigationProp = NativeStackNavigationProp<AllNavigatorParams>
export type State =
| NavigationState
| Omit<PartialState<NavigationState>, 'stale'>
NavigationState | Omit<PartialState<NavigationState>, 'stale'>
export type RouteParams = Record<string, string>
export type MatchResult = {params: RouteParams}
@@ -238,14 +238,12 @@ function GroupSettings({
: []),
]
items.push(
...groupMembers.map(
(profile): Item => ({
type: 'CHAT_MEMBER',
key: profile.did,
profile,
status: primaryMember?.did === profile.did ? 'owner' : 'standard',
}),
),
...groupMembers.map((profile): Item => ({
type: 'CHAT_MEMBER',
key: profile.did,
profile,
status: primaryMember?.did === profile.did ? 'owner' : 'standard',
})),
)
const placeholderCount = Math.max(
0,
@@ -40,8 +40,7 @@ import * as bsky from '#/types/bsky'
* embed: either a quoted post or a group chat invite link.
*/
export type MessageEmbedState =
| {type: 'post'; uri: string}
| {type: 'invite'; code: string}
{type: 'post'; uri: string} | {type: 'invite'; code: string}
export function useMessageEmbed() {
const route =
@@ -16,9 +16,7 @@ export type SystemMessageDateDividerItem = {
}
export type RenderItem =
| ConvoItem
| SystemMessageGroupItem
| SystemMessageDateDividerItem
ConvoItem | SystemMessageGroupItem | SystemMessageDateDividerItem
function getSentAt(item: ConvoItem): string | null {
if (
@@ -38,9 +38,9 @@ export function GermButton({
const linkWarningControl = Dialog.useDialogControl()
// exclude `none` and all unknown values
if (
!(germ.showButtonTo === 'everyone' || germ.showButtonTo === 'usersIFollow')
) {
if (!(
germ.showButtonTo === 'everyone' || germ.showButtonTo === 'usersIFollow'
)) {
return null
}
+1 -5
View File
@@ -31,11 +31,7 @@ type SubmitTask = {
}
type ErrorField =
| 'invite-code'
| 'email'
| 'handle'
| 'password'
| 'date-of-birth'
'invite-code' | 'email' | 'handle' | 'password' | 'date-of-birth'
export type SignupState = {
analytics?: AnalyticsContextType
+1 -3
View File
@@ -25,9 +25,7 @@ export interface PostShadow {
repostUri: AtUriString | 'pending' | undefined
isDeleted: boolean
embed:
| app.bsky.embed.record.View
| app.bsky.embed.recordWithMedia.View
| undefined
app.bsky.embed.record.View | app.bsky.embed.recordWithMedia.View | undefined
pinned: boolean
optimisticReplyCount: number | undefined
bookmarked: boolean | undefined
+1 -2
View File
@@ -47,8 +47,7 @@ export interface ProfileShadow {
verification: app.bsky.actor.defs.VerificationState
status: app.bsky.actor.defs.StatusView | undefined
activitySubscription:
| app.bsky.notification.defs.ActivitySubscription
| undefined
app.bsky.notification.defs.ActivitySubscription | undefined
}
const shadows: WeakMap<
+1 -2
View File
@@ -52,8 +52,7 @@ type ComposerImageWithTransformation = ComposerImageBase & {
}
export type ComposerImage =
| ComposerImageWithoutTransformation
| ComposerImageWithTransformation
ComposerImageWithoutTransformation | ComposerImageWithTransformation
let _imageCacheDirectory: string
+1 -2
View File
@@ -709,8 +709,7 @@ export class Convo {
}
private pendingFetchConvo:
| Promise<{convo: chat.bsky.convo.defs.ConvoView}>
| undefined
Promise<{convo: chat.bsky.convo.defs.ConvoView}> | undefined
async fetchConvo() {
if (this.pendingFetchConvo) return this.pendingFetchConvo
+1 -2
View File
@@ -153,8 +153,7 @@ export function ConvoProvider({
const queryKey = event.query.queryKey as string[]
if (queryKey[0] === root && queryKey[1] === id) {
const data = event.query.state.data as
| chat.bsky.convo.defs.ConvoView
| undefined
chat.bsky.convo.defs.ConvoView | undefined
if (data && convo.convo && data.muted !== convo.convo.view.muted) {
convo.updateMuted(data.muted)
}
+1 -2
View File
@@ -142,8 +142,7 @@ export function invalidateJoinLinkPreviewsForConvo(
const [root] = query.queryKey
if (root !== joinLinkPreviewQueryKeyRoot) return false
const data = query.state.data as
| chat.bsky.group.getJoinLinkPreviews.$OutputBody
| undefined
chat.bsky.group.getJoinLinkPreviews.$OutputBody | undefined
return (
data?.joinLinkPreviews.some(
preview =>
@@ -38,10 +38,7 @@ export const RQKEY = (
readState: 'all' | 'unread' = 'all',
kind: 'all' | 'group' | 'direct' = 'all',
lockStatus:
| 'unlocked'
| 'locked'
| 'locked-permanently'
| undefined = undefined,
'unlocked' | 'locked' | 'locked-permanently' | undefined = undefined,
limit?: number,
) => [RQKEY_ROOT, status, readState, kind, lockStatus, limit] as const
@@ -255,9 +252,9 @@ export function ListConvosProviderInner({
// memberCount bump to avoid double-counting.
const alreadyKnownMember =
queryClient
.getQueryData<
chat.bsky.actor.defs.ProfileViewBasic[]
>(listConvoMembersQueryKey(convoId))
.getQueryData<chat.bsky.actor.defs.ProfileViewBasic[]>(
listConvoMembersQueryKey(convoId),
)
?.some(m => m.did === did) ?? false
mutateMembers(convoId, list =>
list.some(m => m.did === did) ? list : list.concat(newMember),
@@ -279,9 +276,9 @@ export function ListConvosProviderInner({
// list, skip the memberCount decrement to avoid double-counting.
const alreadyRemovedMember =
queryClient
.getQueryData<
chat.bsky.actor.defs.ProfileViewBasic[]
>(listConvoMembersQueryKey(convoId))
.getQueryData<chat.bsky.actor.defs.ProfileViewBasic[]>(
listConvoMembersQueryKey(convoId),
)
?.some(m => m.did === did) === false
mutateMembers(convoId, list => list.filter(m => m.did !== did))
mutateConvoView(
+1 -4
View File
@@ -6,10 +6,7 @@ import {useAppviewClient, useSession} from '#/state/session'
import {app} from '#/lexicons'
export type MyListsFilter =
| 'all'
| 'curate'
| 'mod'
| 'all-including-subscribed'
'all' | 'curate' | 'mod' | 'all-including-subscribed'
const RQKEY_ROOT = 'my-lists'
export const RQKEY = (filter: MyListsFilter) => [RQKEY_ROOT, filter]
+2 -4
View File
@@ -3,8 +3,7 @@ import {type app} from '#/lexicons'
export type Notification = app.bsky.notification.listNotifications.Notification
export type NotificationType =
| StarterPackNotificationType
| OtherNotificationType
StarterPackNotificationType | OtherNotificationType
export type FeedNotification =
| (FeedNotificationBase & {
@@ -56,6 +55,5 @@ type FeedNotificationBase = {
additional?: Notification[]
subjectUri?: string
subject?:
| app.bsky.feed.defs.PostView
| app.bsky.graph.defs.StarterPackViewBasic
app.bsky.feed.defs.PostView | app.bsky.graph.defs.StarterPackViewBasic
}
+1 -3
View File
@@ -89,9 +89,7 @@ export function createMaybeDetachedQuoteEmbed({
quoteUri: AtUriString
detached: true
}):
| app.bsky.embed.record.View
| app.bsky.embed.recordWithMedia.View
| undefined {
app.bsky.embed.record.View | app.bsky.embed.recordWithMedia.View | undefined {
if (bsky.isType(app.bsky.embed.record.view, post.embed)) {
if (detached) {
return createEmbedViewDetachedRecord({uri: quoteUri})
+1 -6
View File
@@ -16,11 +16,6 @@ export type UsePreferencesQueryResponse = Omit<
export type ThreadViewPreferences = {
sort:
| 'hotness'
| 'oldest'
| 'newest'
| 'most-likes'
| 'random'
| (string & {})
'hotness' | 'oldest' | 'newest' | 'most-likes' | 'random' | (string & {})
lab_treeViewEnabled?: boolean
}
+7 -6
View File
@@ -206,12 +206,13 @@ function mergeList(a?: string[], b?: string[]): string[] | undefined {
* than re-validated here. `q`, `limit`, `cursor` and `sort` are the caller's.
*/
type SearchPostsV2FilterParams = {
[K in Exclude<
keyof app.bsky.feed.searchPostsV2.$Params,
'query' | 'limit' | 'cursor' | 'sort'
>]?: app.bsky.feed.searchPostsV2.$Params[K] extends
| readonly (infer _E)[]
| undefined
[
K in Exclude<
keyof app.bsky.feed.searchPostsV2.$Params,
'query' | 'limit' | 'cursor' | 'sort'
>
]?: app.bsky.feed.searchPostsV2.$Params[K] extends
readonly (infer _E)[] | undefined
? string[]
: app.bsky.feed.searchPostsV2.$Params[K] extends string | undefined
? string
+5 -10
View File
@@ -167,8 +167,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
sessionEvent === 'update' &&
sessionData &&
(store.getState().currentBundleState.bundle as unknown as
| SessionBundle
| PublicSessionBundle) === bundle
SessionBundle | PublicSessionBundle) === bundle
) {
failedExpiryTokensRef.current.get(accountDid)?.clear()
}
@@ -200,8 +199,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
if (sessionEvent === 'expired') {
const current = store.getState()
const currentBundle = current.currentBundleState.bundle as unknown as
| SessionBundle
| PublicSessionBundle
SessionBundle | PublicSessionBundle
const dyingRefreshJwt = sessionData?.refreshJwt
// Stale bundle events are handled by the reducer's identity guard.
if (
@@ -509,8 +507,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
SessionApiContext['refreshSession']
>(async () => {
const bundle = store.getState().currentBundleState.bundle as unknown as
| SessionBundle
| PublicSessionBundle
SessionBundle | PublicSessionBundle
if (!bundle.session) return undefined // logged out: nothing to refresh
const before = bundle.session.session
const after = await bundle.session.refresh()
@@ -595,8 +592,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
* the leader already refreshed, then dispose the previous bundle.
*/
const prevBundle = state.currentBundleState.bundle as unknown as
| SessionBundle
| PublicSessionBundle
SessionBundle | PublicSessionBundle
// Avoid replacing the live bundle for an unrelated account update.
const live =
prevBundle.session && !prevBundle.session.destroyed
@@ -685,8 +681,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
)
const bundle = state.currentBundleState.bundle as unknown as
| SessionBundle
| PublicSessionBundle
SessionBundle | PublicSessionBundle
// @ts-expect-error window type is not declared, debug only
// eslint-disable-next-line react-hooks/immutability
+2 -10
View File
@@ -139,21 +139,13 @@ type Log =
| {
type: 'method:start'
method:
| 'createAccount'
| 'login'
| 'logout'
| 'resumeSession'
| 'removeAccount'
'createAccount' | 'login' | 'logout' | 'resumeSession' | 'removeAccount'
account?: RedactedAccount
}
| {
type: 'method:end'
method:
| 'createAccount'
| 'login'
| 'logout'
| 'resumeSession'
| 'removeAccount'
'createAccount' | 'login' | 'logout' | 'resumeSession' | 'removeAccount'
account?: RedactedAccount
}
| {
+1 -6
View File
@@ -33,12 +33,7 @@ export type OnPostSuccessData =
| undefined
export type ComposerLogContext =
| 'Fab'
| 'PostReply'
| 'QuotePost'
| 'ProfileFeed'
| 'Deeplink'
| 'Other'
'Fab' | 'PostReply' | 'QuotePost' | 'ProfileFeed' | 'Deeplink' | 'Other'
export interface ComposerOpts {
replyTo?: ComposerOptsPostRef
+1 -5
View File
@@ -27,11 +27,7 @@ type Controls = {
* The did of the account to populate the login form with.
*/
requestedAccount?:
| (string & {})
| 'none'
| 'new'
| 'starterpack'
| 'groupchat'
(string & {}) | 'none' | 'new' | 'starterpack' | 'groupchat'
}) => void
/**
* Clears the requested account so that next time the logged out view is
+1 -3
View File
@@ -40,9 +40,7 @@ export interface Follow10ProgressGuide extends BaseProgressGuide {
}
export type ProgressGuide =
| Like10AndFollow7ProgressGuide
| Follow10ProgressGuide
| undefined
Like10AndFollow7ProgressGuide | Follow10ProgressGuide | undefined
const ProgressGuideContext = createContext<ProgressGuide>(undefined)
ProgressGuideContext.displayName = 'ProgressGuideContext'
+1 -2
View File
@@ -29,5 +29,4 @@ export function isView(v: unknown): v is app.bsky.graph.defs.StarterPackView {
* Matches any starter pack view exported by our SDK.
*/
export type AnyStarterPackView =
| app.bsky.graph.defs.StarterPackViewBasic
| app.bsky.graph.defs.StarterPackView
app.bsky.graph.defs.StarterPackViewBasic | app.bsky.graph.defs.StarterPackView
+2 -4
View File
@@ -157,8 +157,7 @@ export type ComposerAction =
| {
type: 'clear'
initInteractionSettings:
| app.bsky.actor.defs.PostInteractionSettingsPref
| undefined
app.bsky.actor.defs.PostInteractionSettingsPref | undefined
}
| {
type: 'mark_saved'
@@ -632,8 +631,7 @@ export function createComposerState({
initImageUris: ComposerOpts['imageUris']
initQuoteUri: string | undefined
initInteractionSettings:
| app.bsky.actor.defs.PostInteractionSettingsPref
| undefined
app.bsky.actor.defs.PostInteractionSettingsPref | undefined
}): ComposerState {
let media: ImagesMedia | GalleryMedia | undefined
if (initImageUris?.length) {
+1 -5
View File
@@ -148,11 +148,7 @@ type DoneState = {
}
export type VideoState =
| ErrorState
| CompressingState
| UploadingState
| ProcessingState
| DoneState
ErrorState | CompressingState | UploadingState | ProcessingState | DoneState
export function createVideoState(
asset: ImagePickerAsset,
+1 -4
View File
@@ -1,10 +1,7 @@
import {type VideoCompressSkipReason} from '#/lib/media/video/types'
export type VideoProgressPhase =
| 'compressing'
| 'uploading'
| 'uploadingWithoutCompression'
| 'processing'
'compressing' | 'uploading' | 'uploadingWithoutCompression' | 'processing'
// Keep progress monotonic across the full client pipeline instead of showing
// three separate 0 -> 100 cycles. Backend processing progress covers the
@@ -8,8 +8,7 @@ export type TextInputRef = {
* @platform web
*/
getCursorPosition: () =>
| {left: number; right: number; top: number; bottom: number}
| undefined
{left: number; right: number; top: number; bottom: number} | undefined
/**
* Closes the autocomplete popup if it is open.
* Returns `true` if the popup was closed, `false` otherwise.
+1 -2
View File
@@ -37,8 +37,7 @@ import {PressableWithHover} from './PressableWithHover'
import {Text} from './text/Text'
type Event =
| React.MouseEvent<HTMLAnchorElement, MouseEvent>
| GestureResponderEvent
React.MouseEvent<HTMLAnchorElement, MouseEvent> | GestureResponderEvent
interface Props extends React.ComponentProps<typeof TouchableOpacity> {
testID?: string
+2 -6
View File
@@ -521,9 +521,7 @@ let Row = function RowImpl<ItemT>({
item: ItemT
index: number
renderItem:
| null
| undefined
| ((info: ListRenderItemInfo<ItemT>) => React.ReactNode)
null | undefined | ((info: ListRenderItemInfo<ItemT>) => React.ReactNode)
extraData: unknown
onItemSeen: ((item: ItemT) => void) | undefined
registerRowNode: (index: number, node: HTMLElement | null) => void
@@ -604,9 +602,7 @@ Row = memo(Row) as <ItemT>(props: {
item: ItemT
index: number
renderItem:
| null
| undefined
| ((info: ListRenderItemInfo<ItemT>) => React.ReactNode)
null | undefined | ((info: ListRenderItemInfo<ItemT>) => React.ReactNode)
extraData: unknown
onItemSeen: ((item: ItemT) => void) | undefined
registerRowNode: (index: number, node: HTMLElement | null) => void
+1 -1
View File
@@ -307,7 +307,7 @@ let UserAvatar = ({
}, [size, style])
return avatar &&
!((moderation?.blur && IS_ANDROID) /* android crashes with blur */) ? (
!(moderation?.blur && IS_ANDROID /* android crashes with blur */) ? (
<View style={containerStyle}>
{usePlainRNImage ? (
<RNImage
+1 -1
View File
@@ -212,7 +212,7 @@ export function UserBanner({
/>
</>
) : banner &&
!((moderation?.blur && IS_ANDROID) /* android crashes with blur */) ? (
!(moderation?.blur && IS_ANDROID /* android crashes with blur */) ? (
<Image
style={[styles.bannerImage, t.atoms.bg_contrast_25]}
contentFit="cover"