From 0dd9ddc5b47d998829f49d31826e91047dfaff38 Mon Sep 17 00:00:00 2001 From: Quinten Kock Date: Mon, 10 Nov 2025 03:37:28 +0100 Subject: [PATCH] Simplify eslint config --- .eslintrc.json | 16 ---------------- eslint.config.mjs | 43 ++++++++----------------------------------- package-lock.json | 25 +++++++++++++++++++++++++ package.json | 1 + 4 files changed, 34 insertions(+), 51 deletions(-) delete mode 100644 .eslintrc.json diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 2d7aa60..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true, - "node": true - }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/recommended", - "plugin:import/electron", - "plugin:import/typescript" - ], - "parser": "@typescript-eslint/parser" -} diff --git a/eslint.config.mjs b/eslint.config.mjs index b61980a..45e24c3 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,42 +1,15 @@ -import { defineConfig } from "eslint/config"; -import { fixupConfigRules } from "@eslint/compat"; +import { defineConfig, globalIgnores } from "eslint/config"; import globals from "globals"; -import tsParser from "@typescript-eslint/parser"; -import path from "node:path"; -import { fileURLToPath } from "node:url"; import js from "@eslint/js"; -import { FlatCompat } from "@eslint/eslintrc"; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, - allConfig: js.configs.all, -}); +import tseslint from "typescript-eslint"; export default defineConfig([ + globalIgnores([".vite/"]), { - extends: fixupConfigRules( - compat.extends( - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/recommended", - "plugin:import/electron", - "plugin:import/typescript", - ), - ), - - ignores: [".vite/**"], - - languageOptions: { - globals: { - ...globals.browser, - ...globals.node, - }, - - parser: tsParser, - }, + // files: ["src/*.{js,mjs,cjs,ts,mts,cts}"], + plugins: { js }, + extends: ["js/recommended"], + languageOptions: { globals: { ...globals.browser, ...globals.node } }, }, + tseslint.configs.recommended, ]); diff --git a/package-lock.json b/package-lock.json index b3c5fcd..547d6f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,6 +38,7 @@ "prettier": "^3.6.2", "tailwindcss": "^4.1.17", "typescript": "~5.9.3", + "typescript-eslint": "^8.46.3", "vanjs-core": "^1.6.0", "vanjs-ext": "^0.6.3", "vite": "^7.2.2" @@ -11313,6 +11314,30 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.46.3", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.46.3.tgz", + "integrity": "sha512-bAfgMavTuGo+8n6/QQDVQz4tZ4f7Soqg53RbrlZQEoAltYop/XR4RAts/I0BrO3TTClTSTFJ0wYbla+P8cEWJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.46.3", + "@typescript-eslint/parser": "8.46.3", + "@typescript-eslint/typescript-estree": "8.46.3", + "@typescript-eslint/utils": "8.46.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", diff --git a/package.json b/package.json index 8b28366..6dbb5e0 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "prettier": "^3.6.2", "tailwindcss": "^4.1.17", "typescript": "~5.9.3", + "typescript-eslint": "^8.46.3", "vanjs-core": "^1.6.0", "vanjs-ext": "^0.6.3", "vite": "^7.2.2"