From 489d8dda972765a658ecb24a679b1cfb3f4eb3b5 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Sat, 20 Jul 2024 13:20:31 +0200 Subject: [PATCH] Migrate linter configuration --- .eslintrc.json | 13 ------------- eslint.config.mjs | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 13 deletions(-) delete mode 100644 .eslintrc.json create mode 100644 eslint.config.mjs diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 7fc37e3..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "root": true, - "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - "parser": "@typescript-eslint/parser", - "parserOptions": { "project": ["./tsconfig.json"] }, - "plugins": ["@typescript-eslint"], - "rules": { - "@typescript-eslint/no-explicit-any": 0, - "@typescript-eslint/no-use-before-define": "warn", - "@typescript-eslint/no-unused-vars": "warn", - "@typescript-eslint/quotes": ["warn", "double", {"allowTemplateLiterals": true}] - } -} \ No newline at end of file diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..4cb7672 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,43 @@ +import typescriptEslint from "@typescript-eslint/eslint-plugin"; +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 +}); + +export default [ + ...compat.extends("eslint:recommended", "plugin:@typescript-eslint/recommended"), + { + plugins: { + "@typescript-eslint": typescriptEslint, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 5, + sourceType: "script", + + parserOptions: { + project: ["./tsconfig.json"], + }, + }, + + rules: { + "@typescript-eslint/no-explicit-any": 0, + "@typescript-eslint/no-use-before-define": "warn", + "@typescript-eslint/no-unused-vars": "warn", + + "@typescript-eslint/quotes": ["warn", "double", { + allowTemplateLiterals: true, + }], + }, + }, +]; \ No newline at end of file