import pluginJs from "@eslint/js"; import stylisticJs from "@stylistic/eslint-plugin-js"; import simpleImportSort from "eslint-plugin-simple-import-sort"; import globals from "globals"; import tseslint from "typescript-eslint"; export default [ {files: ["**/*.{js,mjs,cjs,ts}"],}, {languageOptions: { globals: globals.browser }}, pluginJs.configs.recommended, ...tseslint.configs.recommended, { ignores: ["dist/*"] }, { plugins: { "@stylistic/js": stylisticJs, "simple-import-sort": simpleImportSort }, rules: { "yoda": "error", "eqeqeq": ["error", "always", { "null": "ignore" }], "prefer-destructuring": ["error", { "VariableDeclarator": { "array": false, "object": true }, "AssignmentExpression": { "array": false, "object": false } }], "operator-assignment": ["error", "always"], "no-useless-computed-key": "error", "no-unneeded-ternary": ["error", { "defaultAssignment": false }], "no-invalid-regexp": "error", "no-constant-condition": ["error", { "checkLoops": false }], "no-duplicate-imports": "error", "dot-notation": "error", "no-fallthrough": "error", "for-direction": "error", "no-async-promise-executor": "error", "no-cond-assign": "error", "no-dupe-else-if": "error", "no-duplicate-case": "error", "no-irregular-whitespace": "error", "no-loss-of-precision": "error", "no-misleading-character-class": "error", "no-prototype-builtins": "error", "no-regex-spaces": "error", "no-shadow-restricted-names": "error", "no-unexpected-multiline": "error", "no-unsafe-optional-chaining": "error", "no-useless-backreference": "error", "use-isnan": "error", "prefer-const": "error", "prefer-spread": "error", "semi": [2, "always"], "@stylistic/js/indent": ["error", 4], "@typescript-eslint/no-unused-vars": [ "warn", { "args": "all", "argsIgnorePattern": "^_", "caughtErrors": "all", "caughtErrorsIgnorePattern": "^_", "destructuredArrayIgnorePattern": "^_", "varsIgnorePattern": "^_", "ignoreRestSiblings": true } ], "@typescript-eslint/ban-types": "off", "@stylistic/js/quotes": [2, "double", { "avoidEscape": true }], "simple-import-sort/imports": "warn", "simple-import-sort/exports": "warn", } } ];