@@ -4,6 +4,8 @@ import { fixupConfigRules, fixupPluginRules } from "@eslint/compat";
44import _import from "eslint-plugin-import" ;
55import js from "@eslint/js" ;
66import { FlatCompat } from "@eslint/eslintrc" ;
7+ import tsPlugin from "@typescript-eslint/eslint-plugin" ;
8+ import eslintPluginUnusedImports from "eslint-plugin-unused-imports" ;
79
810const __filename = fileURLToPath ( import . meta. url ) ;
911const __dirname = path . dirname ( __filename ) ;
@@ -25,6 +27,8 @@ export default [
2527 {
2628 plugins : {
2729 import : fixupPluginRules ( _import ) ,
30+ "@typescript-eslint" : tsPlugin ,
31+ "unused-imports" : eslintPluginUnusedImports ,
2832 } ,
2933
3034 languageOptions : {
@@ -34,10 +38,34 @@ export default [
3438 } ,
3539
3640 rules : {
41+ // Import rules
3742 "import/order" : [ "error" ] ,
3843 "import/no-unused-modules" : [ "error" ] ,
44+ "import/no-namespace" : [ "error" ] ,
45+ "unused-imports/no-unused-imports" : [ "error" ] ,
46+
3947 "import/no-useless-path-segments" : [ "error" ] ,
4048 "react/destructuring-assignment" : [ "error" , "always" ] ,
49+
50+ // Coding style rules
51+ "comma-dangle" : [ "error" , "always-multiline" ] ,
52+ "no-unreachable" : [ "error" ] ,
53+ "prefer-const" : [ "error" ] ,
54+ "no-unused-vars" : [
55+ "error" ,
56+ {
57+ vars : "all" ,
58+ varsIgnorePattern : "^_" ,
59+ args : "after-used" ,
60+ argsIgnorePattern : "^_" ,
61+ } ,
62+ ] ,
63+ "@typescript-eslint/no-explicit-any" : [ "error" ] ,
64+ semi : [ "error" , "always" ] ,
65+
66+ // Identation rules
67+ indent : [ "error" , 2 ] ,
68+
4169 "no-restricted-properties" : [
4270 "error" ,
4371 {
0 commit comments