-
Notifications
You must be signed in to change notification settings - Fork 187
/
eslint.config.mjs
66 lines (64 loc) · 1.69 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
import stylisticJs from '@stylistic/eslint-plugin-js'
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import globals from 'globals';
export default tseslint.config(
{ ignores: ["build", "lib", "examples", "bench"] },
eslint.configs.recommended,
...tseslint.configs.recommended,
...tseslint.configs.stylistic,
{
"languageOptions": {
"parser": tseslint.parser,
"parserOptions": {
"lib": ["es2023"],
"module": "commonjs",
"moduleResolution": "node",
"target": "es2022",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"include": [
"bin/**/*.ts",
"src/**/*.ts",
"test/**/*.ts"
],
"outDir": "./lib",
"declaration": true,
"pretty": true,
"sourceMap": true
},
"globals": {
...globals.commonjs,
...globals.node,
...globals.es6
},
},
},
{
plugins: {
'@stylistic/js': stylisticJs
},
files: [
"bin/**/*.ts",
'bench/**/*.ts',
'src/**/*.ts',
'test/**/*.ts',
],
rules: {
'@stylistic/js/max-len': [ 2, {
'code': 120,
'ignoreComments': true
} ],
"@stylistic/js/array-bracket-spacing": ["error", "always"],
"@stylistic/js/operator-linebreak": ["error", "after"],
"@stylistic/js/linebreak-style": ["error", "unix"],
"@stylistic/js/brace-style": ["error", "1tbs", { "allowSingleLine": true }],
'@stylistic/js/indent': ["error", 2, {
"SwitchCase": 1,
"FunctionDeclaration": { "parameters": "first" },
"FunctionExpression": { "parameters": "first" }
}],
}
}
);