Add eslint-plugin-import

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-01-22 19:57:10 +04:00
parent 0e4ac296cb
commit aa5696b5d3
400 changed files with 1414 additions and 892 deletions

View File

@@ -25,6 +25,7 @@
"dependencies": {
"@eslint/js": "^9.39.2",
"@stylistic/eslint-plugin": "^5.7.0",
"eslint-plugin-import-x": "^4.16.1",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"globals": "^17.0.0",

View File

@@ -3,6 +3,5 @@ import type { Linter } from "eslint";
export const baseConfigs = [
{ ignores: ["dist", "node_modules", "**/*.d.ts"] } satisfies Pick<Linter.Config, "ignores">,
{ files: ["**/*.js", "**/*.ts", "**/*.tsx"] } satisfies Pick<Linter.Config, "files">,
js.configs.recommended,
];

View File

@@ -0,0 +1,35 @@
import { createTypeScriptImportResolver } from "eslint-import-resolver-typescript";
import { importX } from "eslint-plugin-import-x";
export const importsConfigs = [
importX.flatConfigs.recommended,
{
rules: {
"import-x/order": [
"error",
{
"groups": ["builtin", "external", "parent", "sibling", "index"],
"distinctGroup": true,
"newlines-between": "always",
"pathGroups": [
{
// Aliases
pattern: "/**",
group: "external",
position: "after",
},
],
},
],
},
},
{
...importX.flatConfigs.typescript,
settings: {
"import-x/resolver-next": createTypeScriptImportResolver({
alwaysTryTypes: true,
project: "tsconfig.json",
}),
},
},
];

View File

@@ -3,9 +3,11 @@ import { browserLanguageOptionsConfig, nodeLanguageOptionsConfig } from "./langu
import { tsConfigs } from "./tsConfigs.ts";
import { reactConfigs } from "./reactConfigs.ts";
import { stylisticConfigs } from "./stylisticConfigs.ts";
import { importsConfigs } from "./importsConfigs.ts";
export const configs = {
base: baseConfigs,
imports: importsConfigs,
ts: tsConfigs,
languageOptions: {
browser: browserLanguageOptionsConfig,

View File

@@ -1,8 +1,8 @@
import type { Linter } from "eslint";
import tseslint from "typescript-eslint";
import { configs } from "typescript-eslint";
export const tsConfigs = [
...tseslint.configs.recommendedTypeChecked,
...configs.recommendedTypeChecked,
{
files: ["**/*.{ts,tsx}"],
rules: {