Create codemod for addressing ESLint warnings (#10032)

This commit is contained in:
DS Boyce
2026-03-11 15:51:31 -07:00
committed by GitHub
parent 80429ec902
commit 1db01a09a8
240 changed files with 1560 additions and 1347 deletions
+3 -3
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {useCallback} from 'react'
import {
type AppBskyActorDefs,
moderateProfile,
@@ -47,7 +47,7 @@ export function useActorAutocompleteQuery(
: undefined
return res?.data.actors || []
},
select: React.useCallback(
select: useCallback(
(data: AppBskyActorDefs.ProfileViewBasic[]) => {
return computeSuggestions({
q: prefix,
@@ -67,7 +67,7 @@ export function useActorAutocompleteFn() {
const moderationOpts = useModerationOpts()
const agent = useAgent()
return React.useCallback(
return useCallback(
async ({query, limit = 8}: {query: string; limit?: number}) => {
query = query.toLowerCase()
let res
+3 -3
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {useCallback} from 'react'
import {useMutation, useQueryClient} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
@@ -16,7 +16,7 @@ export function useFetchHandle() {
const queryClient = useQueryClient()
const agent = useAgent()
return React.useCallback(
return useCallback(
async (handleOrDid: string) => {
if (handleOrDid.startsWith('did:')) {
const res = await queryClient.fetchQuery({
@@ -55,7 +55,7 @@ export function useFetchDid() {
const queryClient = useQueryClient()
const agent = useAgent()
return React.useCallback(
return useCallback(
async (handleOrDid: string) => {
return queryClient.fetchQuery({
staleTime: STALE.INFINITY,
+19 -12
View File
@@ -2,7 +2,14 @@
* A kind of companion API to ./feed.ts. See that file for more info.
*/
import React, {useRef} from 'react'
import {
createContext,
useContext,
useEffect,
useMemo,
useRef,
useState,
} from 'react'
import {AppState} from 'react-native'
import {useQueryClient} from '@tanstack/react-query'
import EventEmitter from 'eventemitter3'
@@ -33,10 +40,10 @@ interface ApiContext {
getCachedUnreadPage: () => FeedPage | undefined
}
const stateContext = React.createContext<StateContext>('')
const stateContext = createContext<StateContext>('')
stateContext.displayName = 'NotificationsUnreadStateContext'
const apiContext = React.createContext<ApiContext>({
const apiContext = createContext<ApiContext>({
async markAllRead() {},
async checkUnread() {},
getCachedUnreadPage: () => undefined,
@@ -49,17 +56,17 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
const queryClient = useQueryClient()
const moderationOpts = useModerationOpts()
const [numUnread, setNumUnread] = React.useState('')
const [numUnread, setNumUnread] = useState('')
const checkUnreadRef = React.useRef<ApiContext['checkUnread'] | null>(null)
const cacheRef = React.useRef<CachedFeedPage>({
const checkUnreadRef = useRef<ApiContext['checkUnread'] | null>(null)
const cacheRef = useRef<CachedFeedPage>({
usableInFeed: false,
syncedAt: new Date(),
data: undefined,
unreadCount: 0,
})
React.useEffect(() => {
useEffect(() => {
function markAsUnusable() {
if (cacheRef.current) {
cacheRef.current.usableInFeed = false
@@ -72,7 +79,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}, [])
// periodic sync
React.useEffect(() => {
useEffect(() => {
if (!hasSession || !checkUnreadRef.current) {
return
}
@@ -85,7 +92,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}, [hasSession])
// listen for broadcasts
React.useEffect(() => {
useEffect(() => {
const listener = ({data}: MessageEvent) => {
cacheRef.current = {
usableInFeed: false,
@@ -109,7 +116,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
const isFetchingRef = useRef(false)
// create API
const api = React.useMemo<ApiContext>(() => {
const api = useMemo<ApiContext>(() => {
return {
async markAllRead() {
// update server
@@ -211,11 +218,11 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}
export function useUnreadNotifications() {
return React.useContext(stateContext)
return useContext(stateContext)
}
export function useUnreadNotificationsApi() {
return React.useContext(apiContext)
return useContext(apiContext)
}
function countUnread(page: FeedPage) {
+2 -2
View File
@@ -1,4 +1,4 @@
import React, {useCallback, useEffect, useRef} from 'react'
import {useCallback, useEffect, useMemo, useRef} from 'react'
import {AppState} from 'react-native'
import {
type AppBskyActorDefs,
@@ -164,7 +164,7 @@ export function usePostFeedQuery(
const fetchLimit = MIN_POSTS
// Make sure this doesn't invalidate unless really needed.
const selectArgs = React.useMemo(
const selectArgs = useMemo(
() => ({
feedTuners,
moderationOpts,
+2 -2
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {useRef} from 'react'
import {
AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
@@ -174,7 +174,7 @@ export function useToggleQuoteDetachmentMutation() {
const agent = useAgent()
const queryClient = useQueryClient()
const getPosts = useGetPosts()
const prevEmbed = React.useRef<AppBskyFeedDefs.PostView['embed']>(undefined)
const prevEmbed = useRef<AppBskyFeedDefs.PostView['embed']>(undefined)
return useMutation({
mutationFn: async ({
+3 -3
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {useMemo} from 'react'
import {
BskyAgent,
DEFAULT_LABEL_SETTINGS,
@@ -36,7 +36,7 @@ export function useMyLabelersQuery({
const labelers = useLabelersDetailedInfoQuery({dids})
const isLoading = prefs.isLoading || labelers.isLoading
const error = prefs.error || labelers.error
return React.useMemo(() => {
return useMemo(() => {
return {
isLoading,
error,
@@ -48,7 +48,7 @@ export function useMyLabelersQuery({
export function useLabelDefinitionsQuery() {
const labelers = useMyLabelersQuery()
return React.useMemo(() => {
return useMemo(() => {
return {
labelDefs: Object.fromEntries(
(labelers.data || []).map(labeler => [
+4 -4
View File
@@ -1,4 +1,4 @@
import React from 'react'
import {useCallback, useMemo, useRef} from 'react'
import {
type AppBskyActorDefs,
type AppBskyFeedDefs,
@@ -39,14 +39,14 @@ export function useSearchPostsQuery({
}) {
const agent = useAgent()
const moderationOpts = useModerationOpts()
const selectArgs = React.useMemo(
const selectArgs = useMemo(
() => ({
isSearchingSpecificUser: /from:(\w+)/.test(query),
moderationOpts,
}),
[query, moderationOpts],
)
const lastRun = React.useRef<{
const lastRun = useRef<{
data: InfiniteData<AppBskyFeedSearchPosts.OutputSchema>
args: typeof selectArgs
result: InfiniteData<AppBskyFeedSearchPosts.OutputSchema>
@@ -72,7 +72,7 @@ export function useSearchPostsQuery({
initialPageParam: undefined,
getNextPageParam: lastPage => lastPage.cursor,
enabled: enabled ?? !!moderationOpts,
select: React.useCallback(
select: useCallback(
(data: InfiniteData<AppBskyFeedSearchPosts.OutputSchema>) => {
const {moderationOpts, isSearchingSpecificUser} = selectArgs
@@ -1,4 +1,4 @@
import React from 'react'
import {useCallback, useMemo} from 'react'
import {type AppBskyUnspeccedGetTrends, hasMutedWord} from '@atproto/api'
import {useQuery} from '@tanstack/react-query'
@@ -18,7 +18,7 @@ export const createGetTrendsQueryKey = () => ['trends']
export function useGetTrendsQuery() {
const agent = useAgent()
const {data: preferences} = usePreferencesQuery()
const mutedWords = React.useMemo(() => {
const mutedWords = useMemo(() => {
return preferences?.moderationPrefs?.mutedWords || []
}, [preferences?.moderationPrefs])
@@ -41,7 +41,7 @@ export function useGetTrendsQuery() {
)
return data
},
select: React.useCallback(
select: useCallback(
(data: AppBskyUnspeccedGetTrends.OutputSchema) => {
return {
trends: (data.trends ?? []).filter(t => {