eslint-plugin-vue
eslint-plugin-vue copied to clipboard
Planning for v10
This issue lists the changes we plan to release in eslint-plugin-vue v10.
💥 Breaking Changes
- #2153
- Add support for
defineNuxtComponent()
- Drop support for Node.js v14, v16
- Drop support for ESLint v7(?) and use use
ecmaVersion: 'latest'
(#1991). - Change "Versioning Policy"?
- Allow minor versions of this plugin to enhance the checks for new features in Vue and Nuxt.
- Allow updating deprecated/reserved HTML+SVG element tag names in minor versions, see #2171
- Change presets, or #1951
- #1986
- #2036
- use
ecmaVersion: 'latest'
- Make
vue/block-order
the recommended rule instead ofvue/component-tags-order
. - Add
vue/no-deprecated-delete-set
tovue3-essential
config - Add
vue/no-deprecated-model-definition
tovue3-essential
config - And more...
- https://github.com/vuejs/vue-eslint-parser/pull/195
- Remove deprecated rules: https://eslint.vuejs.org/rules/#deprecated
✨ Enhancements
- #2153
- Support for Nuxt v3
- Add support for
defineNuxtComponent()
- (Related to #2057)
- (Related to #2191)
- Add support for auto imports, and
"#imports"
- (Related to #1969)
- Add support for
- #1291
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...
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
Please don't comment unrelated to this thread. Please follow #2096.
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.
@pauliesnug PR welcome! That doesn't even have to wait for v10 because it's not a breaking change.
@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
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.
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/ [email protected][email protected][email protected]_/ 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';