11// @ts -check
22
3- // @ts -ignore
43import eslint from '@eslint/js' ;
54import stylistic from '@stylistic/eslint-plugin' ;
65import tseslint from 'typescript-eslint' ;
76import importPlugin from 'eslint-plugin-import' ;
87
9- // @ts -ignore
108import solid from 'eslint-plugin-solid' ;
119
10+
11+ import { FlatCompat } from '@eslint/eslintrc' ;
12+
13+ const compat = new FlatCompat ( ) ;
14+
15+ import { includeIgnoreFile } from '@eslint/compat' ;
16+ import path from 'node:path' ;
17+ import { fileURLToPath } from 'node:url' ;
18+
19+ const __filename = fileURLToPath ( import . meta. url ) ;
20+ const __dirname = path . dirname ( __filename ) ;
21+ const gitignorePath = path . resolve ( __dirname , '.gitignore' ) ;
22+
1223export default tseslint . config (
24+ includeIgnoreFile ( gitignorePath ) ,
1325 {
1426 ignores : [
1527 '**/*.d.ts' ,
@@ -24,9 +36,9 @@ export default tseslint.config(
2436 eslint . configs . recommended ,
2537 ...tseslint . configs . strict ,
2638 ...tseslint . configs . stylistic ,
39+ importPlugin . flatConfigs . recommended ,
2740 {
2841 files : [ 'src/**/*.{ts,tsx}' , 'api/**/*.ts' ] ,
29- ...importPlugin . flatConfigs . recommended ,
3042 languageOptions : {
3143 parserOptions : {
3244 ecmaVersion : 'latest' ,
@@ -55,12 +67,10 @@ export default tseslint.config(
5567 } ,
5668 } ,
5769 rules : {
58- '@stylistic/semi' : 'error' ,
59- '@stylistic/ts/indent' : [ 'error' , 2 ] ,
60- '@stylistic/jsx/jsx-indent' : [ 'error' , 2 ] ,
61- "comma-dangle" : [ "error" , "always-multiline" ] ,
62- "quotes" : [ "error" , "single" ] ,
63- 'semi' : [ "error" , "always" ] ,
70+ '@stylistic/semi' : [ 'error' , 'always' ] ,
71+ // '@stylistic/indent': ['error', 2],
72+ '@stylistic/comma-dangle' : [ 'error' , 'always-multiline' ] ,
73+ '@stylistic/quotes' : [ 'error' , 'single' ] ,
6474 }
6575 } ,
6676) ;
0 commit comments