diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..6dfddf6 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,54 @@ +import typescriptEslint from "@typescript-eslint/eslint-plugin"; +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 +}); + +export default [{ + ignores: [ + "**/node_modules/", + "**/main.js", + "**/.deprecated/", + "**/esbuild.config.mjs", + "**/eslint.config.mjs" + ], +}, ...compat.extends( + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", +), { + plugins: { + "@typescript-eslint": typescriptEslint, + }, + + languageOptions: { + globals: { + ...globals.node, + }, + + parser: tsParser, + ecmaVersion: 6, + sourceType: "module", + }, + + rules: { + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": ["error", { + args: "none", + }], + "@typescript-eslint/ban-ts-comment": "off", + "no-prototype-builtins": "off", + "@typescript-eslint/no-empty-function": "off", + "prefer-const": "off", + }, +}]; \ No newline at end of file