Add no-extraneous-dependencies and no-nodejs-modules eslint rules (#10151)

This commit is contained in:
Samuel Newman
2026-04-02 08:34:12 -07:00
committed by GitHub
parent eb566c5fcc
commit 68a4d73d61
25 changed files with 66 additions and 72 deletions
@@ -1,6 +1,6 @@
import {useState} from 'react'
import {View} from 'react-native'
import {XRPCError} from '@atproto/xrpc'
import {XRPCError} from '@atproto/api'
import {msg} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
import {Trans} from '@lingui/react/macro'
+1 -1
View File
@@ -1,5 +1,5 @@
import {useEffect} from 'react'
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
const events = new EventEmitter<{
emailVerified: void
@@ -1,7 +1,7 @@
import {useCallback, useMemo, useState} from 'react'
import {View} from 'react-native'
import {type ComAtprotoLabelDefs, ToolsOzoneReportDefs} from '@atproto/api'
import {XRPCError} from '@atproto/xrpc'
import {XRPCError} from '@atproto/api'
import {msg} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
import {Trans} from '@lingui/react/macro'
+1 -1
View File
@@ -1,5 +1,5 @@
import {useEffect, useState} from 'react'
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
import {networkRetry} from '#/lib/async/retry'
import {
+1 -1
View File
@@ -1,5 +1,5 @@
import {useMemo} from 'react'
import {useNavigation} from '@react-navigation/core'
import {useNavigation} from '@react-navigation/native'
import {useDedupe} from '#/lib/hooks/useDedupe'
import {type NavigationProp} from '#/lib/routes/types'
+1 -1
View File
@@ -1,5 +1,5 @@
import {useEffect, useMemo, useState} from 'react'
import {type EventArg, useNavigation} from '@react-navigation/core'
import {type EventArg, useNavigation} from '@react-navigation/native'
if ('scrollRestoration' in history) {
// Tell the brower not to mess with the scroll.
+6 -2
View File
@@ -15,7 +15,6 @@ import {
import {manipulateAsync, SaveFormat} from 'expo-image-manipulator'
import * as MediaLibrary from 'expo-media-library'
import * as Sharing from 'expo-sharing'
import {Buffer} from 'buffer'
import {POST_IMG_MAX} from '#/lib/constants'
import {logger} from '#/logger'
@@ -322,7 +321,12 @@ export async function saveBytesToDisk(
bytes: Uint8Array,
type: string,
) {
const encoded = Buffer.from(bytes).toString('base64')
// ideally we'd use `bytes.toBase64()`, but that's only baseline newly available
let binary = ''
for (const byte of bytes) {
binary += String.fromCharCode(byte)
}
const encoded = btoa(binary)
return await saveToDevice(filename, encoded, type)
}
+1 -1
View File
@@ -1,4 +1,4 @@
import {XRPCError} from '@atproto/xrpc'
import {XRPCError} from '@atproto/api'
import {t} from '@lingui/core/macro'
export function cleanError(str: any): string {
+1 -1
View File
@@ -5,7 +5,7 @@ import {
type AppBskyFeedDefs,
} from '@atproto/api'
import {type QueryClient} from '@tanstack/react-query'
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
import {batchedUpdates} from '#/lib/batchedUpdates'
import {findAllPostsInQueryData as findAllPostsInBookmarksQueryData} from '#/state/queries/bookmarks/useBookmarksQuery'
+1 -1
View File
@@ -1,7 +1,7 @@
import {useEffect, useMemo, useState} from 'react'
import {type AppBskyActorDefs, type AppBskyNotificationDefs} from '@atproto/api'
import {type QueryClient} from '@tanstack/react-query'
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
import {batchedUpdates} from '#/lib/batchedUpdates'
import {findAllProfilesInQueryData as findAllProfilesInActivitySubscriptionsQueryData} from '#/state/queries/activity-subscriptions'
+1 -1
View File
@@ -1,4 +1,4 @@
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
type UnlistenFn = () => void
+1 -1
View File
@@ -7,7 +7,7 @@ import {
type GestureUpdateEvent,
type PanGestureHandlerEventPayload,
} from 'react-native-gesture-handler'
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
export type GlobalGestureEvents = {
begin: GestureStateChangeEvent<PanGestureHandlerEventPayload>
+2 -2
View File
@@ -5,8 +5,8 @@ import {
type ChatBskyConvoGetLog,
type ChatBskyConvoSendMessage,
} from '@atproto/api'
import {XRPCError} from '@atproto/xrpc'
import EventEmitter from 'eventemitter3'
import {XRPCError} from '@atproto/api'
import {EventEmitter} from 'eventemitter3'
import {nanoid} from 'nanoid/non-secure'
import {networkRetry} from '#/lib/async/retry'
+1 -1
View File
@@ -1,5 +1,5 @@
import {type BskyAgent, type ChatBskyConvoGetLog} from '@atproto/api'
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
import {nanoid} from 'nanoid/non-secure'
import {networkRetry} from '#/lib/async/retry'
+1 -1
View File
@@ -1,4 +1,4 @@
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
import BroadcastChannel from '#/lib/broadcast'
import {logger} from '#/logger'
+1 -1
View File
@@ -12,7 +12,7 @@ import {
} from 'react'
import {AppState} from 'react-native'
import {useQueryClient} from '@tanstack/react-query'
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
import BroadcastChannel from '#/lib/broadcast'
import {resetBadgeCount} from '#/lib/notifications/notifications'
@@ -1,3 +1,3 @@
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
export const textInputWebEmitter = new EventEmitter()
+1 -1
View File
@@ -7,7 +7,7 @@ import {
withSpring,
} from 'react-native-reanimated'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import EventEmitter from 'eventemitter3'
import {EventEmitter} from 'eventemitter3'
import {ScrollProvider} from '#/lib/ScrollContext'
import {useMinimalShellMode} from '#/state/shell'
+1 -1
View File
@@ -3,7 +3,7 @@ import {View} from 'react-native'
import {msg} from '@lingui/core/macro'
import {useLingui} from '@lingui/react'
import {Trans} from '@lingui/react/macro'
import {useNavigation} from '@react-navigation/core'
import {useNavigation} from '@react-navigation/native'
import {FEEDBACK_FORM_URL, HELP_DESK_URL} from '#/lib/constants'
import {useKawaiiMode} from '#/state/preferences/kawaii'
+1 -1
View File
@@ -36,7 +36,7 @@ import {NoAccessScreen} from '#/ageAssurance/components/NoAccessScreen'
import {RedirectOverlay} from '#/ageAssurance/components/RedirectOverlay'
import {PassiveAnalytics} from '#/analytics/PassiveAnalytics'
import {FlatNavigator, RoutesContainer} from '#/Navigation'
import {Composer} from './Composer.web'
import {Composer} from './Composer'
import {DrawerContent} from './Drawer'
function ShellInner() {