@@ -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,
|
||||
];
|
||||
|
||||
35
packages/eslint-config/src/importsConfigs.ts
Normal file
35
packages/eslint-config/src/importsConfigs.ts
Normal 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",
|
||||
}),
|
||||
},
|
||||
},
|
||||
];
|
||||
@@ -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,
|
||||
|
||||
@@ -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: {
|
||||
|
||||
Reference in New Issue
Block a user