Eslint-plugin-vue: Run eslint --fix can not fix, but show the errors!

Created on 12 Jan 2018  Â·  8Comments  Â·  Source: vuejs/eslint-plugin-vue

Tell us about your environment

Please show your full configuration:

{
    "root": true,
    "parserOptions": {
        "sourceType": "module"
    },
    "env": {
        "browser": true,
        "es6": true,
        "node": true
    },
    "globals": {
        "document": false,
        "navigator": false,
        "window": false,
        "_paq": true
    },
    "rules": {
        "accessor-pairs": 2,
        "arrow-spacing": [2, { "before": true, "after": true }],
        "block-spacing": [2, "always"],
        "brace-style": [2, "1tbs", { "allowSingleLine": true }],
        "camelcase": [2, { "properties": "never" }],
        "comma-dangle": [2, "never"],
        "comma-spacing": [2, { "before": false, "after": true }],
        "comma-style": [2, "last"],
        "constructor-super": 2,
        "curly": [2, "multi-line"],
        "dot-location": [2, "property"],
        "eol-last": 0,
        "generator-star-spacing": [2, { "before": true, "after": true }],
        "handle-callback-err": [2, "^(err|error)$" ],
        "indent": [2, 4, {"SwitchCase": 1, "VariableDeclarator": 2}],
        "jsx-quotes": [2, "prefer-single"],
        "key-spacing": [2, { "beforeColon": false, "afterColon": true }],
        "keyword-spacing": [2, { "before": true, "after": true }],
        "new-cap": [2, { "newIsCap": true, "capIsNew": false }],
        "new-parens": 2,
        "no-array-constructor": 2,
        "no-caller": 2,
        "no-class-assign": 2,
        "no-cond-assign": 2,
        "no-const-assign": 2,
        "no-control-regex": 2,
        "no-delete-var": 2,
        "no-dupe-args": 2,
        "no-dupe-class-members": 2,
        "no-dupe-keys": 2,
        "no-duplicate-case": 2,
        "no-empty-character-class": 2,
        "no-empty-pattern": 2,
        "no-eval": 2,
        "no-ex-assign": 2,
        "no-extend-native": 2,
        "no-extra-bind": 2,
        "no-extra-boolean-cast": 2,
        "no-extra-parens": [2, "functions"],
        "no-fallthrough": 2,
        "no-floating-decimal": 2,
        "no-func-assign": 2,
        "no-implied-eval": 2,
        "no-inner-declarations": [2, "functions"],
        "no-invalid-regexp": 2,
        "no-irregular-whitespace": 2,
        "no-iterator": 2,
        "no-label-var": 2,
        "no-labels": [2, { "allowLoop": false, "allowSwitch": false }],
        "no-lone-blocks": 2,
        "no-mixed-spaces-and-tabs": 2,
        "no-multi-spaces": 2,
        "no-multi-str": 2,
        "no-multiple-empty-lines": [2, { "max": 1 }],
        "no-native-reassign": 2,
        "no-negated-in-lhs": 2,
        "no-new-object": 2,
        "no-new-require": 2,
        "no-new-symbol": 2,
        "no-new-wrappers": 2,
        "no-obj-calls": 2,
        "no-octal": 2,
        "no-octal-escape": 2,
        "no-path-concat": 2,
        "no-proto": 2,
        "no-redeclare": 2,
        "no-regex-spaces": 2,
        "no-return-assign": [2, "except-parens"],
        "no-self-assign": 2,
        "no-self-compare": 2,
        "no-sequences": 2,
        "no-shadow-restricted-names": 2,
        "no-spaced-func": 2,
        "no-sparse-arrays": 2,
        "no-this-before-super": 2,
        "no-throw-literal": 2,
        "no-trailing-spaces": 2,
        "no-undef": 2,
        "no-undef-init": 2,
        "no-unexpected-multiline": 2,
        "no-unmodified-loop-condition": 2,
        "no-unneeded-ternary": [2, { "defaultAssignment": false }],
        "no-unreachable": 2,
        "no-unsafe-finally": 2,
        "no-unused-vars": [2, { "vars": "all", "args": "none" }],
        "no-useless-call": 2,
        "no-useless-computed-key": 2,
        "no-useless-constructor": 2,
        "no-useless-escape": 0,
        "no-whitespace-before-property": 2,
        "no-with": 2,
        "one-var": [2, { "uninitialized": "always", "initialized": "never" }],
        "operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }],
        "padded-blocks": [2, "never"],
        "quotes": [2, "single", { "avoidEscape": true, "allowTemplateLiterals": true }],
        "semi": [2, "always"],
        "semi-spacing": [2, { "before": false, "after": true }],
        "space-before-blocks": [2, "always"],
        "space-before-function-paren": [2, "never"],
        "space-in-parens": [2, "never"],
        "space-infix-ops": 2,
        "space-unary-ops": [2, { "words": true, "nonwords": false }],
        "spaced-comment": [2, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!", ","] }],
        "template-curly-spacing": [2, "never"],
        "use-isnan": 2,
        "valid-typeof": 2,
        "wrap-iife": [2, "any"],
        "yield-star-spacing": [2, "both"],
        "yoda": [2, "never"],
        "prefer-const": 2,
        "no-debugger": 1,
        "object-curly-spacing": [2, "never"],
        "array-bracket-spacing": [2, "never"],
        "vue/jsx-uses-vars": 2
    },
    "extends": [
        "plugin:vue/base"
    ]
}

What did you do? Please include the actual source code causing the issue.
```eslint --fix --ext .js,.vue src

What did you expect to happen?

eslint --fix --ext .js,.vue src

fixed all the eslint error.

What actually happened? Please include the actual, raw output from ESLint.
occur errors.
✖ 185 problems (185 errors, 0 warnings)

question

Most helpful comment

@ffxsam In VSCode, eslint.validate option decides file types that ESLint does linting and autofix.

For example:

// User settings or `.vscode/settings.json` in workspace.
{
    "eslint.validate": [
        "javascript",
        {"autoFix": true, "language": "vue"}
    ]
}

All 8 comments

Thank you for this issue.

You are using ESLint 3.18. It does not support autofix on plugins which have processors. Please use the latest ESLint.

Thanks very much. It works after get the laster eslint.

@mysticatea I'm having this issue as well. ESLint 4.17, eslint-plugin-vue 4.2.2. --fix doesn't do anything, and there's no fix option presented within VS Code.

@ffxsam Would you open a new issue with details?

Sure thing.

@mysticatea actually never mind, it was my mistake! It was a rule that isn't fixable. 😊

However, I do have a semi-related question: in VS Code, eslint will show a light bulb in JS files to allow the user to fix an issue. But this doesn't seem to happen in Vue files.. not even in the <script> block. Any ideas on how to fix this, if it's even fixable?

@ffxsam In VSCode, eslint.validate option decides file types that ESLint does linting and autofix.

For example:

// User settings or `.vscode/settings.json` in workspace.
{
    "eslint.validate": [
        "javascript",
        {"autoFix": true, "language": "vue"}
    ]
}

Perfect!! Thank you!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rodrigoabb picture rodrigoabb  Â·  3Comments

lichnow picture lichnow  Â·  3Comments

Mouvedia picture Mouvedia  Â·  3Comments

apertureless picture apertureless  Â·  4Comments

maple-leaf picture maple-leaf  Â·  3Comments