Upgrade @types/react to 19 and run codemod (attempt 2) (#8918)

* update dependencies

* rm `import type React from 'react'`

* run codemods

* patch discord types

* update types/react-dom

* Update yarn.lock
This commit is contained in:
Samuel Newman
2025-09-09 18:09:10 +03:00
committed by GitHub
parent d496a22352
commit 3e2c181c40
73 changed files with 157 additions and 143 deletions
-1
View File
@@ -1,5 +1,4 @@
import {View, type ViewStyle} from 'react-native'
import type React from 'react'
/**
* This utility function captures events and stops
+1 -1
View File
@@ -1,4 +1,4 @@
import {memo, useCallback, useMemo} from 'react'
import {type JSX, memo, useCallback, useMemo} from 'react'
import {
type GestureResponderEvent,
Platform,
+1 -1
View File
@@ -57,7 +57,7 @@ let List = React.forwardRef<ListMethods, ListProps>(
...props
},
ref,
): React.ReactElement => {
): React.ReactElement<any> => {
const isScrolledDown = useSharedValue(false)
const t = useTheme()
const dedupe = useDedupe(400)
+13 -6
View File
@@ -1,4 +1,10 @@
import React, {isValidElement, memo, startTransition, useRef} from 'react'
import React, {
isValidElement,
type JSX,
memo,
startTransition,
useRef,
} from 'react'
import {
type FlatListProps,
StyleSheet,
@@ -202,6 +208,7 @@ function ListImpl<ItemT>(
behavior: animated ? 'smooth' : 'instant',
})
},
scrollToEnd({animated = true}: {animated?: boolean}) {
const element = getScrollableNode()
element?.scrollTo({
@@ -382,10 +389,10 @@ function EdgeVisibility({
containerRef,
onVisibleChange,
}: {
root?: React.RefObject<HTMLDivElement> | null
root?: React.RefObject<HTMLDivElement | null> | null
topMargin?: string
bottomMargin?: string
containerRef: React.RefObject<Element>
containerRef: React.RefObject<Element | null>
onVisibleChange: (isVisible: boolean) => void
}) {
const [containerHeight, setContainerHeight] = React.useState(0)
@@ -404,7 +411,7 @@ function EdgeVisibility({
}
function useResizeObserver(
ref: React.RefObject<Element>,
ref: React.RefObject<Element | null>,
onResize: undefined | ((w: number, h: number) => void),
) {
const handleResize = useNonReactiveCallback(onResize ?? (() => {}))
@@ -509,7 +516,7 @@ let Visibility = ({
onVisibleChange,
style,
}: {
root?: React.RefObject<HTMLDivElement> | null
root?: React.RefObject<HTMLDivElement | null> | null
topMargin?: string
bottomMargin?: string
onVisibleChange: (isVisible: boolean) => void
@@ -551,7 +558,7 @@ Visibility = React.memo(Visibility)
export const List = memo(React.forwardRef(ListImpl)) as <ItemT>(
props: ListProps<ItemT> & {ref?: React.Ref<ListMethods>},
) => React.ReactElement
) => React.ReactElement<any>
// https://stackoverflow.com/questions/7944460/detect-safari-browser
-1
View File
@@ -4,7 +4,6 @@ import {type AppBskyActorDefs, type ModerationDecision} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useQueryClient} from '@tanstack/react-query'
import type React from 'react'
import {useActorStatus} from '#/lib/actor-status'
import {makeProfileLink} from '#/lib/routes/links'
+2 -2
View File
@@ -1,5 +1,5 @@
import React from 'react'
import {I18n} from '@lingui/core'
import React, {type JSX} from 'react'
import {type I18n} from '@lingui/core'
import {useLingui} from '@lingui/react'
import {useGetTimeAgo} from '#/lib/hooks/useTimeAgo'
+2
View File
@@ -1,3 +1,5 @@
import {type JSX} from 'react'
import {Header} from '#/components/Layout'
/**
+4 -4
View File
@@ -1,7 +1,7 @@
import React, {useEffect, useState} from 'react'
import React, {type JSX, useEffect, useState} from 'react'
import {
NativeScrollEvent,
NativeSyntheticEvent,
type NativeScrollEvent,
type NativeSyntheticEvent,
Pressable,
RefreshControl,
ScrollView,
@@ -36,7 +36,7 @@ export const ViewSelector = React.forwardRef<
renderItem: (item: any) => JSX.Element
ListFooterComponent?:
| React.ComponentType<any>
| React.ReactElement
| React.ReactElement<any>
| null
| undefined
onSelectView?: (viewIndex: number) => void
+2 -2
View File
@@ -1,5 +1,5 @@
import {ComponentProps} from 'react'
import {StyleSheet, TouchableWithoutFeedback} from 'react-native'
import {type ComponentProps, type JSX} from 'react'
import {StyleSheet, type TouchableWithoutFeedback} from 'react-native'
import Animated from 'react-native-reanimated'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {LinearGradient} from 'expo-linear-gradient'
@@ -161,7 +161,7 @@ function DropdownContent({
menuRef,
}: {
items: DropdownItem[]
menuRef: React.RefObject<HTMLDivElement>
menuRef: React.RefObject<HTMLDivElement | null>
}) {
const pal = usePalette('default')
const theme = useTheme()
-1
View File
@@ -4,7 +4,6 @@ import {Image, type ImageStyle} from 'expo-image'
import {type AppBskyEmbedImages} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import type React from 'react'
import {type Dimensions} from '#/lib/media/types'
import {useLargeAltBadgeEnabled} from '#/state/preferences/large-alt-badge'