LoginSignup
17

More than 5 years have passed since last update.

switct-case 文でインデントした時に ESLint の警告を受けないように

Last updated at Posted at 2017-08-30

問題

こんな感じに書きたい。ただ、これはデフォルトのままだとindentルールに引っかかります。

switch (1) {
  case 1: {...}
  case 2: {...}
  default: {...}
}

こうしろと言ってくるんです。

switch (1) {
case 1: {...}
case 2: {...}
default: {...}
}

解決

どうしても上で書きたい場合は、indentルールのオプションの{SwitchCase: <ネストの深さ>を指定します。なんとデフォルトが{SwitchCase: 0}だった為に警告されたわけです。
つまり、.tslintrcをこんな感じにすれば上の方法で書けるようになります。

"rules": {
  "indent": ["error", 2, {"SwitchCase": 1}],
}

eslint-config-prettier と eslint-plugin-prettier を使ってる場合

もし、prettier/prettierルールを使っている場合でネストをのまま使っていると、

  • Insert '··' (prettier/prettier)
  • Replace '······' with '········' (prettier/prettier)

こんな感じの意味不明なエラー文に怒られてハマります。

これはswitch-case文のインデントを1にすれば直ります😇

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17