Environment information
Details
CLI:
Version: 2.5.4
Color support: true
Platform:
CPU Architecture: aarch64
OS: macos
Environment:
BIOME_DISTRIBUTION: npm
BIOME_LOG_PATH: unset
BIOME_LOG_PREFIX_NAME: unset
BIOME_LOG_LEVEL: unset
BIOME_LOG_KIND: unset
BIOME_CONFIG_PATH: unset
BIOME_THREADS: unset
BIOME_WATCHER_KIND: unset
BIOME_WATCHER_POLLING_INTERVAL: unset
NO_COLOR: unset
TERM: xterm-256color
JS_RUNTIME_VERSION: v26.2.0
JS_RUNTIME_NAME: node
NODE_PACKAGE_MANAGER: unset
Biome Configuration:
Status: Loaded successfully.
Path: biome.json
Formatter enabled: false
Linter enabled: true
Assist enabled: true
VCS enabled: true
HTML full support enabled: unset
Linter:
JavaScript enabled: unset
JSON enabled: unset
CSS enabled: unset
GraphQL enabled: unset
Recommended: unset
Enabled rules:
a11y/noAccessKey
a11y/noAmbiguousAnchorText
a11y/noAriaHiddenOnFocusable
a11y/noAriaUnsupportedElements
a11y/noAutofocus
a11y/noDistractingElements
a11y/noHeaderScope
a11y/noInteractiveElementToNoninteractiveRole
a11y/noLabelWithoutControl
a11y/noNoninteractiveElementInteractions
a11y/noNoninteractiveElementToInteractiveRole
a11y/noNoninteractiveTabindex
a11y/noPositiveTabindex
a11y/noRedundantAlt
a11y/noRedundantRoles
a11y/noStaticElementInteractions
a11y/noSvgWithoutTitle
a11y/useAltText
a11y/useAnchorContent
a11y/useAriaActivedescendantWithTabindex
a11y/useAriaPropsForRole
a11y/useAriaPropsSupportedByRole
a11y/useButtonType
a11y/useFocusableInteractive
a11y/useGenericFontNames
a11y/useHeadingContent
a11y/useHtmlLang
a11y/useIframeTitle
a11y/useKeyWithClickEvents
a11y/useKeyWithMouseEvents
a11y/useMediaCaption
a11y/useSemanticElements
a11y/useValidAnchor
a11y/useValidAriaProps
a11y/useValidAriaRole
a11y/useValidAriaValues
a11y/useValidAutocomplete
a11y/useValidLang
complexity/noAdjacentSpacesInRegex
complexity/noArguments
complexity/noBannedTypes
complexity/noCommaOperator
complexity/noDivRegex
complexity/noEmptyTypeParameters
complexity/noExcessiveCognitiveComplexity
complexity/noExcessiveNestedTestSuites
complexity/noExtraBooleanCast
complexity/noFlatMapIdentity
complexity/noForEach
complexity/noImplicitCoercions
complexity/noImportantStyles
complexity/noRedundantDefaultExport
complexity/noThisInStatic
complexity/noUselessCatch
complexity/noUselessCatchBinding
complexity/noUselessConstructor
complexity/noUselessContinue
complexity/noUselessEmptyExport
complexity/noUselessEscapeInRegex
complexity/noUselessFragments
complexity/noUselessLabel
complexity/noUselessLoneBlockStatements
complexity/noUselessRename
complexity/noUselessReturn
complexity/noUselessStringConcat
complexity/noUselessStringRaw
complexity/noUselessSwitchCase
complexity/noUselessTernary
complexity/noUselessThisAlias
complexity/noUselessTypeConstraint
complexity/noUselessUndefinedInitialization
complexity/noVoid
complexity/useArrayFind
complexity/useArrowFunction
complexity/useDateNow
complexity/useFlatMap
complexity/useIndexOf
complexity/useNumericLiterals
complexity/useOptionalChain
complexity/useRegexLiterals
complexity/useSimpleNumberKeys
complexity/useSimplifiedLogicExpression
complexity/useWhile
correctness/noBeforeInteractiveScriptOutsideDocument
correctness/noChildrenProp
correctness/noConstAssign
correctness/noConstantCondition
correctness/noConstantMathMinMaxClamp
correctness/noConstructorReturn
correctness/noDuplicateArgumentNames
correctness/noDuplicateAttributes
correctness/noDuplicateEnumValueNames
correctness/noDuplicateInputFieldNames
correctness/noDuplicateVariableNames
correctness/noEmptyCharacterClassInRegex
correctness/noEmptyPattern
correctness/noGlobalDirnameFilename
correctness/noGlobalObjectCalls
correctness/noInnerDeclarations
correctness/noInvalidBuiltinInstantiation
correctness/noInvalidConstructorSuper
correctness/noInvalidDirectionInLinearGradient
correctness/noInvalidGridAreas
correctness/noInvalidPositionAtImportRule
correctness/noInvalidUseBeforeDeclaration
correctness/noMissingVarFunction
correctness/noNestedComponentDefinitions
correctness/noNextAsyncClientComponent
correctness/noNonoctalDecimalEscape
correctness/noPrecisionLoss
correctness/noPrivateImports
correctness/noProcessGlobal
correctness/noReactPropAssignments
correctness/noRenderReturnValue
correctness/noRestrictedElements
correctness/noSelfAssign
correctness/noSetterReturn
correctness/noSolidDestructuredProps
correctness/noStringCaseMismatch
correctness/noSwitchDeclarations
correctness/noUndeclaredDependencies
correctness/noUndeclaredVariables
correctness/noUnknownFunction
correctness/noUnknownMediaFeatureName
correctness/noUnknownProperty
correctness/noUnknownPseudoClass
correctness/noUnknownPseudoElement
correctness/noUnknownTypeSelector
correctness/noUnknownUnit
correctness/noUnmatchableAnbSelector
correctness/noUnreachable
correctness/noUnreachableSuper
correctness/noUnresolvedImports
correctness/noUnsafeFinally
correctness/noUnsafeOptionalChaining
correctness/noUnusedFunctionParameters
correctness/noUnusedImports
correctness/noUnusedInstantiation
correctness/noUnusedLabels
correctness/noUnusedPrivateClassMembers
correctness/noUnusedVariables
correctness/noVoidElementsWithChildren
correctness/noVoidTypeReturn
correctness/noVueDataObjectDeclaration
correctness/noVueDuplicateKeys
correctness/noVueReservedKeys
correctness/noVueReservedProps
correctness/noVueSetupPropsReactivityLoss
correctness/noVueVIfWithVFor
correctness/useExhaustiveDependencies
correctness/useGraphqlNamedOperations
correctness/useHookAtTopLevel
correctness/useImportExtensions
correctness/useInlineScriptId
correctness/useIsNan
correctness/useJsonImportAttributes
correctness/useLoneAnonymousOperation
correctness/useParseIntRadix
correctness/useSingleJsDocAsterisk
correctness/useUniqueElementIds
correctness/useValidForDirection
correctness/useValidTypeof
correctness/useVueVForKey
correctness/useVueValidTemplateRoot
correctness/useVueValidVBind
correctness/useVueValidVCloak
correctness/useVueValidVElse
correctness/useVueValidVElseIf
correctness/useVueValidVHtml
correctness/useVueValidVIf
correctness/useVueValidVOn
correctness/useVueValidVOnce
correctness/useVueValidVPre
correctness/useVueValidVText
correctness/useYield
nursery/noBaseToString
nursery/noComponentHookFactories
nursery/noConditionalExpect
nursery/noDrizzleDeleteWithoutWhere
nursery/noDrizzleUpdateWithoutWhere
nursery/noDuplicateFieldDefinitionNames
nursery/noDuplicateSelectors
nursery/noEmptyObjectKeys
nursery/noExcessiveNestedCallbacks
nursery/noExcessiveSelectorClasses
nursery/noFloatingPromises
nursery/noIdenticalTestTitle
nursery/noImpliedEval
nursery/noInlineStyles
nursery/noJsxLeakedDollar
nursery/noJsxNamespace
nursery/noLoopFunc
nursery/noMisleadingReturnType
nursery/noMisusedPromises
nursery/noPlaywrightElementHandle
nursery/noPlaywrightEval
nursery/noRestrictedDependencies
nursery/noTopLevelLiterals
nursery/noUndeclaredClasses
nursery/noUnnecessaryTemplateExpression
nursery/noUnsafePlusOperands
nursery/noUntrustedLicenses
nursery/noUnusedClasses
nursery/noUselessTypeConversion
nursery/useArraySome
nursery/useAwaitThenable
nursery/useBaseline
nursery/useConsistentTestIt
nursery/useDisposables
nursery/useDomNodeTextContent
nursery/useExhaustiveSwitchCases
nursery/useExpect
nursery/useExplicitReturnType
nursery/useExplicitType
nursery/useIframeSandbox
nursery/useImportsFirst
nursery/useIncludes
nursery/useMathMinMax
nursery/useNamedCaptureGroup
nursery/useNullishCoalescing
nursery/useReduceTypeParameter
nursery/useRegexpExec
nursery/useRegexpTest
nursery/useScopedStyles
nursery/useSortedClasses
nursery/useStringStartsEndsWith
nursery/useTestHooksInOrder
nursery/useTestHooksOnTop
nursery/useThisInClassMethods
nursery/useUnicodeRegex
nursery/useVarsOnTop
performance/noAccumulatingSpread
performance/noAwaitInLoops
performance/noBarrelFile
performance/noDelete
performance/noDynamicNamespaceImportAccess
performance/noNamespaceImport
performance/noReExportAll
performance/noSyncScripts
performance/useTopLevelRegex
security/noBlankTarget
security/noGlobalEval
security/noScriptUrl
security/noSecrets
style/noCommonJs
style/noDefaultExport
style/noDescendingSpecificity
style/noDoneCallback
style/noEnum
style/noExcessiveLinesPerFile
style/noExportedImports
style/noHeadElement
style/noHexColors
style/noImplicitBoolean
style/noIncrementDecrement
style/noInferrableTypes
style/noJsxLiterals
style/noMultiAssign
style/noMultilineString
style/noNamespace
style/noNegationElse
style/noNestedTernary
style/noNonNullAssertion
style/noParameterAssign
style/noParameterProperties
style/noProcessEnv
style/noRestrictedGlobals
style/noRestrictedImports
style/noRestrictedTypes
style/noRootType
style/noShoutyConstants
style/noSubstr
style/noUnusedTemplateLiteral
style/noUselessElse
style/noValueAtRule
style/noVueOptionsApi
style/noYodaExpression
style/useArrayLiterals
style/useAsConstAssertion
style/useAtIndex
style/useBlockStatements
style/useCollapsedElseIf
style/useCollapsedIf
style/useComponentExportOnlyModules
style/useConsistentArrayType
style/useConsistentArrowReturn
style/useConsistentBuiltinInstantiation
style/useConsistentCurlyBraces
style/useConsistentEnumValueType
style/useConsistentGraphqlDescriptions
style/useConsistentMemberAccessibility
style/useConsistentMethodSignatures
style/useConsistentObjectDefinitions
style/useConsistentTypeDefinitions
style/useConst
style/useDefaultParameterLast
style/useDefaultSwitchClause
style/useDeprecatedReason
style/useDestructuring
style/useEnumInitializers
style/useErrorCause
style/useExplicitLengthCheck
style/useExportType
style/useExportsLast
style/useFilenamingConvention
style/useForOf
style/useFragmentSyntax
style/useGlobalThis
style/useGraphqlNamingConvention
style/useGroupedAccessorPairs
style/useImportType
style/useInputName
style/useLiteralEnumMembers
style/useLoneExecutableDefinition
style/useNodeAssertStrict
style/useNodejsImportProtocol
style/useNumberNamespace
style/useNumericSeparators
style/useObjectSpread
style/useReactFunctionComponents
style/useReadonlyClassProperties
style/useSelfClosingElements
style/useShorthandAssign
style/useShorthandFunctionType
style/useSingleVarDeclarator
style/useSpreadOverApply
style/useSymbolDescription
style/useTemplate
style/useThrowNewError
style/useThrowOnlyError
style/useTrimStartEnd
style/useUnifiedTypeSignatures
style/useVueConsistentVBindStyle
style/useVueConsistentVOnStyle
style/useVueDefineMacrosOrder
style/useVueHyphenatedAttributes
style/useVueMultiWordComponentNames
suspicious/noAlert
suspicious/noApproximativeNumericConstant
suspicious/noArrayIndexKey
suspicious/noAssignInExpressions
suspicious/noAsyncPromiseExecutor
suspicious/noBiomeFirstException
suspicious/noCatchAssign
suspicious/noClassAssign
suspicious/noCommentText
suspicious/noCompareNegZero
suspicious/noConfusingLabels
suspicious/noConfusingVoidType
suspicious/noConstEnum
suspicious/noConstantBinaryExpressions
suspicious/noControlCharactersInRegex
suspicious/noDebugger
suspicious/noDeprecatedImports
suspicious/noDeprecatedMediaType
suspicious/noDocumentCookie
suspicious/noDocumentImportInPage
suspicious/noDoubleEquals
suspicious/noDuplicateAtImportRules
suspicious/noDuplicateCase
suspicious/noDuplicateClassMembers
suspicious/noDuplicateCustomProperties
suspicious/noDuplicateDependencies
suspicious/noDuplicateElseIf
suspicious/noDuplicateEnumValues
suspicious/noDuplicateFields
suspicious/noDuplicateFontNames
suspicious/noDuplicateGraphqlOperationName
suspicious/noDuplicateJsxProps
suspicious/noDuplicateObjectKeys
suspicious/noDuplicateParameters
suspicious/noDuplicateProperties
suspicious/noDuplicateSelectorsKeyframeBlock
suspicious/noDuplicateTestHooks
suspicious/noDuplicatedSpreadProps
suspicious/noEmptyBlock
suspicious/noEmptyBlockStatements
suspicious/noEmptyInterface
suspicious/noEmptySource
suspicious/noEqualsToNull
suspicious/noEvolvingTypes
suspicious/noExplicitAny
suspicious/noExportsInTest
suspicious/noExtraNonNullAssertion
suspicious/noFallthroughSwitchClause
suspicious/noFocusedTests
suspicious/noForIn
suspicious/noFunctionAssign
suspicious/noGlobalAssign
suspicious/noGlobalIsFinite
suspicious/noGlobalIsNan
suspicious/noHeadImportInDocument
suspicious/noImplicitAnyLet
suspicious/noImportAssign
suspicious/noImportCycles
suspicious/noImportantInKeyframe
suspicious/noIrregularWhitespace
suspicious/noLabelVar
suspicious/noLeakedRender
suspicious/noMisleadingCharacterClass
suspicious/noMisleadingInstantiator
suspicious/noMisplacedAssertion
suspicious/noMisrefactoredShorthandAssign
suspicious/noNestedPromises
suspicious/noNonNullAssertedOptionalChain
suspicious/noOctalEscape
suspicious/noParametersOnlyUsedInRecursion
suspicious/noProto
suspicious/noPrototypeBuiltins
suspicious/noQuickfixBiome
suspicious/noReactForwardRef
suspicious/noRedeclare
suspicious/noRedundantUseStrict
suspicious/noReturnAssign
suspicious/noSelfCompare
suspicious/noShadow
suspicious/noShadowRestrictedNames
suspicious/noShorthandPropertyOverrides
suspicious/noSkippedTests
suspicious/noSparseArray
suspicious/noSuspiciousSemicolonInJsx
suspicious/noTemplateCurlyInString
suspicious/noThenProperty
suspicious/noTsIgnore
suspicious/noUnassignedVariables
suspicious/noUndeclaredEnvVars
suspicious/noUnknownAtRules
suspicious/noUnknownAttribute
suspicious/noUnnecessaryConditions
suspicious/noUnsafeDeclarationMerging
suspicious/noUnsafeNegation
suspicious/noUnusedExpressions
suspicious/noUselessEscapeInString
suspicious/noUselessRegexBackrefs
suspicious/noVar
suspicious/noVueArrowFuncInWatch
suspicious/noWith
suspicious/useAdjacentOverloadSignatures
suspicious/useArraySortCompare
suspicious/useBiomeIgnoreFolder
suspicious/useDefaultSwitchClauseLast
suspicious/useDeprecatedDate
suspicious/useErrorMessage
suspicious/useGetterReturn
suspicious/useGoogleFontDisplay
suspicious/useGuardForIn
suspicious/useIsArray
suspicious/useIterableCallbackReturn
suspicious/useNamespaceKeyword
suspicious/useNumberToFixedDigitsArgument
suspicious/useRequiredScripts
suspicious/useStaticResponseMethods
suspicious/useStrictMode
Workspace:
Open Documents: 0
Rule name
lint/style/useErrorCause:
Playground link
https://biomejs.dev/playground/?lintRules=all&tab=formatter&pane=Diagnostics&code=CgBjAGwAYQBzAHMAIABNAHkARQByAHIAbwByACAAZQB4AHQAZQBuAGQAcwAgAEUAcgByAG8AcgAgAHsACgAgACAAYwBvAG4AcwB0AHIAdQBjAHQAbwByACgAbQBlAHMAcwBhAGcAZQAsACAAcABvAHMAaQB0AGkAbwBuACwAIABvAHAAdABpAG8AbgBzACkAIAB7AAoAIAAgACAAIABzAHUAcABlAHIAKABgACQAewBtAGUAcwBzAGEAZwBlAH0AIABAACAAcABvAHMAaQB0AGkAbwBuADoAIAAkAHsAcABvAHMAaQB0AGkAbwBuAH0AYAAsACAAbwBwAHQAaQBvAG4AcwApAAoACQB0AGgAaQBzAC4AbgBhAG0AZQAgAD0AIAAnAE0AeQBFAHIAcgBvAHIAJwAKACAAIAB9AAoAfQAKAAoAdAByAHkAIAB7AAoAIAAgAHQAaAByAG8AdwAgAG4AZQB3ACAARQByAHIAbwByACgAJwB0AGUAcwB0ACcAKQAKAH0ACgBjAGEAdABjAGgAKABlAHIAcgApACAAewAKACAAIAB0AGgAcgBvAHcAIABuAGUAdwAgAE0AeQBFAHIAcgBvAHIAKAAnAG0AaQBuAGUAJwAsACAANAAyACwAIAB7ACAAYwB1AGEAcwBlADoAIABlAHIAcgAgAH0AKQAKAH0A&ruleDomains.project=all
Expected result
When the type of the last (3rd in this case) parameter of a custom Error class is ErrorOptions that accepts a cause from an Error caught via a try/catch block, the captured error when set to that cause should not product a "False Positive" form the linter.
aka
....
catch(err) {
throw new MyError('oh no!', 42, { cause: err })
}
Code of Conduct
Environment information
Details
Rule name
lint/style/useErrorCause:
Playground link
https://biomejs.dev/playground/?lintRules=all&tab=formatter&pane=Diagnostics&code=CgBjAGwAYQBzAHMAIABNAHkARQByAHIAbwByACAAZQB4AHQAZQBuAGQAcwAgAEUAcgByAG8AcgAgAHsACgAgACAAYwBvAG4AcwB0AHIAdQBjAHQAbwByACgAbQBlAHMAcwBhAGcAZQAsACAAcABvAHMAaQB0AGkAbwBuACwAIABvAHAAdABpAG8AbgBzACkAIAB7AAoAIAAgACAAIABzAHUAcABlAHIAKABgACQAewBtAGUAcwBzAGEAZwBlAH0AIABAACAAcABvAHMAaQB0AGkAbwBuADoAIAAkAHsAcABvAHMAaQB0AGkAbwBuAH0AYAAsACAAbwBwAHQAaQBvAG4AcwApAAoACQB0AGgAaQBzAC4AbgBhAG0AZQAgAD0AIAAnAE0AeQBFAHIAcgBvAHIAJwAKACAAIAB9AAoAfQAKAAoAdAByAHkAIAB7AAoAIAAgAHQAaAByAG8AdwAgAG4AZQB3ACAARQByAHIAbwByACgAJwB0AGUAcwB0ACcAKQAKAH0ACgBjAGEAdABjAGgAKABlAHIAcgApACAAewAKACAAIAB0AGgAcgBvAHcAIABuAGUAdwAgAE0AeQBFAHIAcgBvAHIAKAAnAG0AaQBuAGUAJwAsACAANAAyACwAIAB7ACAAYwB1AGEAcwBlADoAIABlAHIAcgAgAH0AKQAKAH0A&ruleDomains.project=all
Expected result
When the type of the last (3rd in this case) parameter of a custom Error class is
ErrorOptionsthat accepts acausefrom an Error caught via a try/catch block, the captured error when set to that cause should not product a "False Positive" form the linter.aka
Code of Conduct