forked from vitest-dev/vitest
-
Notifications
You must be signed in to change notification settings - Fork 0
/
eslint.config.js
123 lines (119 loc) · 2.95 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import antfu, { GLOB_SRC } from '@antfu/eslint-config'
export default antfu(
{
vue: true,
// Disable tests rules because we need to test with various setup
test: false,
// This replaces the old `.gitignore`
ignores: [
'**/coverage',
'**/*.snap',
'**/bench.json',
'**/fixtures',
'**/assets/**',
'**/*.d.ts',
'**/*.timestamp-*',
'test/core/src/self',
'test/cache/cache/.vitest-base/results.json',
'test/core/src/wasm/wasm-bindgen-no-cyclic',
'test/workspaces/results.json',
'test/workspaces-browser/results.json',
'test/reporters/fixtures/with-syntax-error.test.js',
'test/network-imports/public/slash@3.0.0.js',
'test/coverage-test/src/transpiled.js',
'test/coverage-test/src/original.ts',
'examples/**/mockServiceWorker.js',
'examples/sveltekit/.svelte-kit',
'packages/browser/**/esm-client-injector.js',
],
},
{
rules: {
// prefer global Buffer to not initialize the whole module
'node/prefer-global/buffer': 'off',
'node/prefer-global/process': 'off',
'no-empty-pattern': 'off',
'antfu/indent-binary-ops': 'off',
'unused-imports/no-unused-imports': 'error',
'style/member-delimiter-style': [
'error',
{
multiline: { delimiter: 'none' },
singleline: { delimiter: 'semi' },
},
],
// let TypeScript handle this
'no-undef': 'off',
'ts/no-invalid-this': 'off',
'eslint-comments/no-unlimited-disable': 'off',
'curly': ['error', 'all'],
// TODO: migrate and turn it back on
'ts/ban-types': 'off',
'no-restricted-imports': [
'error',
{
paths: ['path'],
},
],
'import/no-named-as-default': 'off',
},
},
{
files: [`packages/*/*.{js,mjs,d.ts}`],
rules: {
'antfu/no-import-dist': 'off',
},
},
{
files: [`packages/${GLOB_SRC}`],
rules: {
'no-restricted-imports': [
'error',
{
paths: ['vitest', 'path'],
},
],
},
},
{
// these files define vitest as peer dependency
files: [`packages/{coverage-*,ui,browser,web-worker}/${GLOB_SRC}`],
rules: {
'no-restricted-imports': [
'error',
{
paths: ['path'],
},
],
},
},
{
files: [
`docs/${GLOB_SRC}`,
],
rules: {
'style/max-statements-per-line': 'off',
'import/newline-after-import': 'off',
'import/first': 'off',
'unused-imports/no-unused-imports': 'off',
'ts/method-signature-style': 'off',
},
},
{
files: [
`docs/${GLOB_SRC}`,
`packages/web-worker/${GLOB_SRC}`,
`test/core/${GLOB_SRC}`,
],
rules: {
'no-restricted-globals': 'off',
},
},
{
files: [`packages/vite-node/${GLOB_SRC}`],
rules: {
// false positive on "exports" variable
'antfu/no-cjs-exports': 'off',
},
},
)