module.exports = { parser: "@typescript-eslint/parser", plugins: ["jsdoc", "html", "file-extension-in-import-ts"], extends: ["plugin:@typescript-eslint/recommended"], settings: { "import/extensions": [".js", ".ts"], "import/resolver": { typescript: true, }, }, 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", { avoidEscape: true }], "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"], "no-cond-assign": ["error", "always"], "no-var": "error", "prefer-arrow-callback": "error", "@typescript-eslint/explicit-member-accessibility": "off", "@typescript-eslint/explicit-function-return-type": "off", "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-unneeded-ternary": ["error"], "file-extension-in-import-ts/file-extension-in-import-ts": "error", }, };