-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheslint.config.js
59 lines (57 loc) · 1.92 KB
/
eslint.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import markdown from "@eslint/markdown";
import { readGitignoreFiles } from "eslint-gitignore";
import perfectionist from "eslint-plugin-perfectionist";
import pluginVue from "eslint-plugin-vue";
const scriptName = process?.env?.npm_lifecycle_event || "";
const strictMode = scriptName.includes("lint") || scriptName.includes("build");
export default [
{ files: ["**/*.{js,vue}"] },
{ ignores: [...readGitignoreFiles(), "*.min.*"] },
...pluginVue.configs["flat/strongly-recommended"],
perfectionist.configs["recommended-natural"],
...markdown.configs.processor,
{
plugins: {
vue: pluginVue,
},
rules: {
"arrow-body-style": "error",
"consistent-return": "error",
"curly": "error",
"default-case-last": "error",
"eqeqeq": "error",
"guard-for-in": "error",
"no-console": [strictMode ? "warn" : "off", { allow: ["error", "info"] }],
"no-debugger": strictMode ? "warn" : "off",
"no-duplicate-imports": "error",
"no-extra-boolean-cast": "error",
"no-lone-blocks": "error",
"no-lonely-if": "error",
"no-loop-func": "error",
"no-negated-condition": "error",
"no-return-assign": "error",
"no-self-compare": "error",
"no-useless-catch": "error",
"no-useless-rename": "error",
"no-useless-return": "error",
"object-shorthand": [
"error",
"always",
{ avoidExplicitReturnArrows: true },
],
"prefer-const": "error",
"prefer-destructuring": "error",
"prefer-rest-params": "error",
"prefer-spread": "error",
"prefer-template": "error",
"require-await": "error",
"sort-vars": "error",
"vue/component-name-in-template-casing": "error",
"vue/html-indent": ["error", 2],
"vue/html-self-closing": "off",
"vue/max-attributes-per-line": "off",
"vue/singleline-html-element-content-newline": "off",
"yoda": "error",
},
},
];