39 lines
996 B
JavaScript
39 lines
996 B
JavaScript
import pluginVue from "eslint-plugin-vue";
|
|
import vueTsEslintConfig from "@vue/eslint-config-typescript";
|
|
import prettierConfig from "@vue/eslint-config-prettier";
|
|
|
|
export default [
|
|
{
|
|
name: "app/files-to-lint",
|
|
files: ["**/*.{ts,mts,tsx,vue}"],
|
|
},
|
|
|
|
{
|
|
name: "app/files-to-ignore",
|
|
ignores: ["**/dist/**", "**/dist-ssr/**", "**/coverage/**"],
|
|
},
|
|
|
|
...pluginVue.configs["flat/essential"],
|
|
...vueTsEslintConfig(),
|
|
prettierConfig,
|
|
|
|
{
|
|
rules: {
|
|
// Note: you must disable the base rule as it can report incorrect errors
|
|
"no-unused-expressions": "off",
|
|
"@typescript-eslint/no-unused-expressions": "off",
|
|
// TODO: theres too many of these from before ts
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
// TODO: finish the ts conversion
|
|
"vue/block-lang": "off",
|
|
"vue/multi-word-component-names": "off",
|
|
"vue/no-mutating-props": [
|
|
"error",
|
|
{
|
|
shallowOnly: true,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
];
|