1 |
// @ts-check |
2 |
|
3 |
import eslint from "@eslint/js"; |
4 |
import globals from "globals"; |
5 |
import tseslint from "typescript-eslint"; |
6 |
|
7 |
export default tseslint.config( |
8 |
{ |
9 |
extends: [eslint.configs.recommended, ...tseslint.configs.recommended], |
10 |
languageOptions: { |
11 |
ecmaVersion: "latest", |
12 |
sourceType: "module", |
13 |
globals: { |
14 |
...globals.node, |
15 |
...globals.es2021 |
16 |
}, |
17 |
parserOptions: { |
18 |
project: true, |
19 |
tsconfigRootDir: import.meta.dirname, |
20 |
ecmaVersion: "latest", |
21 |
sourceType: "module" |
22 |
} |
23 |
}, |
24 |
rules: { |
25 |
indent: "off", |
26 |
"linebreak-style": ["error", "unix"], |
27 |
quotes: [ |
28 |
"warn", |
29 |
"double", |
30 |
{ |
31 |
avoidEscape: true |
32 |
} |
33 |
], |
34 |
semi: ["warn", "always"], |
35 |
"@typescript-eslint/no-var-requires": "off", |
36 |
"@typescript-eslint/consistent-type-imports": [ |
37 |
"error", |
38 |
{ disallowTypeAnnotations: false } |
39 |
], |
40 |
"@typescript-eslint/no-misused-promises": [ |
41 |
"warn", |
42 |
{ |
43 |
checksVoidReturn: false |
44 |
} |
45 |
], |
46 |
"@typescript-eslint/explicit-member-accessibility": [ |
47 |
"error", |
48 |
{ accessibility: "explicit" } |
49 |
], |
50 |
"@typescript-eslint/no-unused-vars": "off" |
51 |
}, |
52 |
files: ["src/**/*.ts"], |
53 |
ignores: [ |
54 |
"**/*.js", |
55 |
"**/node_modules", |
56 |
"**/extensions", |
57 |
"**/docs", |
58 |
"**/*.bak", |
59 |
"**/tests", |
60 |
"*.blaze.ts", |
61 |
"build" |
62 |
] |
63 |
}, |
64 |
{ |
65 |
rules: { |
66 |
"@typescript-eslint/no-unused-vars": [ |
67 |
"warn", |
68 |
{ |
69 |
argsIgnorePattern: "^_", |
70 |
varsIgnorePattern: "^_", |
71 |
caughtErrorsIgnorePattern: "^_" |
72 |
} |
73 |
] |
74 |
}, |
75 |
files: ["src/**/*.ts"], |
76 |
ignores: ["**/*.d.ts"] |
77 |
} |
78 |
); |