question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Is two versions eslint-version-vue essential?

See original GitHub issue

Tell us about your environment

  • ESLint version: 5.9.0
  • eslint-plugin-vue version: 5.0.0-beta.5
  • Node version: v8.11.3

Please show your full configuration:

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: ['plugin:vue/recommended', '@vue/prettier'],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    curly: 'error',
    eqeqeq: 'error',
    'no-trailing-spaces': 'error',
    'vue/prop-name-casing': 'error',
    'vue/html-closing-bracket-spacing': 'error',
    'vue/mustache-interpolation-spacing': 'error',
    'prettier/prettier': [
      'error',
      {
        trailingComma: 'all',
        singleQuote: true,
        bracketSpacing: true,
        jsxBracketSameLine: true,
      },
    ],
  },
  parserOptions: {
    parser: 'babel-eslint',
  },
};

What did you do?

yarn lint
# package.json
"scripts": {
    "lint": "vue-cli-service lint --fix && vue-cli-service lint:style --fix",
    "lint:style": "vue-cli-service lint:style"
  },

What did you expect to happen? yarn lint should only fix normal format issues like before, but it changed almost all project files. I try to figure out what happended, only find a broken yarn.lock with not resolved git conflicts. So I fixed the lock file, and I also find two version eslint-version-vue in yarn.lock, is both versions essential? or maybe this two versions plugin cause such a mess?

eslint-plugin-vue@4.7.1 may caused by dependencies of cli-plugin-eslint in package.json.

Two version eslint-plugin-vue log

yarn why v1.12.3
[1/4] Why do we have the module "eslint-plugin-vue"...?
[2/4] Initialising dependency graph...
[3/4] Finding dependency...
[4/4] Calculating file sizes...
=> Found "eslint-plugin-vue@5.0.0-beta.5"
info Has been hoisted to "eslint-plugin-vue"
info This module exists because it's specified in "devDependencies".
info Disk size without dependencies: "476KB"
info Disk size with unique dependencies: "2.46MB"
info Disk size with transitive dependencies: "9.16MB"
info Number of shared dependencies: 12
=> Found "@vue/cli-plugin-eslint#eslint-plugin-vue@4.7.1"
info This module exists because "@vue#cli-plugin-eslint" depends on it.
info Disk size without dependencies: "420KB"
info Disk size with unique dependencies: "2.41MB"
info Disk size with transitive dependencies: "9.11MB"
info Number of shared dependencies: 12

What actually happened?

Before lint

<el-table-column
        prop="id"
        width="80"
        align="center"
        label="ID"
      />

After lint

<ElTableColumn prop="id" width="80" align="center" label="ID" />

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:11 (7 by maintainers)

github_iconTop GitHub Comments

3reactions
sodateacommented, Nov 29, 2018

In v3.1 we upgraded the default eslint version to v5 but we did not want to break projects created by @vue/cli v3.0.x, hence the co-existence of two versions. Projects created with old versions of @vue/cli would default to the internal ESLint dependency, while new ones explicit specify the required versions in package.json.

Related commits: https://github.com/vuejs/vue-cli/pull/2560 https://github.com/vuejs/vue-cli/commit/7ccf7b37fa31fb80bd3137424a1be19577a2fb99#diff-a02a5204c2efd804c04f9b1277d251f5R13

2reactions
michalsnikcommented, Nov 29, 2018

The reason is prettier @Priestch. Since not long ago Prettier supports Vue templates, and if something is able to fit within the set limit it will be in one line. I bet if you add few more attributes it’ll be wrapped. If you use prettier configuration - it disables all vue rules responsible for formatting and does it all by itself: https://github.com/prettier/eslint-config-prettier/blob/master/vue.js

Read more comments on GitHub >

github_iconTop Results From Across the Web

Available rules - eslint-plugin-vue
Rule ID Description vue/multi‑word‑component‑names require component names to be always multi‑word... vue/no‑arrow‑functions‑in‑watch disallow using arrow functions to define watcher... vue/no‑computed‑properties‑in‑data disallow accessing computed properties in data...
Read more >
Vue 2 - ESLint + Standard + Prettier - Stack Overflow
I created 2 projects and dumped the configuration of the standard ... CLI's current version of @vue/eslint-config-standard is throwing an ...
Read more >
Migrating to v7.0.0 - ESLint - Pluggable JavaScript Linter
To address: Make sure you upgrade to at least Node.js 10.12.0 when using ESLint v7.0.0. One important thing to double check is the...
Read more >
@vue/eslint-config-typescript - npm
eslint-config-typescript for vue-cli. Latest version: 11.0.2, last published: 3 months ago. Start using @vue/eslint-config-typescript in ...
Read more >
How To Configure ESLint and Prettier for Vue.js - DigitalOcean
While it was rapidly adopted by the React and larger JavaScript (and even CSS!) ecosystems, Vue users were initially left in the dark,...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found