module.exports = { parser: "@typescript-eslint/parser", plugins: ["jsdoc", "html"], extends: ["plugin:@typescript-eslint/recommended"], rules: { "prefer-rest-params": "off", "@typescript-eslint/ban-ts-ignore": "off", "@typescript-eslint/ban-ts-comment" : "off", "@typescript-eslint/no-empty-function": "off", "jsdoc/check-alignment": 1, "jsdoc/check-param-names": ["error"], // "jsdoc/check-examples": ["error"], "jsdoc/check-indentation": [ "error", { excludeTags: ["example", "param"] }, ], "dot-location": ["error", "property"], "linebreak-style": ["error", "unix"], eqeqeq: ["error"], curly: ["error", "all"], "dot-notation": ["error"], "no-throw-literal": ["error"], "no-useless-call": ["error"], "no-unmodified-loop-condition": ["error"], "quote-props": ["error", "as-needed"], quotes: ["error", "double"], "no-shadow": "error", "no-console": ["error", { allow: ["warn"] }], "@typescript-eslint/no-object-literal-type-assertion": "off", "@typescript-eslint/no-unused-vars": "off", "sort-imports": [ "error", { ignoreCase: true, ignoreDeclarationSort: true, ignoreMemberSort: false, memberSyntaxSortOrder: ["none", "all", "multiple", "single"], }, ], "no-lonely-if": ["error"], semi: ["error", "always"], "no-cond-assign": ["error", "always"], indent: "off", "no-var": "error", "prefer-arrow-callback": "error", "@typescript-eslint/indent": [ "error", "tab", { SwitchCase: 1, MemberExpression: 2 }, ], "@typescript-eslint/explicit-member-accessibility": "off", "@typescript-eslint/explicit-function-return-type": "off", "no-multi-spaces": ["error"], "array-bracket-spacing": ["error", "never"], "block-spacing": ["error", "always"], "func-call-spacing": ["error", "never"], "key-spacing": ["error", { beforeColon: false, afterColon: true }], "brace-style": ["error", "1tbs"], "space-in-parens": ["error", "never"], "eol-last": ["error", "always"], "@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-use-before-define": "off", "@typescript-eslint/array-type": "off", "spaced-comment": [ "error", "always", { line: { exceptions: ["-"] }, block: { balanced: true }, }, ], "lines-between-class-members": "off", "no-multiple-empty-lines": ["error", { max: 1, maxEOF: 1, maxBOF: 0 }], "no-unneeded-ternary": ["error"], "object-curly-spacing": ["error", "always"], "space-unary-ops": ["error", { words: true, nonwords: false }], "block-spacing": ["error", "always"], "keyword-spacing": ["error", { before: true }], "space-before-function-paren": [ "error", { anonymous: "never", named: "never", asyncArrow: "always" }, ], "comma-spacing": ["error", { before: false, after: true }], "arrow-spacing": ["error", { before: true, after: true }], "space-before-blocks": [ "error", { functions: "always", keywords: "always", classes: "always" }, ], }, };