11import { defineConfig } from 'eslint/config' ;
22import eslint from '@eslint/js' ;
3- import { configs , parser } from 'typescript-eslint' ;
43import stylistic from '@stylistic/eslint-plugin' ;
5- import importPlugin from 'eslint-plugin-import' ;
6- // @ts -expect-error ignore type errors
7- import pluginPromise from 'eslint-plugin-promise' ;
4+ import { configs , parser } from 'typescript-eslint' ;
5+ import eslintImport from 'eslint-plugin-import-x' ;
86
97import { includeIgnoreFile } from '@eslint/compat' ;
108import path from 'node:path' ;
@@ -14,28 +12,24 @@ const __filename = fileURLToPath(import.meta.url);
1412const __dirname = path . dirname ( __filename ) ;
1513const gitignorePath = path . resolve ( __dirname , '.gitignore' ) ;
1614
17- const eslintConfig = defineConfig (
15+ export default defineConfig (
16+ includeIgnoreFile ( gitignorePath ) ,
1817 {
1918 ignores : [
20- ...( includeIgnoreFile ( gitignorePath ) . ignores || [ ] ) ,
2119 '**/*.d.ts' ,
22- 'src/tsconfig.json' ,
23- 'src/stories' ,
24- '**/*.css' ,
20+ '**/*.js' ,
2521 'node_modules/**/*' ,
2622 'out' ,
27- 'cdk.out' ,
2823 'dist' ,
29- 'bin ' ,
30- 'esm ' ,
24+ 'cdk.out ' ,
25+ '.output ' ,
3126 ] ,
3227 } ,
3328 eslint . configs . recommended ,
34- configs . strict ,
35- configs . stylistic ,
36- pluginPromise . configs [ 'flat/recommended' ] ,
29+ ...configs . strict ,
30+ ...configs . stylistic ,
3731 {
38- files : [ '**/*.ts ' , '*.js' ] ,
32+ files : [ '{bin,lib,lambda}/ **/*.{ts,tsx} ' , '*.js' ] ,
3933 plugins : {
4034 '@stylistic' : stylistic ,
4135 } ,
@@ -44,16 +38,16 @@ const eslintConfig = defineConfig(
4438 sourceType : 'module' ,
4539 parser,
4640 parserOptions : {
47- projectService : true ,
4841 tsconfigRootDir : __dirname ,
42+ allowDefaultProject : [ '*.ts' ] ,
4943 } ,
5044 } ,
5145 extends : [
52- importPlugin . flatConfigs . recommended ,
53- importPlugin . flatConfigs . typescript ,
46+ eslintImport . flatConfigs . recommended ,
47+ eslintImport . flatConfigs . typescript ,
5448 ] ,
5549 settings : {
56- 'import/resolver' : {
50+ 'import-x /resolver' : {
5751 // You will also need to install and configure the TypeScript resolver
5852 // See also https://github.com/import-js/eslint-import-resolver-typescript#configuration
5953 'typescript' : true ,
@@ -64,10 +58,8 @@ const eslintConfig = defineConfig(
6458 '@stylistic/semi' : [ 'error' , 'always' ] ,
6559 '@stylistic/indent' : [ 'error' , 2 ] ,
6660 '@stylistic/comma-dangle' : [ 'error' , 'always-multiline' ] ,
67- '@stylistic/arrow-parens' : [ 'error' , 'always' ] ,
6861 '@stylistic/quotes' : [ 'error' , 'single' ] ,
62+ 'awscdk/require-jsdoc' : 'off' ,
6963 } ,
7064 } ,
7165) ;
72-
73- export default eslintConfig ;
0 commit comments