Files
2025-03-14 12:01:22 -07:00

88 lines
2.5 KiB
JavaScript

import js from "@eslint/js";
import tseslint from "@typescript-eslint/eslint-plugin";
import tsparser from "@typescript-eslint/parser";
import importPlugin from "eslint-plugin-import";
import noInstanceofPlugin from "eslint-plugin-no-instanceof";
import prettierConfig from "eslint-config-prettier";
import globals from "globals";
export default [
js.configs.recommended,
prettierConfig,
{
files: ["**/*.ts", "**/*.tsx"],
plugins: {
"@typescript-eslint": tseslint,
import: importPlugin,
"no-instanceof": noInstanceofPlugin,
},
languageOptions: {
parser: tsparser,
parserOptions: {
ecmaVersion: 2021,
sourceType: "module",
project: "./tsconfig.json",
tsconfigRootDir: ".",
},
globals: {
...globals.node,
},
},
ignores: [
"node_modules/**",
"dist/**",
"dist-cjs/**",
".eslintrc.cjs",
"scripts/**",
"*.d.ts",
],
rules: {
"@typescript-eslint/explicit-module-boundary-types": 0,
"@typescript-eslint/no-empty-function": 0,
"@typescript-eslint/no-shadow": 0,
"@typescript-eslint/no-empty-interface": 0,
"no-unused-vars": 0,
"@typescript-eslint/no-use-before-define": ["error", "nofunc"],
"@typescript-eslint/no-unused-vars": [
"warn",
{
args: "none",
varsIgnorePattern: "^_",
argsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_",
destructuredArrayIgnorePattern: "^_",
ignoreRestSiblings: true,
},
],
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/no-explicit-any": 0,
camelcase: 0,
"class-methods-use-this": 0,
"import/extensions": [2, "ignorePackages"],
"import/no-extraneous-dependencies": [
"error",
{ devDependencies: ["**/*.test.ts"] },
],
"import/no-unresolved": 0,
"import/prefer-default-export": 0,
"keyword-spacing": "error",
"max-classes-per-file": 0,
"max-len": 0,
"no-await-in-loop": 0,
"no-bitwise": 0,
"no-console": 0,
"no-restricted-syntax": 0,
"no-shadow": 0,
"no-continue": 0,
"no-underscore-dangle": 0,
"no-use-before-define": 0,
"no-useless-constructor": 0,
"no-return-await": 0,
"consistent-return": 0,
"no-else-return": 0,
"new-cap": ["error", { properties: false, capIsNew: false }],
},
},
];