mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 00:02:31 +00:00
chore: enable React correctness lints (#17285)
* chore: enable React correctness lints * chore: enable additional safe lint rules
This commit is contained in:
+7
-5
@@ -40,18 +40,18 @@
|
||||
"react/no-string-refs": "error",
|
||||
"react/no-unescaped-entities": "error",
|
||||
"react/require-render-return": "error",
|
||||
"react/error-boundaries": "off",
|
||||
"react/globals": "off",
|
||||
"react/error-boundaries": "error",
|
||||
"react/globals": "error",
|
||||
"react/immutability": "off",
|
||||
"react/incompatible-library": "off",
|
||||
"react/preserve-manual-memoization": "off",
|
||||
"react/purity": "off",
|
||||
"react/refs": "off",
|
||||
"react/set-state-in-effect": "off",
|
||||
"react/set-state-in-render": "off",
|
||||
"react/set-state-in-render": "error",
|
||||
"react/static-components": "off",
|
||||
"react/use-memo": "off",
|
||||
"react/void-use-memo": "off",
|
||||
"react/use-memo": "error",
|
||||
"react/void-use-memo": "error",
|
||||
"react/jsx-curly-brace-presence": [
|
||||
"error",
|
||||
{ "props": "never", "children": "never", "propElementValues": "always" }
|
||||
@@ -74,6 +74,7 @@
|
||||
"typescript/consistent-type-definitions": ["error", "type"],
|
||||
"typescript/consistent-type-imports": "error",
|
||||
"typescript/no-explicit-any": ["error", { "ignoreRestArgs": true }],
|
||||
"typescript/no-confusing-non-null-assertion": "error",
|
||||
"typescript/no-import-type-side-effects": "error",
|
||||
"typescript/no-unnecessary-boolean-literal-compare": "error",
|
||||
"typescript/no-unnecessary-template-expression": "error",
|
||||
@@ -143,6 +144,7 @@
|
||||
{
|
||||
"files": ["**/*.test.*", "**/*.spec.*", "**/*-benchmark.*"],
|
||||
"rules": {
|
||||
"react/globals": "off",
|
||||
"quadratic-buffer-concat/no-loop-carried-concat": "off",
|
||||
"renderer-scrollbar-style/require-styled-vertical-scrollbar": "off"
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ describe('useMobileDictation source invariants', () => {
|
||||
/import \{[^}]*createMobileDictationKeepAwakeOwner[^}]*\} from '\.\/mobile-dictation-keep-awake'/
|
||||
)
|
||||
expect(source).toContain(
|
||||
'const keepAwakeOwner = useMemo(createMobileDictationKeepAwakeOwner, [])'
|
||||
'const keepAwakeOwner = useMemo(() => createMobileDictationKeepAwakeOwner(), [])'
|
||||
)
|
||||
expect(keepAwakeSource).toContain('activateKeepAwakeAsync')
|
||||
expect(keepAwakeSource).toContain('deactivateKeepAwake')
|
||||
|
||||
@@ -26,7 +26,7 @@ export type { UseMobileDictationResult } from './mobile-dictation-session-state'
|
||||
|
||||
export function useMobileDictation(options: UseMobileDictationOptions): UseMobileDictationResult {
|
||||
const { client, enabled, onTranscript, onError } = options
|
||||
const keepAwakeOwner = useMemo(createMobileDictationKeepAwakeOwner, [])
|
||||
const keepAwakeOwner = useMemo(() => createMobileDictationKeepAwakeOwner(), [])
|
||||
const [status, setStatus] = useState<DictationStatus>('idle')
|
||||
const [error, setError] = useState<string | null>(null)
|
||||
const activeIdRef = useRef<string | null>(null)
|
||||
|
||||
@@ -16,6 +16,10 @@ type PairedMobileDevicesSnapshot = {
|
||||
error: boolean
|
||||
}
|
||||
|
||||
type RefreshPairedMobileDevicesOptions = {
|
||||
force?: boolean
|
||||
}
|
||||
|
||||
const EMPTY_SNAPSHOT: PairedMobileDevicesSnapshot = {
|
||||
devices: [],
|
||||
loaded: false,
|
||||
@@ -80,9 +84,7 @@ export function replacePairedMobileDevices(devices: readonly PairedMobileDevice[
|
||||
|
||||
export function refreshPairedMobileDevices({
|
||||
force = false
|
||||
}: {
|
||||
force?: boolean
|
||||
} = {}): Promise<readonly PairedMobileDevice[]> {
|
||||
}: RefreshPairedMobileDevicesOptions = {}): Promise<readonly PairedMobileDevice[]> {
|
||||
if (activeRequest && !force) {
|
||||
return activeRequest.promise
|
||||
}
|
||||
@@ -173,7 +175,10 @@ export function usePairedMobileDevices({
|
||||
refresh: typeof refreshPairedMobileDevices
|
||||
} {
|
||||
const currentSnapshot = useSyncExternalStore(subscribe, getSnapshot, getSnapshot)
|
||||
const refresh = useCallback(refreshPairedMobileDevices, [])
|
||||
const refresh = useCallback(
|
||||
(options?: RefreshPairedMobileDevicesOptions) => refreshPairedMobileDevices(options),
|
||||
[]
|
||||
)
|
||||
|
||||
useEffect(() => {
|
||||
if (!enabled || !refreshOnMount || currentSnapshot.loaded || currentSnapshot.loading) {
|
||||
|
||||
Reference in New Issue
Block a user