Skip to content

useSelfClosingElements

Prevent extra closing tags for components without children

JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

<div></div>
code-block.jsx:1:1 lint/style/useSelfClosingElements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

> 1 │ <div></div>
^^^^^^^^^^^
2 │

Safe fix: Use a self-closing element instead.

1 - <div></div>
1+ <div·/>
2 2

<Component></Component>
code-block.jsx:1:1 lint/style/useSelfClosingElements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

> 1 │ <Component></Component>
^^^^^^^^^^^^^^^^^^^^^^^
2 │

Safe fix: Use a self-closing element instead.

1 - <Component></Component>
1+ <Component·/>
2 2

<Foo.bar></Foo.bar>
code-block.jsx:1:1 lint/style/useSelfClosingElements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

JSX elements without children should be marked as self-closing. In JSX, it is valid for any element to be self-closing.

> 1 │ <Foo.bar></Foo.bar>
^^^^^^^^^^^^^^^^^^^
2 │

Safe fix: Use a self-closing element instead.

1 - <Foo.bar></Foo.bar>
1+ <Foo.bar·/>
2 2

<div />
<div>child</div>
<Component />
<Component>child</Component>
<Foo.bar />
<Foo.bar>child</Foo.bar>

Default: false

This option allows you to specify whether to ignore checking native HTML elements.

In the following example, when the option is set to “true”, it will not self close native HTML elements.

{
"//":"...",
"options": {
"ignoreHtmlElements": true
}
}
<div></div>
biome.json
{
"linter": {
"rules": {
"style": {
"useSelfClosingElements": "error"
}
}
}
}