-
Notifications
You must be signed in to change notification settings - Fork 0
/
eslint.config.js
36 lines (35 loc) · 1.14 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
// @ts-check
import eslint from '@eslint/js';
import { config, configs as tseslintConfigs } from 'typescript-eslint';
import stylistic from '@stylistic/eslint-plugin';
export default config(
{
languageOptions: {
parserOptions: {
project: true,
tsconfigRootDir: import.meta.dirname,
},
},
extends: [
eslint.configs.recommended,
...tseslintConfigs.strictTypeChecked,
...tseslintConfigs.stylisticTypeChecked,
stylistic.configs['recommended-flat']
],
rules: {
'object-shorthand': ['warn', 'always', { avoidExplicitReturnArrows: true }],
'operator-assignment': 'warn',
'@typescript-eslint/no-import-type-side-effects': 'error',
'@stylistic/comma-dangle': ['warn', 'only-multiline'],
'@stylistic/semi': ['warn', 'always'],
'@stylistic/arrow-parens': ['warn', 'as-needed'],
'@stylistic/max-statements-per-line': ['warn', { max: 2 }],
'@stylistic/member-delimiter-style': ['warn', { multiline: { delimiter: 'semi' } }]
},
ignores: ['dist/**']
},
{
files: ['**/*.js', '**/*.test.ts'],
...tseslintConfigs.disableTypeChecked,
},
);