-
Notifications
You must be signed in to change notification settings - Fork 1
/
eslint.config.mjs
79 lines (71 loc) · 1.82 KB
/
eslint.config.mjs
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// eslint.config.js
// npx eslint-flat-config-viewer
import antfu from '@antfu/eslint-config'
import { FlatCompat } from '@eslint/eslintrc'
import { transpileModule } from 'typescript'
const compat = new FlatCompat()
export default antfu({
unocss: true,
typescript: {
tsconfigPath: 'tsconfig.json',
},
vue: true,
// Disable jsonc and yaml support
jsonc: false,
yaml: false,
// Type of the project. 'lib' for libraries, the default is 'app'
type: 'lib',
// Enable stylistic formatting rules
// stylistic: true,
// Or customize the stylistic rules
stylistic: {
indent: 2, // 4, or 'tab'
quotes: 'single', // or 'double'
semi: true,
},
// `.eslintignore` is no longer supported in Flat config, use `ignores` instead
ignores: [
'**/fixtures',
'**/*.md',
// ...globs
],
formatters: {
/**
* Format CSS, LESS, SCSS files, also the `<style>` blocks in Vue
* By default uses Prettier
*/
css: true,
/**
* Format HTML files
* By default uses Prettier
*/
html: true,
/**
* Format Markdown files
* Supports Prettier and dprint
* By default uses Prettier
*/
markdown: 'prettier',
// From the second arguments they are ESLint Flat Configs
// you can have multiple configs
},
},
// From the second arguments they are ESLint Flat Configs
// you can have multiple configs
{
files: ['**/*.ts'],
rules: {
"typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-return": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-assignment": "off"
},
},
{
rules: {
'style/semi': ['error', 'never'],
},
}
)