Skip to content

Commit d7a0d34

Browse files
committed
Fix the ESLint config
1 parent d08e016 commit d7a0d34

1 file changed

Lines changed: 30 additions & 26 deletions

File tree

eslint.config.js

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
// @ts-check
22

3+
import { defineConfig } from 'eslint/config';
34
import eslint from '@eslint/js';
45
import stylistic from '@stylistic/eslint-plugin';
5-
import tseslint from 'typescript-eslint';
6+
import {parser, configs} from 'typescript-eslint';
67
import importPlugin from 'eslint-plugin-import';
7-
8-
import solid from 'eslint-plugin-solid';
9-
10-
11-
import { FlatCompat } from '@eslint/eslintrc';
12-
13-
const compat = new FlatCompat();
8+
import pluginPromise from 'eslint-plugin-promise';
9+
import solid from "eslint-plugin-solid/configs/typescript";
1410

1511
import { includeIgnoreFile } from '@eslint/compat';
1612
import path from 'node:path';
@@ -20,7 +16,7 @@ const __filename = fileURLToPath(import.meta.url);
2016
const __dirname = path.dirname(__filename);
2117
const gitignorePath = path.resolve(__dirname, '.gitignore');
2218

23-
export default tseslint.config(
19+
export default defineConfig(
2420
includeIgnoreFile(gitignorePath),
2521
{
2622
ignores: [
@@ -34,22 +30,28 @@ export default tseslint.config(
3430
],
3531
},
3632
eslint.configs.recommended,
37-
...tseslint.configs.strict,
38-
...tseslint.configs.stylistic,
39-
importPlugin.flatConfigs.recommended,
33+
...configs.strict,
34+
...configs.stylistic,
35+
// @ts-expect-error eslint-plugin-promise has no types
36+
pluginPromise.configs['flat/recommended'],
4037
{
41-
files: ['src/**/*.{ts,tsx}', 'api/**/*.ts'],
38+
files: ['src/**/*.{ts,tsx}'],
39+
...solid,
4240
languageOptions: {
41+
parser,
42+
ecmaVersion: 'latest',
43+
sourceType: 'module',
4344
parserOptions: {
44-
ecmaVersion: 'latest',
45-
sourceType: 'module',
45+
project: './tsconfig.json',
46+
tsconfigRootDir: import.meta.dirname,
4647
},
4748
},
49+
extends: [
50+
importPlugin.flatConfigs.recommended,
51+
importPlugin.flatConfigs.typescript,
52+
],
4853
plugins: {
4954
'@stylistic': stylistic,
50-
'@stylistic/ts': stylistic,
51-
'@stylistic/jsx': stylistic,
52-
solid,
5355
},
5456
settings: {
5557
'import/parsers': {
@@ -58,19 +60,21 @@ export default tseslint.config(
5860
},
5961
'import/internal-regex': '^~/',
6062
'import/resolver': {
61-
node: {
62-
extensions: ['.ts', '.tsx'],
63-
},
64-
typescript: {
65-
alwaysTryTypes: true,
66-
},
63+
node: true,
64+
typescript: true,
6765
},
6866
},
6967
rules: {
7068
'@stylistic/semi': ['error', 'always'],
71-
// '@stylistic/indent': ['error', 2],
69+
'@stylistic/indent': ['error', 2],
7270
'@stylistic/comma-dangle': ['error', 'always-multiline'],
7371
'@stylistic/quotes': ['error', 'single'],
74-
}
72+
'import/namespace': 'off',
73+
'import/no-unresolved': 'off',
74+
'import/default': 'off',
75+
'import/no-duplicates': 'off',
76+
'import/no-named-as-default': 'off',
77+
'import/no-named-as-default-member': 'off',
78+
},
7579
},
7680
);

0 commit comments

Comments
 (0)