useBlockStatements
Diagnostic Category: lint/style/useBlockStatements
Since: v1.0.0
Sources:
- Same as: 
curly 
Description
Section titled DescriptionRequires following curly brace conventions.
JavaScript allows the omission of curly braces when a block contains only one statement. However, it is considered by many to be best practice to never omit curly braces around blocks, even when they are optional, because it can lead to bugs and reduces code clarity.
Examples
Section titled ExamplesInvalid
Section titled Invalid if (x) x;code-block.js:1:2 lint/style/useBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Block statements are preferred in this position.
  
  > 1 │  if (x) x;
      │  ^^^^^^^^^
    2 │ 
  
  ℹ Unsafe fix: Wrap the statement with a JsBlockStatement
  
    1 │ ·if·(x)·{·x;·}
      │         ++  ++
 if (x) {   x; } else y;code-block.js:3:4 lint/style/useBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Block statements are preferred in this position.
  
    1 │  if (x) {
    2 │    x;
  > 3 │  } else y;
      │    ^^^^^^^
    4 │ 
  
  ℹ Unsafe fix: Wrap the statement with a JsBlockStatement
  
    3 │ ·}·else·{·y;·}
      │         ++  ++
if (x) {  x;} else if (y) y;code-block.js:3:8 lint/style/useBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Block statements are preferred in this position.
  
    1 │ if (x) {
    2 │   x;
  > 3 │ } else if (y) y;
      │        ^^^^^^^^^
    4 │ 
  
  ℹ Unsafe fix: Wrap the statement with a JsBlockStatement
  
    3 │ }·else·if·(y)·{·y;·}
      │               ++  ++
   for (;;);code-block.js:1:4 lint/style/useBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Block statements are preferred in this position.
  
  > 1 │    for (;;);
      │    ^^^^^^^^^
    2 │ 
  
  ℹ Unsafe fix: Wrap the statement with a JsBlockStatement
  
    1   │ - ···for·(;;);
      1 │ + ···for·(;;)·{}
    2 2 │   
  
   for (p in obj);code-block.js:1:4 lint/style/useBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Block statements are preferred in this position.
  
  > 1 │    for (p in obj);
      │    ^^^^^^^^^^^^^^^
    2 │ 
  
  ℹ Unsafe fix: Wrap the statement with a JsBlockStatement
  
    1   │ - ···for·(p·in·obj);
      1 │ + ···for·(p·in·obj)·{}
    2 2 │   
  
  for (x of xs);code-block.js:1:3 lint/style/useBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Block statements are preferred in this position.
  
  > 1 │   for (x of xs);
      │   ^^^^^^^^^^^^^^
    2 │ 
  
  ℹ Unsafe fix: Wrap the statement with a JsBlockStatement
  
    1   │ - ··for·(x·of·xs);
      1 │ + ··for·(x·of·xs)·{}
    2 2 │   
  
  do;  while (x);code-block.js:1:3 lint/style/useBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Block statements are preferred in this position.
  
  > 1 │   do;
      │   ^^^
  > 2 │   while (x);
      │   ^^^^^^^^^^
    3 │ 
  
  ℹ Unsafe fix: Wrap the statement with a JsBlockStatement
  
    1   │ - ··do;
      1 │ + ··do·{}
    2 2 │     while (x);
    3 3 │   
  
   while (x);code-block.js:1:4 lint/style/useBlockStatements  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Block statements are preferred in this position.
  
  > 1 │    while (x);
      │    ^^^^^^^^^^
    2 │ 
  
  ℹ Unsafe fix: Wrap the statement with a JsBlockStatement
  
    1   │ - ···while·(x);
      1 │ + ···while·(x)·{}
    2 2 │   
  
  with (x);code-block.js:1:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ✖ with statements are not allowed in strict mode
  
  > 1 │   with (x);
      │   ^^^^^^^^^
    2 │ 
  
How to configure
Section titled How to configure{  "linter": {    "rules": {      "style": {        "useBlockStatements": "error"      }    }  }}