5 Commits
1.0.5 ... main

Author SHA1 Message Date
98e16522c3 add settings
All checks were successful
Build ESLint Config and Release / build-and-release (push) Successful in 3s
2026-01-03 21:07:41 +01:00
8222bfb350 add project service config
All checks were successful
Build ESLint Config and Release / build-and-release (push) Successful in 2s
2026-01-03 20:56:47 +01:00
dc26326eab fix tseslint configuration
All checks were successful
Build ESLint Config and Release / build-and-release (push) Successful in 3s
2026-01-03 20:51:42 +01:00
0077ffb3c9 type checking for ts files only
All checks were successful
Build ESLint Config and Release / build-and-release (push) Successful in 3s
2026-01-03 20:42:34 +01:00
c9cd6fc0cc make eslint 9 compliant
All checks were successful
Build ESLint Config and Release / build-and-release (push) Successful in 3s
2026-01-03 20:37:36 +01:00
2 changed files with 43 additions and 34 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@sebastianbrenner/eslint-config", "name": "@sebastianbrenner/eslint-config",
"version": "1.0.5", "version": "1.2.0",
"type": "module", "type": "module",
"main": "./index.js", "main": "./index.js",
"scripts": { "scripts": {
@@ -12,7 +12,6 @@
}, },
"peerDependencies": { "peerDependencies": {
"typescript": "5", "typescript": "5",
"@typescript-eslint/eslint-plugin": "8.48.1",
"@typescript-eslint/parser": "8.48.1", "@typescript-eslint/parser": "8.48.1",
"eslint": "^9.0.0", "eslint": "^9.0.0",
"eslint-plugin-import": "2.32.0", "eslint-plugin-import": "2.32.0",

View File

@@ -1,6 +1,5 @@
import js from "@eslint/js"; import js from "@eslint/js";
import tseslint from "@typescript-eslint/eslint-plugin"; import tseslint from "typescript-eslint";
import tsParser from "@typescript-eslint/parser";
import react from "eslint-plugin-react"; import react from "eslint-plugin-react";
import reactHooks from "eslint-plugin-react-hooks"; import reactHooks from "eslint-plugin-react-hooks";
import a11y from "eslint-plugin-jsx-a11y"; import a11y from "eslint-plugin-jsx-a11y";
@@ -8,57 +7,68 @@ import importPlugin from "eslint-plugin-import";
import unusedImports from "eslint-plugin-unused-imports"; import unusedImports from "eslint-plugin-unused-imports";
export default [ export default [
/* Core ESLint recommended rules */ /* Base JS rules (all files) */
js.configs.recommended, js.configs.recommended,
/* TypeScript recommended */ /* TypeScript typed, scoped, flat-config correct */
{ ...tseslint.configs.recommendedTypeChecked.map(config => ({
...config,
files: ["**/*.ts", "**/*.tsx"], files: ["**/*.ts", "**/*.tsx"],
languageOptions: { languageOptions: {
parser: tsParser, ...config.languageOptions,
parserOptions: { parserOptions: {
project: true projectService: true,
}
}, },
plugins: {
"@typescript-eslint": tseslint
}, },
})),
...tseslint.configs["recommended-type-checked"] /* React */
},
/* React recommended */
react.configs.flat.recommended, react.configs.flat.recommended,
/* React Hooks recommended */ /* React Hooks */
{ {
plugins: { "react-hooks": reactHooks }, plugins: {
rules: { "react-hooks": reactHooks,
...reactHooks.configs.recommended.rules },
} rules: reactHooks.configs.recommended.rules,
}, },
/* JSX Accessibility */
/* JSX Accessibility recommended */
a11y.flatConfigs.recommended, a11y.flatConfigs.recommended,
/* Import validation rules */ /* Import rules */
importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.recommended,
/* Unused imports */ /* Unused imports */
{ {
plugins: { "unused-imports": unusedImports }, plugins: {
"unused-imports": unusedImports,
},
rules: { rules: {
"unused-imports/no-unused-imports": "error", "unused-imports/no-unused-imports": "error",
"unused-imports/no-unused-vars": [ "unused-imports/no-unused-vars": [
"warn", "warn",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" } { argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
], ],
'@stylistic/indent': ['error', 4], },
'@stylistic/semi': ['error', 'always'], },
'@stylistic/quotes': ['error', 'single', { avoidEscape: true }],
'@stylistic/no-trailing-spaces': 'error', /* React version detection */
'@stylistic/no-multiple-empty-lines': 'error', {
settings: {
react: {
version: "detect",
},
"import/resolver": {
typescript: {
project : "./tsconfig.json",
},
},
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
} }
} }
},
},
]; ];