-
Notifications
You must be signed in to change notification settings - Fork 1
/
eslint.config.js
40 lines (39 loc) · 1.25 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
import js from "@eslint/js";
import oxlint from "eslint-plugin-oxlint";
import sonarjs from "eslint-plugin-sonarjs";
import tseslint from "typescript-eslint";
export default tseslint.config(
{
ignores: ["dist/*", "docs/*", "**/*.d.ts", "examples/*", "scripts/*"],
},
js.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
...tseslint.configs.stylisticTypeChecked,
sonarjs.configs.recommended,
{
rules: {
"@typescript-eslint/no-explicit-any": 0,
"sonarjs/max-switch-cases": 0,
"@typescript-eslint/consistent-type-definitions": 0,
"sonarjs/single-char-in-character-classes": 0,
"sonarjs/slow-regex": 0,
"sonarjs/function-return-type": 0,
// sonarjs/sonar-no-fallthrough crashed in 2.0.1
"sonarjs/sonar-no-fallthrough": 0,
"sonarjs/single-character-alternation": 0,
"sonarjs/anchor-precedence": 0,
"sonarjs/todo-tag": 0,
"sonarjs/redundant-type-aliases": 0,
"sonarjs/cognitive-complexity": "warn",
},
languageOptions: {
ecmaVersion: "latest",
sourceType: "module",
parserOptions: {
project: true,
tsconfigDirName: import.meta.dirname,
},
},
},
oxlint.configs["flat/recommended"], // oxlint should be the last one
);