Environment information
CLI:
Version: 1.9.4
Color support: true
Platform:
CPU Architecture: x86_64
OS: macos
Environment:
BIOME_LOG_PATH: unset
BIOME_LOG_PREFIX_NAME: unset
BIOME_CONFIG_PATH: unset
NO_COLOR: unset
TERM: "xterm-256color"
JS_RUNTIME_VERSION: "v20.15.1"
JS_RUNTIME_NAME: "node"
NODE_PACKAGE_MANAGER: unset
Biome Configuration:
Status: Loaded successfully
Formatter disabled: false
Linter disabled: false
Organize imports disabled: false
VCS disabled: false
Linter:
JavaScript enabled: true
JSON enabled: true
CSS enabled: true
GraphQL enabled: false
Recommended: false
All: false
Enabled rules:
style/useImportType
suspicious/noCatchAssign
suspicious/noUnsafeNegation
complexity/useLiteralKeys
suspicious/useNamespaceKeyword
complexity/noMultipleSpacesInRegularExpressionLiterals
complexity/noUselessEmptyExport
suspicious/useValidTypeof
suspicious/noAssignInExpressions
correctness/noConstantCondition
suspicious/noDuplicateParameters
suspicious/noDuplicateSelectorsKeyframeBlock
style/useDefaultParameterLast
complexity/noEmptyTypeParameters
correctness/noConstructorReturn
style/useSelfClosingElements
correctness/noUnknownProperty
style/useTemplate
correctness/noUnusedLabels
complexity/noUselessTernary
correctness/noUnreachableSuper
suspicious/noCompareNegZero
suspicious/noExplicitAny
correctness/noSwitchDeclarations
correctness/noUnsafeOptionalChaining
correctness/noConstAssign
suspicious/noControlCharactersInRegex
complexity/noUselessTypeConstraint
style/noVar
suspicious/noDoubleEquals
suspicious/noRedundantUseStrict
style/useLiteralEnumMembers
suspicious/noGlobalIsNan
suspicious/noEmptyInterface
suspicious/noConstEnum
suspicious/noMisleadingCharacterClass
correctness/noPrecisionLoss
suspicious/noRedeclare
correctness/noStringCaseMismatch
correctness/noSetterReturn
correctness/noInvalidConstructorSuper
suspicious/noImplicitAnyLet
suspicious/noDuplicateObjectKeys
suspicious/noUnsafeDeclarationMerging
complexity/noUselessThisAlias
suspicious/noFallthroughSwitchClause
correctness/noUnreachable
complexity/noThisInStatic
complexity/useOptionalChain
correctness/noInnerDeclarations
style/noParameterAssign
suspicious/noDuplicateCase
complexity/useRegexLiterals
correctness/noSelfAssign
correctness/noInvalidBuiltinInstantiation
style/noUselessElse
style/useShorthandFunctionType
suspicious/noShadowRestrictedNames
correctness/noInvalidDirectionInLinearGradient
suspicious/noImportantInKeyframe
complexity/noUselessLabel
complexity/noUselessCatch
correctness/noUnsafeFinally
correctness/noNonoctalDecimalEscape
style/useEnumInitializers
suspicious/noDuplicateTestHooks
complexity/noStaticOnlyClass
style/useWhile
complexity/useArrowFunction
style/noInferrableTypes
complexity/useSimpleNumberKeys
correctness/useYield
style/useNumericLiterals
suspicious/noImportAssign
suspicious/noLabelVar
correctness/noUnnecessaryContinue
suspicious/noApproximativeNumericConstant
suspicious/useDefaultSwitchClauseLast
correctness/noGlobalObjectCalls
correctness/noUnknownUnit
correctness/noEmptyCharacterClassInRegex
suspicious/noSuspiciousSemicolonInJsx
suspicious/noSparseArray
complexity/noBannedTypes
suspicious/noPrototypeBuiltins
correctness/noVoidElementsWithChildren
style/useAsConstAssertion
correctness/useJsxKeyInIterable
style/useExportType
complexity/noUselessLoneBlockStatements
style/noArguments
suspicious/noDebugger
suspicious/noGlobalAssign
suspicious/noCommentText
correctness/noUnmatchableAnbSelector
suspicious/noMisleadingInstantiator
suspicious/noThenProperty
suspicious/noDuplicateJsxProps
suspicious/useGetterReturn
correctness/noEmptyPattern
complexity/noExcessiveNestedTestSuites
security/noDangerouslySetInnerHtmlWithChildren
suspicious/noExtraNonNullAssertion
suspicious/noShorthandPropertyOverrides
correctness/noRenderReturnValue
correctness/useExhaustiveDependencies
security/noGlobalEval
style/noNonNullAssertion
complexity/useFlatMap
style/useConst
correctness/useIsNan
suspicious/noGlobalIsFinite
suspicious/noSelfCompare
suspicious/noAsyncPromiseExecutor
suspicious/noDuplicateFontNames
security/noDangerouslySetInnerHtml
style/useNodejsImportProtocol
suspicious/noArrayIndexKey
complexity/noWith
suspicious/noDuplicateClassMembers
complexity/noExtraBooleanCast
performance/noAccumulatingSpread
suspicious/noConfusingLabels
correctness/noChildrenProp
correctness/noUnknownFunction
correctness/noInvalidPositionAtImportRule
suspicious/noConfusingVoidType
suspicious/noFocusedTests
correctness/noInvalidGridAreas
correctness/noFlatMapIdentity
correctness/useValidForDirection
correctness/noVoidTypeReturn
correctness/noInvalidUseBeforeDeclaration
correctness/noUnknownMediaFeatureName
complexity/noUselessRename
style/useNumberNamespace
complexity/noUselessConstructor
style/useExponentiationOperator
style/noUnusedTemplateLiteral
complexity/noUselessSwitchCase
style/useSingleVarDeclarator
suspicious/noExportsInTest
style/noCommaOperator
suspicious/noDuplicateAtImportRules
suspicious/useIsArray
complexity/noUselessFragments
suspicious/noMisrefactoredShorthandAssign
complexity/noForEach
suspicious/noClassAssign
suspicious/noEmptyBlock
suspicious/noFunctionAssign
Workspace:
Open Documents: 0
Rule name
lint/complexity/noUselessFragments
Playground link
https://biomejs.dev/playground/?code=YwBvAG4AcwB0ACAARgBvAG8AIAA9ACAAKABwAHIAbwBwAHMAKQAgAD0APgAgAHAAcgBvAHAAcwAuAGMAbwBtAHAAbwBuAGUAbgB0ADsACgAKAGMAbwBuAHMAdAAgAEIAYQByACAAPQAgACgAKQAgAD0APgAgADwARgBvAG8AIABjAG8AbQBwAG8AbgBlAG4AdAA9AHsAPAA%2BADwAZABpAHYALwA%2BADwALwA%2BAH0AIAAvAD4AIAAgACAAIAAgACAACgAKAA%3D%3D
Expected result
const Bar = () => <Foo component={<><div/></>} />
should become
const Bar = () => <Foo component={<div/>} />
not
const Bar = () => <Foo component=<div/> />
Code of Conduct
Environment information
Rule name
lint/complexity/noUselessFragments
Playground link
https://biomejs.dev/playground/?code=YwBvAG4AcwB0ACAARgBvAG8AIAA9ACAAKABwAHIAbwBwAHMAKQAgAD0APgAgAHAAcgBvAHAAcwAuAGMAbwBtAHAAbwBuAGUAbgB0ADsACgAKAGMAbwBuAHMAdAAgAEIAYQByACAAPQAgACgAKQAgAD0APgAgADwARgBvAG8AIABjAG8AbQBwAG8AbgBlAG4AdAA9AHsAPAA%2BADwAZABpAHYALwA%2BADwALwA%2BAH0AIAAvAD4AIAAgACAAIAAgACAACgAKAA%3D%3D
Expected result
const Bar = () => <Foo component={<><div/></>} />should become
const Bar = () => <Foo component={<div/>} />not
const Bar = () => <Foo component=<div/> />Code of Conduct