LoginSignup
5
4

More than 3 years have passed since last update.

vue/max-attributes-per-lineがprettierでうまくフォーマットされなかった

Last updated at Posted at 2020-05-13

Vue.js を eslint とprettierを使って開発してたらフォーマットがうまくいかなかったので解決策と設定をメモ
エディタはvscode

問題

eslint-plugin-vueのルールmax-attributes-per-line(1行あたり属性値の最大数を制限するルール)をprettierがうまくフォーマットしてくれなかった

解決

issueのコメントに対策があった
https://github.com/prettier/eslint-plugin-prettier/issues/94

結局、属性値の最大数を増やして対応が良さそう
複数の属性値が許可されてしまうが、1行あたりの文字数の制限超えたらよしなに改行してくれるので酷くならないよねって感じ
根本的な解決ではないけど、それで良いやと思ったので設定を変える

.eslintrc.json (落ち着いたやつ)

{
  "env": {
    "browser": true,
    "es6": true,
    "node": true
  },
  "parser": "vue-eslint-parser",
  "parserOptions": {
    "parser": "babel-eslint",
    "ecmaVersion": 2020,
    "sourceType": "module"
  },
  "plugins": [
    "vue",
    "prettier"
  ],
  "extends": [
    "eslint:recommended",
    "plugin:vue/recommended",
    "plugin:prettier/recommended",
    "prettier/vue"
  ],
  "rules": {
    "prettier/prettier": [
      "error",
      {
        "singleQuote": true,
        "htmlWhitespaceSensitivity": "ignore"
      }
    ],
    "vue/max-attributes-per-line": [
      "error",
      {
        "singleline": 5,
        "multiline": {
          "max": 1,
          "allowFirstLine": false
        }
      }
    ]
  }
}

その他

vscodeの拡張として入れてるprettierがフォーマットしてたり、veturがフォーマットしてた?のでvscodeの設定も少しいじった
(いじりすぎて迷子になったので後で見直す)

5
4
0

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
5
4