vuejs / eslint-plugin-vue

Official ESLint plugin for Vue.js
https://eslint.vuejs.org/
MIT License
4.47k stars 665 forks source link

Planning for v10 #2166

Open ota-meshi opened 1 year ago

ota-meshi commented 1 year ago

This issue lists the changes we plan to release in eslint-plugin-vue v10.

💥 Breaking Changes

✨ Enhancements

ishowman commented 1 year ago

from changelog, vue/no-dupe-keys only support in "eslint-plugin-vue": "^9.14.0",, but I install 9.13.0, and vscode still show the error with Duplicated key. I don't know why... image

here are my eslint config:

/* eslint-env node */
require('@rushstack/eslint-patch/modern-module-resolution');

module.exports = {
  root: true,
  extends: [
    'plugin:vue/vue3-essential',
    'eslint:recommended',
    '@vue/eslint-config-typescript',
    // fileURLToPath(new URL('./.eslintrc-auto-import.json', import.meta.url)),
    '@vue/eslint-config-prettier/skip-formatting',
    './.eslintrc-auto-import.json',
  ],
  parserOptions: {
    ecmaVersion: 'latest',
  },
  rules: {
    '@typescript-eslint/ban-ts-comment': 'off',
    '@typescript-eslint/no-unused-vars': [
      'error',
      {
        argsIgnorePattern: '^_',
      },
    ],
    '@typescript-eslint/no-explicit-any': 'off',
    curly: 'error',
    'vue/multi-word-component-names': 'off',
    // 'vue/no-dupe-keys': 'off',
  },
  globals: {
    FroalaEditor: true,
    CSV: true,
  },
};

package.json:

  "devDependencies": {
    "@commitlint/cli": "^15.0.0",
    "@commitlint/config-conventional": "^15.0.0",
    "@rushstack/eslint-patch": "^1.2.0",
    "@types/encoding-japanese": "^2.0.0",
    "@types/jsdom": "^21.1.0",
    "@types/node": "^18.14.2",
    "@types/papaparse": "^5.3.2",
    "@vitejs/plugin-vue": "^4.2.3",
    "@vitejs/plugin-vue-jsx": "^3.0.1",
    "@vue/eslint-config-prettier": "^7.1.0",
    "@vue/eslint-config-typescript": "^11.0.2",
    "@vue/test-utils": "^2.3.0",
    "@vue/tsconfig": "^0.1.3",
    "autoprefixer": "^10.4.0",
    "eslint": "^8.34.0",
    "eslint-plugin-vue": "^9.13.0",
    "husky": "^7.0.4",
    "jsdom": "^21.1.0",
    "lint-staged": "^12.1.2",
    "npm-run-all": "^4.1.5",
    "postcss": "^8.4.4",
    "prettier": "^2.8.4",
    "prettier-plugin-tailwindcss": "^0.2.6",
    "typescript": "~4.8.4",
    "unplugin-auto-import": "^0.16.1",
    "unplugin-vue-components": "^0.24.1",
    "vite": "^4.1.4",
    "vitest": "^0.29.1",
    "vue-tsc": "^1.6.5"
  },

@ota-meshi

ota-meshi commented 1 year ago

Please don't comment unrelated to this thread. Please follow #2096.

pauliesnug commented 4 months ago

As for full ESLint v9 support, which is related to the Flat Config milestone, we also need Type Declarations built-into the package so we can use type check configs.

FloEdelmann commented 4 months ago

@pauliesnug PR welcome! That doesn't even have to wait for v10 because it's not a breaking change.

pauliesnug commented 4 months ago

@pauliesnug PR welcome! That doesn't even have to wait for v10 because it's not a breaking change.

Oh awesome, thank you so much @FloEdelmann I'll open one tomorrow <3

jfrs commented 3 months ago

As for full ESLint v9 support, which is related to the Flat Config milestone, we also need Type Declarations built-into the package so we can use type check configs.

Somewhat related, https://github.com/eslint/eslint/pull/18134 was merged which adds experimental TypeScript config files.

MartinX3 commented 3 months ago

As for full ESLint v9 support, which is related to the Flat Config milestone, we also need Type Declarations built-into the package so we can use type check configs.

Somewhat related, eslint/eslint#18134 was merged which adds experimental TypeScript config files.

Which results into a

Vue: Could not find a declaration file for module eslint-plugin-vue.
path/ node_modules/.pnpm/ eslint-plugin-vue@9.27.0_eslint@9.9.0_jiti@1.21.6_/ node_modules/ eslint-plugin-vue/ lib/ index. js
implicitly has an any type.
Try npm i --save-dev @types/ eslint-plugin-vue if it exists or add a new declaration (.d. ts) file containing declare module 'eslint-plugin-vue';
tomvdk commented 1 month ago

Hi guys,

Any news on upgrading to ESLint 9.x please? ESLint 8 is EOL as of October 5th 2024. See: https://eslint.org/version-support.

Thanks!

Kind regeards,

Tom

FloEdelmann commented 1 month ago

@tomvdk ESLint v9 has already been supported since https://github.com/vuejs/eslint-plugin-vue/releases/tag/v9.24.1, ESLint v9's config format has been supported since https://github.com/vuejs/eslint-plugin-vue/releases/tag/v9.24.0.

tomvdk commented 1 month ago

@tomvdk ESLint v9 has already been supported since https://github.com/vuejs/eslint-plugin-vue/releases/tag/v9.24.1, ESLint v9's config format has been supported since https://github.com/vuejs/eslint-plugin-vue/releases/tag/v9.24.0.

Thanks @FloEdelmann for your feedback. I was puzzled by this as it was not yet integrated in https://github.com/vuejs/create-vue Also see: https://github.com/vuejs/create-vue/issues/488

I'm now checking out https://github.com/vuejs/create-eslint-config to make the switch to eslint 9.