-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patheslint.config.mjs
53 lines (47 loc) · 1.33 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
import node from '@strv/eslint-config-node'
import nodeopt from '@strv/eslint-config-node/optional'
import nodestyle from '@strv/eslint-config-node/style'
import ts from '@strv/eslint-config-typescript'
import tsopt from '@strv/eslint-config-typescript/optional'
import tsstyle from '@strv/eslint-config-typescript/style'
const globs = {
js: '**/*.js',
mjs: '**/*.mjs',
ts: '**/*.ts',
testts: '**/*.test.ts',
dts: '**/*.d.ts',
}
/** @type {Array<import("eslint").Linter.Config>} */
const config = [
{ linterOptions: {
reportUnusedDisableDirectives: true,
},
ignores: [
globs.js,
globs.dts,
'node_modules',
] },
{ files: [globs.ts, globs.mjs], ...node },
{ files: [globs.ts, globs.mjs], ...nodeopt },
{ files: [globs.ts, globs.mjs], ...nodestyle },
{ files: [globs.ts], ...ts },
{ files: [globs.ts], ...tsopt },
{ files: [globs.ts], ...tsstyle },
{ files: [globs.mjs, globs.ts],
rules: {
// We depend on TypeScript and tests to catch unresolved module paths
'import/no-unresolved': 'off',
'import/no-extraneous-dependencies': ['error', {
devDependencies: [
'*.config.{js,mjs}',
'test/**',
],
}],
} },
{ files: [globs.testts],
rules: {
'id-length': 'off',
'max-classes-per-file': 'off',
} },
]
export default config