Files
sera-new-hp/eslint.config.js

88 lines
2.7 KiB
JavaScript

import pluginVue from 'eslint-plugin-vue';
import pluginTypeScript from 'typescript-eslint';
import pluginPrettier from 'eslint-plugin-prettier/recommended';
import parserVue from 'vue-eslint-parser';
import * as parserJavaScript from 'espree';
export default [
...pluginVue.configs['flat/essential'],
pluginPrettier,
{
files: ["**/*.vue"],
ignores: [
".nuxt/*",
".nuxt/**/*",
"src-manager/*",
"public/*"
],
plugins: {
'@typescript-eslint': pluginTypeScript.plugin
},
languageOptions: {
parser: parserVue,
parserOptions: {
parser: {
js: parserJavaScript,
ts: pluginTypeScript.parser
}
}
},
rules: {
"no-unused-vars": "error",
"no-unused-expressions": "error",
"no-lonely-if": "error",
"no-const-assign": "error",
"dot-notation": "error",
"no-undef": "error",
"default-case-last": "error",
"default-param-last": "error",
"default-case": "warn",
"eqeqeq": "error",
"func-style": [
"error",
"declaration",
{
"allowArrowFunctions": true,
"overrides": {
"namedExports": "ignore"
}
}
],
"max-params": [
"error",
3
],
"max-depth": [
"error",
3
],
"no-console": "warn",
"vue/html-indent": [
"error",
4,
{
"baseIndent": 1,
}
],
"vue/max-props": [
"error",
{
maxProps: 5
}
],
"vue/multi-word-component-names": "off",
// "@typescript-eslint/no-array-constructor": "error",
// "@typescript-eslint/no-unsafe-assignment": "error",
// "@typescript-eslint/no-unsafe-call": "error",
// "@typescript-eslint/no-unsafe-function-type": "error",
// "@typescript-eslint/no-unsafe-declaration-merging": "error",
// "@typescript-eslint/no-unsafe-enum-comparison": "error",
// "@typescript-eslint/no-unsafe-member-access": "error",
// "@typescript-eslint/no-unsafe-return": "error",
// "@typescript-eslint/no-unsafe-unary-minus": "error",
}
}
]