@@ -2,11 +2,15 @@ const tsPlugin = require("@typescript-eslint/eslint-plugin");
22const tsParser = require ( "@typescript-eslint/parser" ) ;
33const prettierRecommended = require ( "eslint-plugin-prettier/recommended" ) ;
44const simpleImportSort = require ( "eslint-plugin-simple-import-sort" ) ;
5+ const { importX } = require ( "eslint-plugin-import-x" ) ;
6+ const jestPlugin = require ( "eslint-plugin-jest" ) ;
7+ const { includeIgnoreFile } = require ( "eslint/config" ) ;
8+ const path = require ( "path" ) ;
9+
10+ const gitignorePath = path . resolve ( __dirname , ".gitignore" ) ;
511
612module . exports = [
7- {
8- ignores : [ "node_modules/**" , "dist/**" , "src/version.ts" ] ,
9- } ,
13+ includeIgnoreFile ( gitignorePath , { gitignoreResolution : true } ) ,
1014 {
1115 files : [ "**/*.ts" ] ,
1216 languageOptions : {
@@ -19,11 +23,15 @@ module.exports = [
1923 plugins : {
2024 "@typescript-eslint" : tsPlugin ,
2125 "simple-import-sort" : simpleImportSort ,
26+ "import-x" : importX ,
2227 } ,
2328 rules : {
2429 ...tsPlugin . configs . recommended . rules ,
2530 "simple-import-sort/imports" : "error" ,
2631 "simple-import-sort/exports" : "error" ,
32+ "import-x/first" : "error" ,
33+ "import-x/newline-after-import" : "error" ,
34+ "import-x/no-duplicates" : "error" ,
2735 "no-unused-vars" : "off" ,
2836 "@typescript-eslint/no-unused-vars" : [
2937 "warn" ,
@@ -35,5 +43,9 @@ module.exports = [
3543 ] ,
3644 } ,
3745 } ,
46+ {
47+ files : [ "test/**/*.ts" ] ,
48+ ...jestPlugin . configs [ "flat/recommended" ] ,
49+ } ,
3850 prettierRecommended ,
3951] ;
0 commit comments