Open arnorhs opened 2 months ago
CLI: Version: 1.8.3 Color support: true Platform: CPU Architecture: x86_64 OS: macos Environment: BIOME_LOG_DIR: unset NO_COLOR: unset TERM: "xterm-256color" JS_RUNTIME_VERSION: "v18.20.2" JS_RUNTIME_NAME: "node" NODE_PACKAGE_MANAGER: unset Biome Configuration: Status: Loaded successfully Formatter disabled: true Linter disabled: false Organize imports disabled: true VCS disabled: true Linter: JavaScript enabled: true JSON enabled: true CSS enabled: false Recommended: true All: false Enabled rules: performance/noDelete suspicious/noCatchAssign suspicious/noUnsafeNegation complexity/noMultipleSpacesInRegularExpressionLiterals a11y/useValidLang complexity/noUselessEmptyExport suspicious/useNamespaceKeyword suspicious/useValidTypeof a11y/useValidAriaRole correctness/noConstantCondition a11y/useAriaActivedescendantWithTabindex suspicious/noDuplicateParameters style/useDefaultParameterLast complexity/noEmptyTypeParameters correctness/noConstructorReturn style/useSelfClosingElements correctness/noUnusedLabels correctness/noUnreachableSuper suspicious/noCompareNegZero correctness/noUnsafeOptionalChaining correctness/noConstAssign suspicious/noControlCharactersInRegex suspicious/noRedundantUseStrict suspicious/noDoubleEquals style/useLiteralEnumMembers suspicious/noEmptyInterface suspicious/noConstEnum suspicious/noMisleadingCharacterClass correctness/noPrecisionLoss correctness/noStringCaseMismatch correctness/noSetterReturn correctness/noInvalidConstructorSuper suspicious/noDuplicateObjectKeys suspicious/noUnsafeDeclarationMerging correctness/noUnreachable suspicious/noFallthroughSwitchClause complexity/noUselessThisAlias complexity/noThisInStatic suspicious/noDuplicateCase complexity/useRegexLiterals correctness/noSelfAssign style/useShorthandFunctionType a11y/useMediaCaption complexity/noUselessLabel complexity/noUselessCatch correctness/noUnsafeFinally a11y/useAriaPropsForRole correctness/noNonoctalDecimalEscape style/useEnumInitializers a11y/useHtmlLang suspicious/noDuplicateTestHooks complexity/noStaticOnlyClass style/useWhile suspicious/noImportAssign style/useNumericLiterals a11y/noNoninteractiveTabindex complexity/useSimpleNumberKeys correctness/useYield a11y/noInteractiveElementToNoninteractiveRole suspicious/noLabelVar correctness/noUnnecessaryContinue suspicious/noApproximativeNumericConstant suspicious/useDefaultSwitchClauseLast correctness/noGlobalObjectCalls a11y/useAltText correctness/noEmptyCharacterClassInRegex suspicious/noSuspiciousSemicolonInJsx suspicious/noSparseArray a11y/useIframeTitle correctness/noVoidElementsWithChildren style/useAsConstAssertion suspicious/noDebugger style/useExportType complexity/noUselessLoneBlockStatements style/noArguments a11y/useValidAriaValues suspicious/noGlobalAssign suspicious/noCommentText suspicious/noMisleadingInstantiator suspicious/noThenProperty suspicious/useGetterReturn suspicious/noDuplicateJsxProps a11y/noPositiveTabindex correctness/noEmptyPattern complexity/noExcessiveNestedTestSuites suspicious/noExtraNonNullAssertion a11y/useKeyWithMouseEvents correctness/noRenderReturnValue correctness/useExhaustiveDependencies security/noGlobalEval a11y/noRedundantRoles suspicious/noSelfCompare correctness/useIsNan suspicious/noGlobalIsFinite suspicious/noAsyncPromiseExecutor style/useNodejsImportProtocol a11y/noDistractingElements complexity/noWith suspicious/noDuplicateClassMembers complexity/noExtraBooleanCast performance/noAccumulatingSpread a11y/useValidAriaProps suspicious/noConfusingLabels suspicious/noConfusingVoidType suspicious/noFocusedTests a11y/noAriaUnsupportedElements correctness/noFlatMapIdentity a11y/useHeadingContent correctness/useValidForDirection correctness/noVoidTypeReturn correctness/noInvalidUseBeforeDeclaration a11y/noAriaHiddenOnFocusable a11y/useAnchorContent correctness/noInvalidNewBuiltin complexity/noUselessConstructor a11y/noAccessKey style/useExponentiationOperator complexity/noUselessSwitchCase style/useSingleVarDeclarator a11y/noNoninteractiveElementToInteractiveRole style/noCommaOperator suspicious/useIsArray a11y/noHeaderScope suspicious/noMisrefactoredShorthandAssign suspicious/noClassAssign suspicious/noFunctionAssign Workspace: Open Documents: 0
lint/correctness/useExhaustiveDependencies
https://biomejs.dev/playground/?indentStyle=space"eStyle=single&jsxQuoteStyle=single&semicolons=as-needed&lintRules=all&code=aQBtAHAAbwByAHQAIAB7ACAAdQBzAGUATQBlAG0AbwAgAH0AIABmAHIAbwBtACAAJwByAGUAYQBjAHQAJwAKAAoALwAqACAAYwBvAG4AdABlAHgAdAA6AAoACgBTAG8AIAB0AGgAaQBzACAAbABpAG4AdAAgAHIAdQBsAGUAIABzAGUAZQBtAHMAIAB0AG8AIAB3AG8AcgBrACAAYwBvAHIAcgBlAGMAdABsAHkAIABmAG8AcgAgAG0AbwBzAHQAIABjAGEAcwBlAHMALAAgAGkAbgBjAGwAdQBkAGkAbgBnAAoAbwBwAHQAaQBvAG4AYQBsACAAYwBoAGEAaQBuAGUAZAAgAHYAYQBsAHUAZQBzACwAIABhAG4AZAAgAG4AdQBsAGwAIABjAG8AYQBsAGUAcwBjAGkAbgBnACAAZgBhAGwAbABiAGEAYwBrACAAdgBhAGwAdQBlAHMAIABlAHQAYwAKAGIAdQB0ACAAaQB0ACAAZABvAGUAcwAgAG4AbwB0ACAAdwBvAHIAawAgAHcAaABlAG4AIAB5AG8AdQAgAGgAYQB2AGUAIABhACAAbwBwAGUAcgBhAHQAbwByACAAYgBhAHMAZQBkAAoAbgBvAG4ALQBuAHUAbABsAC0AYQBzAHMAZQByAHQAaQBvAG4AIABjAGgAZQBjAGsAaQBuAGcAIAB0AGgAZQAgAG8AYgBqAGUAYwB0AC4ACgAKAHQAaABlACAAZgBpAHIAcwB0ACAAZgB1AG4AYwB0AGkAbwBuACAAaABlAHIAZQAgAGkAbgBkAGkAYwBhAHQAZQBzACAAaQB0ACAALQAgAGkAdAAgAHMAYQB5AHMAIAB0AGgAYQB0ACAAaQB0ACAAYgBvAHQAaAAgAGgAYQBzACAAYQAKAG0AaQBzAHMAaQBuAGcAIABkAGUAcABlAG4AZABlAG4AYwB5ACAAbwBmACAAdABoAGUAIABvAGIAagBlAGMAdAAgAGkAdABzAGUAbABmACAAYQBuAGQAIABhAGwAcwBvACAAcwBwAGUAYwBpAGYAeQBpAG4AZwAgAHQAbwBvAAoAbQBhAHkAIABkAGUAcABlAG4AZABlAG4AYwBpAGUAcwAuAAoACgB0AGgAZQAgAHQAaABlAHIAZQAgAGEAcgBlACAAYQAgAGMAbwB1AHAAbABlACAAbwBmACAAbwB0AGgAZQByACAAdgBhAHIAaQBhAHQAaQBvAG4AcwAgAHcAaABlAHIAZQAgAHkAbwB1ACAAYwBhAG4AIAB3AG8AcgBrAAoAYQByAG8AdQBuAGQAIAB0AGgAZQAgAGkAcwBzAHUAZQAgAHcAaABpAGMAaAAgAHMAZQBlAG0AIAB0AG8AIAB3AG8AcgBrACAAZgBpAG4AZQAuAAoACgBJACAAdwBvAHUAbABkACAAZQB4AHAAZQBjAHQAIAB0AGgAZQAgAGYAaQByAHMAdAAgAGMAYQBzAGUAIAB0AG8AIABhAGwAcwBvACAAYgBlACAAdABoAGUAIABzAGEAbQBlACwAIABzAGkAbgBjAGUAIAB0AGgAZQAKAHIAdQBuAHQAaQBtAGUAIABlAHYAYQBsAHUAYQB0AGkAbwBuACAAbwBmACAAaQB0ACAAcgBlAHMAdQBsAHQAcwAgAGkAbgAgAHQAaABlACAAcwBhAG0AZQAgAHQAaABpAG4AZwAuAAoACgAqAC8ACgAKAGUAeABwAG8AcgB0ACAAZgB1AG4AYwB0AGkAbwBuACAAdQBzAGUAVwBpAHQAaABOAG8AbgBOAHUAbABsAEEAcwBzAGUAcgB0AGkAbwBuAE8AcABlAHIAYQB0AG8AcgAoACkAIAB7AAoAIAAgAGMAbwBuAHMAdAAgAG0AeQBPAGIAagAgAD0AIAB1AHMAZQBNAHkATwBiAGoAKAApAAoAIAAgAAoAIAAgAC8ALwAgAGIAaQBvAG0AZQAtAGkAZwBuAG8AcgBlACAAbABpAG4AdAAvAHMAdAB5AGwAZQAvAG4AbwBOAG8AbgBOAHUAbABsAEEAcwBzAGUAcgB0AGkAbwBuADoAIABhAGwAbABvAHcAIABoAGUAcgBlAAoAIAAgAHUAcwBlAE0AZQBtAG8AKAAoACkAIAA9AD4AIABtAHkATwBiAGoAIQAuAHgAIAA9AD0APQAgAHQAcgB1AGUALAAgAFsAbQB5AE8AYgBqACEALgB4AF0AKQAKAH0ACgAKAC8ALwAgAGEAbgBvAHQAaABlAHIAIAB3AG8AcgBrAGEAcgBvAHUAbgBkAAoAZQB4AHAAbwByAHQAIABmAHUAbgBjAHQAaQBvAG4AIAB1AHMAZQBQAHIAaQBtAGUAZABWAGEAcgBpAGEAYgBsAGUAKAApACAAewAKACAAIABjAG8AbgBzAHQAIABtAHkATwBiAGoAIAA9ACAAdQBzAGUATQB5AE8AYgBqACgAKQAKAAoAIAAgAC8ALwAgAGIAaQBvAG0AZQAtAGkAZwBuAG8AcgBlACAAbABpAG4AdAAvAHMAdAB5AGwAZQAvAG4AbwBOAG8AbgBOAHUAbABsAEEAcwBzAGUAcgB0AGkAbwBuADoAIABhAGwAbABvAHcAIABoAGUAcgBlAAoAIAAgAGMAbwBuAHMAdAAgAHgAIAA9ACAAbQB5AE8AYgBqACEALgB4AAoAIAAgAAoAIAAgAHUAcwBlAE0AZQBtAG8AKAAoACkAIAA9AD4AIAB4ACAAPQA9AD0AIAB0AHIAdQBlACwAIABbAHgAXQApAAoAfQAKAAoALwAvACAAYQBuAG8AdABoAGUAcgAgAHcAbwByAGsAYQByAG8AdQBuAGQACgBlAHgAcABvAHIAdAAgAGYAdQBuAGMAdABpAG8AbgAgAHUAcwBlAFcAaQB0AGgAQwBsAGEAcwBzAGkAYwBBAHMAcwBlAHIAdABpAG8AbgAoACkAIAB7AAoAIAAgAGMAbwBuAHMAdAAgAG0AeQBPAGIAagAgAD0AIAB1AHMAZQBNAHkATwBiAGoAKAApAAoACgAgACAAYQBzAHMAZQByAHQAKABtAHkATwBiAGoAKQAKACAAIAAKACAAIAB1AHMAZQBNAGUAbQBvACgAKAApACAAPQA%2BACAAbQB5AE8AYgBqAC4AeAAgAD0APQA9ACAAdAByAHUAZQAsACAAWwBtAHkATwBiAGoALgB4AF0AKQAKAH0ACgAKAC8ALwAgAC0ALQAtAC0ALQAgAHkAbwB1ACAAYwBhAG4AIABpAGcAbgBvAHIAZQAgAHQAaABlACAAcgBlAHMAdAAgAG8AZgAgAHQAaABpAHMAIAAtAC0ALQAtAC0ALQAtAC0ALQAtAAoACgBmAHUAbgBjAHQAaQBvAG4AIABhAHMAcwBlAHIAdAAoAHgAOgAgAHUAbgBrAG4AbwB3AG4AKQA6ACAAYQBzAHMAZQByAHQAcwAgAHgAIAB7AAoAIAAgAGkAZgAgACgAIQB4ACkAIAB7AAoAIAAgACAAIAB0AGgAcgBvAHcAIABuAGUAdwAgAEUAcgByAG8AcgAoACkACgAgACAAfQAKAH0ACgAKAGYAdQBuAGMAdABpAG8AbgAgAHUAcwBlAE0AeQBPAGIAagAoACkAIAB7AAoAIAAgAC8ALwAgAHQAeQBwAGUAIABzAGEAeQBzACAAaQB0ACAAYwBhAG4AIABiAGUAIABuAHUAbABsACwAIABiAHUAdAAgAG8AYgBqAGUAYwB0ACAAaQBzACAAcwB0AGkAbABsACAAZABlAGYAaQBuAGUAZAAgAGEAbgBkACAAdwBlACAACgAgACAALwAvACAAawBuAG8AdwAgAHQAaABhAHQALAAgAHMAbwAgAHcAZQAgAGEAcwBzAGUAcgB0ACAAaQB0ACAAdABvACAAYgBlACAAdAByAHUAZQAgAHcAaQB0AGgAIAB0AGgAZQAgAG8AcABlAHIAYQB0AG8AcgAKACAAIAByAGUAdAB1AHIAbgAgAHsAIAB4ADoAIAAnAGEAcwBkAGYAJwAgAH0AIABhAHMAIAB7ACAAeAA6ACAAcwB0AHIAaQBuAGcAIAB9ACAAfAAgAG4AdQBsAGwACgB9AA%3D%3D
I expected the check to realize that the provided dependency is correct according to the function body, but instead it reports that i'm specifying both too many dependencies and also missing dependencies
I think this is a bug. You may temporarily put non-null assertion to:
// biome-ignore lint/style/noNonNullAssertion: allow here const myObj = useMyObj()!;
until this is fixed.
Environment information
Rule name
lint/correctness/useExhaustiveDependencies
Playground link
https://biomejs.dev/playground/?indentStyle=space"eStyle=single&jsxQuoteStyle=single&semicolons=as-needed&lintRules=all&code=aQBtAHAAbwByAHQAIAB7ACAAdQBzAGUATQBlAG0AbwAgAH0AIABmAHIAbwBtACAAJwByAGUAYQBjAHQAJwAKAAoALwAqACAAYwBvAG4AdABlAHgAdAA6AAoACgBTAG8AIAB0AGgAaQBzACAAbABpAG4AdAAgAHIAdQBsAGUAIABzAGUAZQBtAHMAIAB0AG8AIAB3AG8AcgBrACAAYwBvAHIAcgBlAGMAdABsAHkAIABmAG8AcgAgAG0AbwBzAHQAIABjAGEAcwBlAHMALAAgAGkAbgBjAGwAdQBkAGkAbgBnAAoAbwBwAHQAaQBvAG4AYQBsACAAYwBoAGEAaQBuAGUAZAAgAHYAYQBsAHUAZQBzACwAIABhAG4AZAAgAG4AdQBsAGwAIABjAG8AYQBsAGUAcwBjAGkAbgBnACAAZgBhAGwAbABiAGEAYwBrACAAdgBhAGwAdQBlAHMAIABlAHQAYwAKAGIAdQB0ACAAaQB0ACAAZABvAGUAcwAgAG4AbwB0ACAAdwBvAHIAawAgAHcAaABlAG4AIAB5AG8AdQAgAGgAYQB2AGUAIABhACAAbwBwAGUAcgBhAHQAbwByACAAYgBhAHMAZQBkAAoAbgBvAG4ALQBuAHUAbABsAC0AYQBzAHMAZQByAHQAaQBvAG4AIABjAGgAZQBjAGsAaQBuAGcAIAB0AGgAZQAgAG8AYgBqAGUAYwB0AC4ACgAKAHQAaABlACAAZgBpAHIAcwB0ACAAZgB1AG4AYwB0AGkAbwBuACAAaABlAHIAZQAgAGkAbgBkAGkAYwBhAHQAZQBzACAAaQB0ACAALQAgAGkAdAAgAHMAYQB5AHMAIAB0AGgAYQB0ACAAaQB0ACAAYgBvAHQAaAAgAGgAYQBzACAAYQAKAG0AaQBzAHMAaQBuAGcAIABkAGUAcABlAG4AZABlAG4AYwB5ACAAbwBmACAAdABoAGUAIABvAGIAagBlAGMAdAAgAGkAdABzAGUAbABmACAAYQBuAGQAIABhAGwAcwBvACAAcwBwAGUAYwBpAGYAeQBpAG4AZwAgAHQAbwBvAAoAbQBhAHkAIABkAGUAcABlAG4AZABlAG4AYwBpAGUAcwAuAAoACgB0AGgAZQAgAHQAaABlAHIAZQAgAGEAcgBlACAAYQAgAGMAbwB1AHAAbABlACAAbwBmACAAbwB0AGgAZQByACAAdgBhAHIAaQBhAHQAaQBvAG4AcwAgAHcAaABlAHIAZQAgAHkAbwB1ACAAYwBhAG4AIAB3AG8AcgBrAAoAYQByAG8AdQBuAGQAIAB0AGgAZQAgAGkAcwBzAHUAZQAgAHcAaABpAGMAaAAgAHMAZQBlAG0AIAB0AG8AIAB3AG8AcgBrACAAZgBpAG4AZQAuAAoACgBJACAAdwBvAHUAbABkACAAZQB4AHAAZQBjAHQAIAB0AGgAZQAgAGYAaQByAHMAdAAgAGMAYQBzAGUAIAB0AG8AIABhAGwAcwBvACAAYgBlACAAdABoAGUAIABzAGEAbQBlACwAIABzAGkAbgBjAGUAIAB0AGgAZQAKAHIAdQBuAHQAaQBtAGUAIABlAHYAYQBsAHUAYQB0AGkAbwBuACAAbwBmACAAaQB0ACAAcgBlAHMAdQBsAHQAcwAgAGkAbgAgAHQAaABlACAAcwBhAG0AZQAgAHQAaABpAG4AZwAuAAoACgAqAC8ACgAKAGUAeABwAG8AcgB0ACAAZgB1AG4AYwB0AGkAbwBuACAAdQBzAGUAVwBpAHQAaABOAG8AbgBOAHUAbABsAEEAcwBzAGUAcgB0AGkAbwBuAE8AcABlAHIAYQB0AG8AcgAoACkAIAB7AAoAIAAgAGMAbwBuAHMAdAAgAG0AeQBPAGIAagAgAD0AIAB1AHMAZQBNAHkATwBiAGoAKAApAAoAIAAgAAoAIAAgAC8ALwAgAGIAaQBvAG0AZQAtAGkAZwBuAG8AcgBlACAAbABpAG4AdAAvAHMAdAB5AGwAZQAvAG4AbwBOAG8AbgBOAHUAbABsAEEAcwBzAGUAcgB0AGkAbwBuADoAIABhAGwAbABvAHcAIABoAGUAcgBlAAoAIAAgAHUAcwBlAE0AZQBtAG8AKAAoACkAIAA9AD4AIABtAHkATwBiAGoAIQAuAHgAIAA9AD0APQAgAHQAcgB1AGUALAAgAFsAbQB5AE8AYgBqACEALgB4AF0AKQAKAH0ACgAKAC8ALwAgAGEAbgBvAHQAaABlAHIAIAB3AG8AcgBrAGEAcgBvAHUAbgBkAAoAZQB4AHAAbwByAHQAIABmAHUAbgBjAHQAaQBvAG4AIAB1AHMAZQBQAHIAaQBtAGUAZABWAGEAcgBpAGEAYgBsAGUAKAApACAAewAKACAAIABjAG8AbgBzAHQAIABtAHkATwBiAGoAIAA9ACAAdQBzAGUATQB5AE8AYgBqACgAKQAKAAoAIAAgAC8ALwAgAGIAaQBvAG0AZQAtAGkAZwBuAG8AcgBlACAAbABpAG4AdAAvAHMAdAB5AGwAZQAvAG4AbwBOAG8AbgBOAHUAbABsAEEAcwBzAGUAcgB0AGkAbwBuADoAIABhAGwAbABvAHcAIABoAGUAcgBlAAoAIAAgAGMAbwBuAHMAdAAgAHgAIAA9ACAAbQB5AE8AYgBqACEALgB4AAoAIAAgAAoAIAAgAHUAcwBlAE0AZQBtAG8AKAAoACkAIAA9AD4AIAB4ACAAPQA9AD0AIAB0AHIAdQBlACwAIABbAHgAXQApAAoAfQAKAAoALwAvACAAYQBuAG8AdABoAGUAcgAgAHcAbwByAGsAYQByAG8AdQBuAGQACgBlAHgAcABvAHIAdAAgAGYAdQBuAGMAdABpAG8AbgAgAHUAcwBlAFcAaQB0AGgAQwBsAGEAcwBzAGkAYwBBAHMAcwBlAHIAdABpAG8AbgAoACkAIAB7AAoAIAAgAGMAbwBuAHMAdAAgAG0AeQBPAGIAagAgAD0AIAB1AHMAZQBNAHkATwBiAGoAKAApAAoACgAgACAAYQBzAHMAZQByAHQAKABtAHkATwBiAGoAKQAKACAAIAAKACAAIAB1AHMAZQBNAGUAbQBvACgAKAApACAAPQA%2BACAAbQB5AE8AYgBqAC4AeAAgAD0APQA9ACAAdAByAHUAZQAsACAAWwBtAHkATwBiAGoALgB4AF0AKQAKAH0ACgAKAC8ALwAgAC0ALQAtAC0ALQAgAHkAbwB1ACAAYwBhAG4AIABpAGcAbgBvAHIAZQAgAHQAaABlACAAcgBlAHMAdAAgAG8AZgAgAHQAaABpAHMAIAAtAC0ALQAtAC0ALQAtAC0ALQAtAAoACgBmAHUAbgBjAHQAaQBvAG4AIABhAHMAcwBlAHIAdAAoAHgAOgAgAHUAbgBrAG4AbwB3AG4AKQA6ACAAYQBzAHMAZQByAHQAcwAgAHgAIAB7AAoAIAAgAGkAZgAgACgAIQB4ACkAIAB7AAoAIAAgACAAIAB0AGgAcgBvAHcAIABuAGUAdwAgAEUAcgByAG8AcgAoACkACgAgACAAfQAKAH0ACgAKAGYAdQBuAGMAdABpAG8AbgAgAHUAcwBlAE0AeQBPAGIAagAoACkAIAB7AAoAIAAgAC8ALwAgAHQAeQBwAGUAIABzAGEAeQBzACAAaQB0ACAAYwBhAG4AIABiAGUAIABuAHUAbABsACwAIABiAHUAdAAgAG8AYgBqAGUAYwB0ACAAaQBzACAAcwB0AGkAbABsACAAZABlAGYAaQBuAGUAZAAgAGEAbgBkACAAdwBlACAACgAgACAALwAvACAAawBuAG8AdwAgAHQAaABhAHQALAAgAHMAbwAgAHcAZQAgAGEAcwBzAGUAcgB0ACAAaQB0ACAAdABvACAAYgBlACAAdAByAHUAZQAgAHcAaQB0AGgAIAB0AGgAZQAgAG8AcABlAHIAYQB0AG8AcgAKACAAIAByAGUAdAB1AHIAbgAgAHsAIAB4ADoAIAAnAGEAcwBkAGYAJwAgAH0AIABhAHMAIAB7ACAAeAA6ACAAcwB0AHIAaQBuAGcAIAB9ACAAfAAgAG4AdQBsAGwACgB9AA%3D%3D
Expected result
I expected the check to realize that the provided dependency is correct according to the function body, but instead it reports that i'm specifying both too many dependencies and also missing dependencies
Code of Conduct