update oxlint, run autofix

This commit is contained in:
Samuel Newman
2026-07-24 17:38:07 +03:00
parent fed432582a
commit b05ef1ac51
51 changed files with 170 additions and 230 deletions
+13 -49
View File
@@ -1,10 +1,6 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": [
"typescript",
"react",
"import"
],
"plugins": ["typescript", "react", "import"],
"categories": {
"correctness": "off"
},
@@ -25,26 +21,13 @@
".cjs",
".mjs"
],
"import-x/external-module-folders": [
"node_modules",
"node_modules/@types"
],
"import-x/external-module-folders": ["node_modules", "node_modules/@types"],
"import-x/parsers": {
"@typescript-eslint/parser": [
".ts",
".tsx",
".cts",
".mts"
]
"@typescript-eslint/parser": [".ts", ".tsx", ".cts", ".mts"]
},
"import-x/resolver": {
"node": {
"extensions": [
".js",
".web.js",
".ios.js",
".android.js"
]
"extensions": [".js", ".web.js", ".ios.js", ".android.js"]
}
}
},
@@ -132,7 +115,7 @@
"import/default": "error",
"import/no-named-as-default": "warn",
"import/no-named-as-default-member": "warn",
"import/no-duplicates": "warn",
"import/no-duplicates": ["warn", {"preferInline": true}],
"react/rules-of-hooks": "error",
"react/exhaustive-deps": "warn",
"typescript/await-thenable": "error",
@@ -178,12 +161,7 @@
},
"overrides": [
{
"files": [
"**/*.ts",
"**/*.tsx",
"**/*.mts",
"**/*.cts"
],
"files": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
"rules": {
"constructor-super": "off",
"getter-return": "off",
@@ -208,9 +186,7 @@
}
},
{
"files": [
"**/*.{js,jsx,ts,tsx}"
],
"files": ["**/*.{js,jsx,ts,tsx}"],
"rules": {
"bsky-internal/avoid-unwrapped-text": [
"error",
@@ -279,12 +255,8 @@
"error",
{
"groups": [
[
"^\\u0000"
],
[
"^node:"
],
["^\\u0000"],
["^node:"],
[
"^(react\\/(.*)$)|^(react$)|^(react-native(.*)$)",
"^(expo(.*)$)|^(expo$)",
@@ -299,9 +271,7 @@
"^#\\/",
"^\\."
],
[
"^"
]
["^"]
]
}
],
@@ -321,10 +291,7 @@
"paths": [
{
"name": "react",
"importNames": [
"React",
"default"
],
"importNames": ["React", "default"],
"message": "React is already in the global type namespace. Use named imports for runtime modules."
}
]
@@ -351,10 +318,7 @@
"allowTernary": true
}
],
"import/consistent-type-specifier-style": [
"warn",
"prefer-inline"
],
"import/consistent-type-specifier-style": ["warn", "prefer-inline"],
"import/no-nodejs-modules": "error",
"typescript/consistent-type-imports": [
"warn",
@@ -404,4 +368,4 @@
}
}
]
}
}
+1 -1
View File
@@ -294,7 +294,7 @@
"jest-expo": "~54.0.17",
"jest-junit": "^16.0.0",
"lint-staged": "^17.0.8",
"oxlint": "^1.73.0",
"oxlint": "^1.75.0",
"oxlint-tsgolint": "^7.0.2001",
"prettier": "^3.8.3",
"react-native-dotenv": "^3.4.11",
+82 -82
View File
@@ -834,8 +834,8 @@ importers:
specifier: runtime:^24.18.0
version: runtime:24.18.0
oxlint:
specifier: ^1.73.0
version: 1.73.0(oxlint-tsgolint@7.0.2001)
specifier: ^1.75.0
version: 1.75.0(oxlint-tsgolint@7.0.2001)
oxlint-tsgolint:
specifier: ^7.0.2001
version: 7.0.2001
@@ -2302,124 +2302,124 @@ packages:
cpu: [x64]
os: [win32]
'@oxlint/binding-android-arm-eabi@1.73.0':
resolution: {integrity: sha512-HZQRN/UMBu+Ut+/9MiAChkbP4qZqrNOWBcNI45vOT40GVhbGR0JgHB87L48D4iAqFQIdVmeQYtV9RF89AjTKkg==}
'@oxlint/binding-android-arm-eabi@1.75.0':
resolution: {integrity: sha512-lutovtFzJqlRaqpZrCqSSGaHZzl9nIxxpjLzhSRLunN6dCLylj0uzlCyQGaQDIys7rrv8kVXiFO+R4Zpn0bX7g==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [android]
'@oxlint/binding-android-arm64@1.73.0':
resolution: {integrity: sha512-Gp+KJRylv2aW7thRpG5p1KTxZq4ZJFbWowrKzufNq9d3ssl3r3JviYV45/+p+7CN1Nv0zDd1e8Ex0b/HUDq4TQ==}
'@oxlint/binding-android-arm64@1.75.0':
resolution: {integrity: sha512-hXI0hDgHkw4w5nfru72aG7y+2iQJmC4waH/KV6H/hbgA6yAP5jYNx0P9yug15Hs0tWl/+mda3Jjn/2gmDT48tw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
'@oxlint/binding-darwin-arm64@1.73.0':
resolution: {integrity: sha512-3de96NdtXhxERMjIz7wsp2HYMY6pMQycGxFWac2mFecAx6VeARF/IqFb1QIaqiCRIdfzBwzTed+pCTCoiS+CYA==}
'@oxlint/binding-darwin-arm64@1.75.0':
resolution: {integrity: sha512-D91BWbK/dMYfCcrghspPIuKs2D9LF4Z/OabVSQjw1AO6PWxArD7teDA48bm0ySFqWDaPVqmQRl5GMWNglTXyrQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
'@oxlint/binding-darwin-x64@1.73.0':
resolution: {integrity: sha512-5zx/uPW32TiaOeVY1dQ/H5iOf0K1HOdFKOJhLqGl4o63+i1fpzoqqu/mKtd7OFgFjNCdhlyTGgjVkQTZm1ELcg==}
'@oxlint/binding-darwin-x64@1.75.0':
resolution: {integrity: sha512-02mpwzf12BonZ6PT0TuQoomvEh2kVl2WGBIKWezCyToIS+rYkQZ6GXnARBAl9A4Ovm2V+Xe7M4KretyqmmcnJQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
'@oxlint/binding-freebsd-x64@1.73.0':
resolution: {integrity: sha512-qNe4gKHaGnLuZJ8toUg90JAa0S2vTVvDw+0bRi3q1avXZXDT4u5mMeECf3nD4HYrbdn1O7dXqWut4onY/yx/Xg==}
'@oxlint/binding-freebsd-x64@1.75.0':
resolution: {integrity: sha512-qZJgLnDaBsiL5YESx2t/TZ8eXkL9fEkKoXEdzegROhlz9A0lgyGnZ0dAzJrh7LJAHQl2K9RdRueN2s/9N7+odg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
'@oxlint/binding-linux-arm-gnueabihf@1.73.0':
resolution: {integrity: sha512-cCehYh5hTbfShm/fxTD6wwrGUWIpvX+N5OxmAMhFhDeTGXvw+BeNj889tpxsFQ9ZLatQ6wImuY8tsKLZ+FMz7w==}
'@oxlint/binding-linux-arm-gnueabihf@1.75.0':
resolution: {integrity: sha512-7XlaWA5BJD3XpCfrEqjEe6Zseeb14S7QGa304XfwKignRaKQ+eIj775BQ7nIslggWickl4IsPUFqJ+/gAyNHVg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
'@oxlint/binding-linux-arm-musleabihf@1.73.0':
resolution: {integrity: sha512-d5j5GDU/2dMgjVhw7TQT9ITrsIr1Y02KEXKyVGIXUkD+KiaxE9TP65FS2ZdgTBemQvoRL+gSBdbrIm3cQIeacg==}
'@oxlint/binding-linux-arm-musleabihf@1.75.0':
resolution: {integrity: sha512-av6Tpv8yrcMMMOadOqENBhlsLRcGFXXwoQ0hzHhsmS9FJ4Wioy8we427GbcMe2XTxmL2e60T67H1Dyr3up+tAA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
'@oxlint/binding-linux-arm64-gnu@1.73.0':
resolution: {integrity: sha512-Eyf1SrP3+yR1DI3OJgOY2Pvrr9dWP9TK37xPaDYycwTtlGlI45erJAVIfH5/m/xosDt6BupJYEFi47bvbTuuyw==}
'@oxlint/binding-linux-arm64-gnu@1.75.0':
resolution: {integrity: sha512-WcUhd8fHT5plrA14lANevl+hOl815mVI5t2hU21oFWrZKFXIVV/Sr4rWQV0NzSvzBupbMLNc5ErEA6Ehxh5jMg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@oxlint/binding-linux-arm64-musl@1.73.0':
resolution: {integrity: sha512-IlT/OJApEDKaMmCooHuncgJZbbCe7T5QIWmTZBEtYscWvzPQuuEinVcid6kwQRVQOUdb7PUCz4jQHnaYXdfJXw==}
'@oxlint/binding-linux-arm64-musl@1.75.0':
resolution: {integrity: sha512-UWzp5wRHFe/ESO3+eEaxXsTkYTGLYjnTsi/I5neEacXSItQ6WNleapfOAeA4x2b8nyhJ4uQxqvtv9pHv8kWJtQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
'@oxlint/binding-linux-ppc64-gnu@1.73.0':
resolution: {integrity: sha512-L+JYcb/vdg5fmcH08V6o0YYLU28cTH1SPNulwJdvK9NK49aXSkYy6oNpKBmddArVOXYqNepriDGiZ04G54kh1Q==}
'@oxlint/binding-linux-ppc64-gnu@1.75.0':
resolution: {integrity: sha512-XEVRwGMLKCUKrvhLAz4F6AIh8MJrQVdSZtAmPpRZt9tGPsUnamPOcl3dS/ZQzJnar/Ymgc//+xho0L60Emzuxg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@oxlint/binding-linux-riscv64-gnu@1.73.0':
resolution: {integrity: sha512-Qtk0g3bKV6OwWjIm7R8kQN1uOZRKQt/MODK2a8QfkwhTpXBD53ozx5XLVWLGDQAVyp2otLW4D2wB98XfAfMPGA==}
'@oxlint/binding-linux-riscv64-gnu@1.75.0':
resolution: {integrity: sha512-mAG4DUXqfLC8cTjMD2kt3jDmVzFREYtDyeLNdLdsCcBc4Zbl2EMuiFektGBilQwkNjYnMvCqJs55U+Hyb+b+jw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@oxlint/binding-linux-riscv64-musl@1.73.0':
resolution: {integrity: sha512-wX0NQKZVxltkAOVmzFcpOaMpdaUvsq1Eqpx9tkAfl71UdkTlSo1R4AdAnGccR1Fm2+TzFgZ22CyyGuZ41RDr/A==}
'@oxlint/binding-linux-riscv64-musl@1.75.0':
resolution: {integrity: sha512-95hrAvriAlI+pekSomTFIn0+bawMDlDwTNVmdjsFusTHyL2JWh7TWvRNG/Lkim72uN8OiCcO9wcaC6omLP5E3w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
libc: [musl]
'@oxlint/binding-linux-s390x-gnu@1.73.0':
resolution: {integrity: sha512-vPe7UGBMWyiLTtnqS4xxgMQFSFGmtQwhwCxuiw6lXygaO6bVt0D8dFVg8Xv05eaiN3ybC0HXXHUAohFMFvqoCQ==}
'@oxlint/binding-linux-s390x-gnu@1.75.0':
resolution: {integrity: sha512-4b6f2+FrtruAESrCqIKcrarzfrSx+wk2QNcp+RT91/Prc+pMQMAfyZ1rG1c3tFQNl8Bc616tx40uNXyxNBRPbQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@oxlint/binding-linux-x64-gnu@1.73.0':
resolution: {integrity: sha512-2CwIWr9cemFC/CbRBWZvuk5mffz6ObmfFkfcC/9rTQ7f+icNhYr2kOjf9Rt8lLvugvkdGDOmkoVoFFHh6ClCTw==}
'@oxlint/binding-linux-x64-gnu@1.75.0':
resolution: {integrity: sha512-nshAhrUvXFUWOvqQ2soIw7HFNWvpvEV4o0cYSqPtzLiPF5gKyYTDOOTJ6Rn8g8K/iGvPIrbDA4v8+5MvnjJrrg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
'@oxlint/binding-linux-x64-musl@1.73.0':
resolution: {integrity: sha512-nDadfJgg7NBBxG0N560wOe7LLX5QiYp6qBaI7viuk5EUORFBktU/NfV0MbTqU3gTqQDCh4VyxKdo5VADxk9w8Q==}
'@oxlint/binding-linux-x64-musl@1.75.0':
resolution: {integrity: sha512-e4jNxLKnxLC6sYBQRxrI2pgIIxnmMtF8U/VwNYcjTT/CLS+spH624cYVnj07bTKwaEWT37/e025isOs6j/0xqA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
'@oxlint/binding-openharmony-arm64@1.73.0':
resolution: {integrity: sha512-wGjJC+NLH9xP+IKGn9RDW94ojJR/wPbg5WCnQjj/oReaOtCQthr8ws1zICe77JFmo4ouUdeTHHZL/ESGiF6Pmw==}
'@oxlint/binding-openharmony-arm64@1.75.0':
resolution: {integrity: sha512-hZ2lH+1qLf/DiEP9UWuQTK2JWj/BgvMB4jhIV4SmNU1wfEiYYX4TynQyAZXx0j9X4qRYizAL042SKaV+8ynh4w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
'@oxlint/binding-win32-arm64-msvc@1.73.0':
resolution: {integrity: sha512-I7X47GPGljw225YUQ5SbC/rb1Kkdrd0yQf0x+hYxeKS6DpfjMbo9ccQPQ6LNY6BoJQ1sHhgDUGuMn5Vg5gHT6w==}
'@oxlint/binding-win32-arm64-msvc@1.75.0':
resolution: {integrity: sha512-Ilj6PNzGDS3bCU0MSJH7Msh0NhH+T/mRp2shwg+q+GHeVlPwP5LEboW96aW+3kVKFk6zYZy1Xi5pZkqZh6X8KQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
'@oxlint/binding-win32-ia32-msvc@1.73.0':
resolution: {integrity: sha512-5lWj+3h+74Fm1jYOO9qkJA4xkAlZA099DkXppuXsk7UpnpZLttsefrZU469vChGaG6hcSqrkKXQOvMTZtbjeNg==}
'@oxlint/binding-win32-ia32-msvc@1.75.0':
resolution: {integrity: sha512-QVit2nOEOiPhkmsrksPSkoGCdnZRNkspt8fwoYyP09te1VEbnSj4LAxua4rc8FKTmWkySVe05j8iz9GXYfF1AQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
'@oxlint/binding-win32-x64-msvc@1.73.0':
resolution: {integrity: sha512-WaNRvh4f6zY9CvUQk2YoA1O90ieWrIklI84+HXFr9Isjz9CSESrdqo/RtIYt4Dll/cAchqGDMehfaZd0vqEFZw==}
'@oxlint/binding-win32-x64-msvc@1.75.0':
resolution: {integrity: sha512-DSxnNkBUAYARPwJtR12Ig3deWr8w0H997xP6jy33i+e0SyYJw8FKuz4+cZtpmPEhQmvlPJE3X/2vNxDmLkd/rA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
@@ -7323,12 +7323,12 @@ packages:
resolution: {integrity: sha512-KjK/XLcXr1DSyonKhsuFqJRiuKqcyG9j3LJ8nkOsrLzGvodBPqzHOKauy10asLMDI0sUpvb+1sxlzff3udZvfg==}
hasBin: true
oxlint@1.73.0:
resolution: {integrity: sha512-u91G9TJzU6yqKWNZUYprQB07W7YvntZXaRxQ6CkoytepYhLWUXWsr1M8zUJ34VatNPuUAr3Z8GH+O2A331CluQ==}
oxlint@1.75.0:
resolution: {integrity: sha512-m9WzjRcRYA/uqIZDa9tclrieoPJ/ln1QYTKdFx6NUOs8uY5DiHlIwRQoCrHT6OM6O3ww3l2skY5gO7G7ZphE7g==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
oxlint-tsgolint: '>=0.24.0'
oxlint-tsgolint: '>=7.0.2001'
vite-plus: '*'
peerDependenciesMeta:
oxlint-tsgolint:
@@ -11324,61 +11324,61 @@ snapshots:
'@oxlint-tsgolint/win32-x64@7.0.2001':
optional: true
'@oxlint/binding-android-arm-eabi@1.73.0':
'@oxlint/binding-android-arm-eabi@1.75.0':
optional: true
'@oxlint/binding-android-arm64@1.73.0':
'@oxlint/binding-android-arm64@1.75.0':
optional: true
'@oxlint/binding-darwin-arm64@1.73.0':
'@oxlint/binding-darwin-arm64@1.75.0':
optional: true
'@oxlint/binding-darwin-x64@1.73.0':
'@oxlint/binding-darwin-x64@1.75.0':
optional: true
'@oxlint/binding-freebsd-x64@1.73.0':
'@oxlint/binding-freebsd-x64@1.75.0':
optional: true
'@oxlint/binding-linux-arm-gnueabihf@1.73.0':
'@oxlint/binding-linux-arm-gnueabihf@1.75.0':
optional: true
'@oxlint/binding-linux-arm-musleabihf@1.73.0':
'@oxlint/binding-linux-arm-musleabihf@1.75.0':
optional: true
'@oxlint/binding-linux-arm64-gnu@1.73.0':
'@oxlint/binding-linux-arm64-gnu@1.75.0':
optional: true
'@oxlint/binding-linux-arm64-musl@1.73.0':
'@oxlint/binding-linux-arm64-musl@1.75.0':
optional: true
'@oxlint/binding-linux-ppc64-gnu@1.73.0':
'@oxlint/binding-linux-ppc64-gnu@1.75.0':
optional: true
'@oxlint/binding-linux-riscv64-gnu@1.73.0':
'@oxlint/binding-linux-riscv64-gnu@1.75.0':
optional: true
'@oxlint/binding-linux-riscv64-musl@1.73.0':
'@oxlint/binding-linux-riscv64-musl@1.75.0':
optional: true
'@oxlint/binding-linux-s390x-gnu@1.73.0':
'@oxlint/binding-linux-s390x-gnu@1.75.0':
optional: true
'@oxlint/binding-linux-x64-gnu@1.73.0':
'@oxlint/binding-linux-x64-gnu@1.75.0':
optional: true
'@oxlint/binding-linux-x64-musl@1.73.0':
'@oxlint/binding-linux-x64-musl@1.75.0':
optional: true
'@oxlint/binding-openharmony-arm64@1.73.0':
'@oxlint/binding-openharmony-arm64@1.75.0':
optional: true
'@oxlint/binding-win32-arm64-msvc@1.73.0':
'@oxlint/binding-win32-arm64-msvc@1.75.0':
optional: true
'@oxlint/binding-win32-ia32-msvc@1.73.0':
'@oxlint/binding-win32-ia32-msvc@1.75.0':
optional: true
'@oxlint/binding-win32-x64-msvc@1.73.0':
'@oxlint/binding-win32-x64-msvc@1.75.0':
optional: true
'@pkgjs/parseargs@0.11.0':
@@ -17001,27 +17001,27 @@ snapshots:
'@oxlint-tsgolint/win32-arm64': 7.0.2001
'@oxlint-tsgolint/win32-x64': 7.0.2001
oxlint@1.73.0(oxlint-tsgolint@7.0.2001):
oxlint@1.75.0(oxlint-tsgolint@7.0.2001):
optionalDependencies:
'@oxlint/binding-android-arm-eabi': 1.73.0
'@oxlint/binding-android-arm64': 1.73.0
'@oxlint/binding-darwin-arm64': 1.73.0
'@oxlint/binding-darwin-x64': 1.73.0
'@oxlint/binding-freebsd-x64': 1.73.0
'@oxlint/binding-linux-arm-gnueabihf': 1.73.0
'@oxlint/binding-linux-arm-musleabihf': 1.73.0
'@oxlint/binding-linux-arm64-gnu': 1.73.0
'@oxlint/binding-linux-arm64-musl': 1.73.0
'@oxlint/binding-linux-ppc64-gnu': 1.73.0
'@oxlint/binding-linux-riscv64-gnu': 1.73.0
'@oxlint/binding-linux-riscv64-musl': 1.73.0
'@oxlint/binding-linux-s390x-gnu': 1.73.0
'@oxlint/binding-linux-x64-gnu': 1.73.0
'@oxlint/binding-linux-x64-musl': 1.73.0
'@oxlint/binding-openharmony-arm64': 1.73.0
'@oxlint/binding-win32-arm64-msvc': 1.73.0
'@oxlint/binding-win32-ia32-msvc': 1.73.0
'@oxlint/binding-win32-x64-msvc': 1.73.0
'@oxlint/binding-android-arm-eabi': 1.75.0
'@oxlint/binding-android-arm64': 1.75.0
'@oxlint/binding-darwin-arm64': 1.75.0
'@oxlint/binding-darwin-x64': 1.75.0
'@oxlint/binding-freebsd-x64': 1.75.0
'@oxlint/binding-linux-arm-gnueabihf': 1.75.0
'@oxlint/binding-linux-arm-musleabihf': 1.75.0
'@oxlint/binding-linux-arm64-gnu': 1.75.0
'@oxlint/binding-linux-arm64-musl': 1.75.0
'@oxlint/binding-linux-ppc64-gnu': 1.75.0
'@oxlint/binding-linux-riscv64-gnu': 1.75.0
'@oxlint/binding-linux-riscv64-musl': 1.75.0
'@oxlint/binding-linux-s390x-gnu': 1.75.0
'@oxlint/binding-linux-x64-gnu': 1.75.0
'@oxlint/binding-linux-x64-musl': 1.75.0
'@oxlint/binding-openharmony-arm64': 1.75.0
'@oxlint/binding-win32-arm64-msvc': 1.75.0
'@oxlint/binding-win32-ia32-msvc': 1.75.0
'@oxlint/binding-win32-x64-msvc': 1.75.0
oxlint-tsgolint: 7.0.2001
p-limit@2.3.0:
@@ -9,8 +9,7 @@ import {
} from 'react'
import {Dimensions, View} from 'react-native'
import * as Linking from 'expo-linking'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {retry} from '#/lib/async/retry'
import {wait} from '#/lib/async/wait'
+1 -2
View File
@@ -1,7 +1,6 @@
import {memo} from 'react'
import {type StyleProp, View, type ViewStyle} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {cleanError} from '#/lib/strings/errors'
import {
@@ -1,7 +1,6 @@
import {useCallback} from 'react'
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useA11y} from '#/state/a11y'
import {atoms as a, useTheme} from '#/alf'
@@ -1,6 +1,5 @@
import {ActivityIndicator, View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useLargeAltBadgeEnabled} from '#/state/preferences/large-alt-badge'
import {atoms as a, useTheme} from '#/alf'
@@ -1,5 +1,4 @@
import {type StyleProp, type ViewStyle} from 'react-native'
import {View} from 'react-native'
import {type StyleProp, View, type ViewStyle} from 'react-native'
import {plural} from '@lingui/core/macro'
import {useLingui} from '@lingui/react/macro'
@@ -1,6 +1,5 @@
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {atoms as a, useTheme} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
@@ -1,7 +1,6 @@
import {useCallback, useEffect, useRef, useState} from 'react'
import {Pressable, View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {clamp} from '#/lib/numbers'
import {
+1 -2
View File
@@ -1,7 +1,6 @@
import {useMemo} from 'react'
import {type StyleProp, Text as RNText, type TextStyle} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useNavigation} from '@react-navigation/native'
import {type NavigationProp} from '#/lib/routes/types'
@@ -2,8 +2,7 @@ import {useMemo} from 'react'
import {View} from 'react-native'
import {Image} from 'expo-image'
import {AppBskyGraphStarterpack, AtUri} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Plural, Trans} from '@lingui/react/macro'
import {Plural, Trans, useLingui} from '@lingui/react/macro'
import {useQueryClient} from '@tanstack/react-query'
import {sanitizeHandle} from '#/lib/strings/handles'
@@ -6,8 +6,7 @@ import {
type ModerationOpts,
type Un$Typed,
} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {
type InfiniteData,
useMutation,
@@ -1,7 +1,6 @@
import {useEffect, useRef, useState} from 'react'
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {retry} from '#/lib/async/retry'
import {wait} from '#/lib/async/wait'
@@ -1,6 +1,5 @@
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {atoms as a} from '#/alf'
import {Admonition} from '#/components/Admonition'
+4 -2
View File
@@ -3,8 +3,10 @@ import {useLingui} from '@lingui/react/macro'
import {web} from '#/alf'
import * as Dialog from '#/components/Dialog'
import {type StatefulControl} from '#/components/dialogs/Context'
import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
import {
type StatefulControl,
useGlobalDialogsControlContext,
} from '#/components/dialogs/Context'
import {useAccountEmailState} from '#/components/dialogs/EmailDialog/data/useAccountEmailState'
import {Manage2FA} from '#/components/dialogs/EmailDialog/screens/Manage2FA'
import {Update} from '#/components/dialogs/EmailDialog/screens/Update'
+1 -2
View File
@@ -1,8 +1,7 @@
import {useCallback, useState} from 'react'
import {View} from 'react-native'
import {type AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {logger} from '#/logger'
import {
+1 -2
View File
@@ -1,7 +1,6 @@
import {useCallback} from 'react'
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
import {type SessionAccount, useSession} from '#/state/session'
+1 -2
View File
@@ -1,8 +1,7 @@
import {useCallback, useImperativeHandle, useState} from 'react'
import {Keyboard, View} from 'react-native'
import DatePicker from 'react-native-date-picker'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {atoms as a, useTheme} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
+7 -2
View File
@@ -1,6 +1,11 @@
import {StyleSheet, type TextProps} from 'react-native'
import {type PathProps, type SvgProps} from 'react-native-svg'
import {Defs, LinearGradient, Stop} from 'react-native-svg'
import {
Defs,
LinearGradient,
type PathProps,
Stop,
type SvgProps,
} from 'react-native-svg'
import {nanoid} from 'nanoid/non-secure'
import {tokens, useTheme} from '#/alf'
+6 -4
View File
@@ -1,9 +1,11 @@
import {useState} from 'react'
import {View} from 'react-native'
import {type ComAtprotoLabelDefs, ToolsOzoneReportDefs} from '@atproto/api'
import {XRPCError} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {
type ComAtprotoLabelDefs,
ToolsOzoneReportDefs,
XRPCError,
} from '@atproto/api'
import {Trans, useLingui} from '@lingui/react/macro'
import {useMutation} from '@tanstack/react-query'
import {useLabelSubject} from '#/lib/moderation'
@@ -1,8 +1,7 @@
import {useMemo, useState} from 'react'
import {View} from 'react-native'
import {type ComAtprotoLabelDefs} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useGetTimeAgo} from '#/lib/hooks/useTimeAgo'
import {useLabelInfo} from '#/lib/moderation/useLabelInfo'
@@ -1,8 +1,7 @@
import {useState} from 'react'
import {View} from 'react-native'
import {type ModerationCause} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useGetTimeAgo} from '#/lib/hooks/useTimeAgo'
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
@@ -5,8 +5,10 @@ import {type Shadow} from '#/state/cache/types'
import {atoms as a, useTheme} from '#/alf'
import {Button} from '#/components/Button'
import {useDialogControl} from '#/components/Dialog'
import {useFullVerificationState} from '#/components/verification'
import {type FullVerificationState} from '#/components/verification'
import {
type FullVerificationState,
useFullVerificationState,
} from '#/components/verification'
import {VerificationCheck} from '#/components/verification/VerificationCheck'
import {VerificationsDialog} from '#/components/verification/VerificationsDialog'
import {VerifierDialog} from '#/components/verification/VerifierDialog'
@@ -1,7 +1,6 @@
import {View} from 'react-native'
import {type AppBskyActorDefs} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {urls} from '#/lib/constants'
import {getUserDisplayName} from '#/lib/getUserDisplayName'
@@ -1,7 +1,6 @@
import {Text as RNText, View} from 'react-native'
import {Image} from 'expo-image'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {urls} from '#/lib/constants'
import {getUserDisplayName} from '#/lib/getUserDisplayName'
@@ -1,6 +1,5 @@
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {atoms as a, useLayoutBreakpoints} from '#/alf'
import {Button} from '#/components/Button'
@@ -2,8 +2,7 @@ import {useMemo} from 'react'
import {View} from 'react-native'
import {Image} from 'expo-image'
import {LinearGradient} from 'expo-linear-gradient'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useCallOnce} from '#/lib/once'
import {isBskyCustomFeedUrl} from '#/lib/strings/url-helpers'
@@ -1,6 +1,5 @@
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {atoms as a} from '#/alf'
import {Button} from '#/components/Button'
+1 -2
View File
@@ -1,5 +1,4 @@
import {type ReactNode} from 'react'
import {createContext, useContext} from 'react'
import {createContext, type ReactNode, useContext} from 'react'
import {type TextStyle, type ViewStyle} from 'react-native'
import {type ThemeName} from '@bsky.app/alf'
+1 -2
View File
@@ -10,8 +10,7 @@ import {timeout} from '#/lib/async/timeout'
import {feedUriToHref} from '#/lib/strings/url-helpers'
import {getContentLanguages} from '#/state/preferences/languages'
import {type FeedParams} from '#/state/queries/post-feed'
import {FeedTuner} from '../feed-manip'
import {type FeedTunerFn} from '../feed-manip'
import {FeedTuner, type FeedTunerFn} from '../feed-manip'
import {
type FeedAPI,
type FeedAPIResponse,
+2 -3
View File
@@ -2,9 +2,9 @@ import {
type AppBskyFeedDefs,
type AppBskyGraphDefs,
type AtpAgent,
AtUri,
type ComAtprotoRepoStrongRef,
} from '@atproto/api'
import {AtUri} from '@atproto/api'
import {DM_SERVICE_HEADERS, IMAGE_SIZE_CONFIG_2K_1MB} from '#/lib/constants'
import {getLinkMeta, type LinkMeta} from '#/lib/link-meta/link-meta'
@@ -25,8 +25,7 @@ import {
isShortLink,
makeRecordUri,
} from '#/lib/strings/url-helpers'
import {type ComposerImage} from '#/state/gallery'
import {createComposerImage} from '#/state/gallery'
import {type ComposerImage, createComposerImage} from '#/state/gallery'
import {type ChatInvitePreview} from '#/state/queries/join-links'
import {type Gif} from '#/features/gifPicker/types'
import {createGIFDescription} from '../gif-alt-text'
+1 -2
View File
@@ -1,8 +1,7 @@
import {useCallback, useState} from 'react'
import {View} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useQueryClient} from '@tanstack/react-query'
import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
+1 -2
View File
@@ -1,8 +1,7 @@
import {useEffect, useRef, useState} from 'react'
import {ScrollView, View} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useOnboardingDispatch} from '#/state/shell'
import {useOnboardingInternalState} from '#/screens/Onboarding/state'
@@ -1,7 +1,6 @@
import {View} from 'react-native'
import * as Contacts from 'expo-contacts'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useQuery} from '@tanstack/react-query'
import {urls} from '#/lib/constants'
@@ -1,8 +1,7 @@
import {useState} from 'react'
import {View} from 'react-native'
import {type AppBskyGraphDefs, AppBskyGraphStarterpack} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useQueryClient} from '@tanstack/react-query'
import {batchedUpdates} from '#/lib/batchedUpdates'
@@ -5,8 +5,7 @@ import {
AppBskyGraphStarterpack,
moderateProfile,
} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {sanitizeHandle} from '#/lib/strings/handles'
import {useModerationOpts} from '#/state/preferences/moderation-opts'
+1 -2
View File
@@ -3,8 +3,7 @@ import {Modal, ScrollView, View} from 'react-native'
import {SystemBars} from 'react-native-edge-to-edge'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {plural} from '@lingui/core/macro'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {logger} from '#/logger'
import {isSignupQueued, useAgent, useSessionApi} from '#/state/session'
@@ -7,8 +7,7 @@ import {
AtUri,
type ModerationOpts,
} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {JOINED_THIS_WEEK} from '#/lib/constants'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
+1 -2
View File
@@ -3,8 +3,7 @@ import {View} from 'react-native'
import {KeyboardAwareScrollView} from 'react-native-keyboard-controller'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {type ComAtprotoAdminDefs, ToolsOzoneReportDefs} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useMutation} from '@tanstack/react-query'
import {countGraphemes} from 'unicode-segmenter/grapheme'
+1 -2
View File
@@ -2,8 +2,7 @@ import {useMemo} from 'react'
import {Image as RNImage, View} from 'react-native'
import Animated, {FadeIn, FadeOut} from 'react-native-reanimated'
import {Image} from 'expo-image'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useHaptics} from '#/lib/haptics'
import {Logo} from '#/view/icons/Logo'
+4 -2
View File
@@ -20,8 +20,10 @@ import {
import {logger} from '#/logger'
import {type ComposerImage, createInitialImages} from '#/state/gallery'
import {createPostgateRecord} from '#/state/queries/postgate/util'
import {threadgateRecordToAllowUISetting} from '#/state/queries/threadgate'
import {type ThreadgateAllowUISetting} from '#/state/queries/threadgate'
import {
type ThreadgateAllowUISetting,
threadgateRecordToAllowUISetting,
} from '#/state/queries/threadgate'
import {type ComposerOpts} from '#/state/shell/composer'
import {
type LinkFacetMatch,
+1 -2
View File
@@ -5,8 +5,7 @@ import {
AppBskyFeedGetAuthorFeed,
AtUri,
} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useNavigation} from '@react-navigation/native'
import {usePalette} from '#/lib/hooks/usePalette'
+6 -2
View File
@@ -1,6 +1,10 @@
import {isValidElement} from 'react'
import {type StyleProp, type TextStyle, type ViewStyle} from 'react-native'
import {View} from 'react-native'
import {
type StyleProp,
type TextStyle,
View,
type ViewStyle,
} from 'react-native'
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {
+1 -2
View File
@@ -12,8 +12,7 @@ import {
import Svg, {Circle, Path, Rect} from 'react-native-svg'
import {Image as ExpoImage} from 'expo-image'
import {type ModerationUI} from '@atproto/api'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useQueryClient} from '@tanstack/react-query'
import {IMAGE_SIZE_CONFIG_2K_1MB} from '#/lib/constants'
+1 -2
View File
@@ -1,7 +1,6 @@
import {forwardRef, memo} from 'react'
import {type FlatListComponent, View, type ViewProps} from 'react-native'
import Animated from 'react-native-reanimated'
import {type FlatListPropsWithLayout} from 'react-native-reanimated'
import Animated, {type FlatListPropsWithLayout} from 'react-native-reanimated'
// If you explode these into functions, don't forget to forwardRef!
+1 -2
View File
@@ -8,8 +8,7 @@ import {
} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {plural} from '@lingui/core/macro'
import {useLingui} from '@lingui/react/macro'
import {Plural, Trans} from '@lingui/react/macro'
import {Plural, Trans, useLingui} from '@lingui/react/macro'
import {StackActions, useNavigation} from '@react-navigation/native'
import {FEEDBACK_FORM_URL, HELP_DESK_URL} from '#/lib/constants'
+1 -2
View File
@@ -1,7 +1,6 @@
import {memo, useCallback} from 'react'
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
import {useCloseAllActiveElements} from '#/state/util'
+1 -2
View File
@@ -2,8 +2,7 @@ import {useCallback} from 'react'
import {View} from 'react-native'
import Animated from 'react-native-reanimated'
import {plural} from '@lingui/core/macro'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useNavigationState} from '@react-navigation/native'
import {useHideBottomBarBorder} from '#/lib/hooks/useHideBottomBarBorder'
@@ -17,12 +17,12 @@ import {
type TypedNavigator,
useNavigationBuilder,
} from '@react-navigation/native'
import {NativeStackView} from '@react-navigation/native-stack'
import {
type NativeStackNavigationEventMap,
type NativeStackNavigationOptions,
type NativeStackNavigationProp,
type NativeStackNavigatorProps,
NativeStackView,
} from '@react-navigation/native-stack'
import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
+1 -2
View File
@@ -1,7 +1,6 @@
import {useEffect, useState} from 'react'
import {View} from 'react-native'
import {useLingui} from '@lingui/react/macro'
import {Trans} from '@lingui/react/macro'
import {Trans, useLingui} from '@lingui/react/macro'
import {useNavigation} from '@react-navigation/native'
import {FEEDBACK_FORM_URL, HELP_DESK_URL} from '#/lib/constants'