eslint-plugin-vuetify
eslint-plugin-vuetify copied to clipboard
Support ESLint 9.x
ESLint v9.0.0 is released !
It would be awesome to have official ESLint 9 support. https://eslint.org/blog/2024/04/eslint-v9.0.0-released/
eslint-plugin-vue now support flat config. Can this repo do the same please?
import vuetify from 'eslint-config-vuetify'
{
...
rules: {
...vuetify.rules,
// Other rules
}
...
}
import vuetify from 'eslint-config-vuetify' { ... rules: { ...vuetify.rules, // Other rules } ... }
// .eslintrc.js https://eslint.org/docs/latest/use/configure/migration-guide
@kieuminhcanh meant to have dependency support for ESLint 9.x; still get ERESOLVE unable to resolve dependency tree for npm update:
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/eslint
npm ERR! dev eslint@"^9.0.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@"^8.0.0" from [email protected]
npm ERR! node_modules/eslint-plugin-vuetify
npm ERR! dev eslint-plugin-vuetify@"^2.4.0" from the root project
@kieuminhcanh Can you please reopen? This request was for eslint-plugin-vuetify not eslint-config-vuetify.
@1Luc1 I tried updating this repo to 9 but all the tests fail for not being flat file config. I will take a look to see if I can get them updated tomorrow and make a PR
Hi, are there any updates on this?
Tried brute force to use the plugin in flat config file.
After installing eslint-plugin-vuetify , I have added the following lines to eslint.config.mjs as all other plugins:
import vuetifyPlugin from "eslint-plugin-vuetify";
. . .
plugins: {
. . .
vuetify: vuetifyPlugin
}
. . .
rules: {
. . .
...vuetifyPlugin.configs["base"].rules,
}
elicited a
TypeError: Error while loading rule 'vuetify/no-deprecated-classes': Cannot read properties of undefined (reading 'defineTemplateBodyVisitor')
This means I should I wait for an official release that supports ESlint 9.0? Thanks! mario
I found you can use this guide for compatibility
https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config
import { FlatCompat } from "@eslint/eslintrc"
import pluginVue from "eslint-plugin-vue"
import pluginVuetify from "eslint-plugin-vuetify"
const compat = new FlatCompat({
config: pluginVuetify.configs.recommended,
})
export default [
...pluginVue.configs["flat/essential"],
...pluginVue.configs["flat/recommended"],
...pluginVue.configs["flat/strongly-recommended"],
...compat.extends("plugin:vue/base", "plugin:vuetify/base"),
]
Yes, thanks! This helps but not solve the problem that a simple npm up fails because it expects eslint 8.56.0 and I should remember to use npm up --force
Hi, is there any update on this? Eslint 9.8 is already released and we cannot upgrade without using --force. Thanks.
Is this going anywhere? What is the recommended way to upgrade a large project without an eslint plugin?
I submitted a PR that fixes this and makes eslint-plugin-vuetifyc compatible with eslint 9.x
https://github.com/vuetifyjs/eslint-plugin-vuetify/pull/102
To use my fork until they merge my PR into the official npm package:
Clone https://github.com/jewpaltz/eslint-plugin-vuetify into a folder in your repo (creating a submodule).
Then in your eslint.config.js add
// eslint.config.js
import pluginVuetify from "../eslint-plugin-vuetify/src/configs/flat/base.js" // or whatever the path to your submodule is.
// To use the `recommended` configuration (including extra rules for the grid system) replace `base.js` with `recommended.js`
export default [
pluginVuetify
]
Remember that my code will need to be available to your CI/CD system. So keep that in mind when cloning your repo. Make sure that it's included in your git repo.