{ "parser": "@typescript-eslint/parser", "extends": [ "eslint:recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended" // uses the recommended rules from the @typescript-eslint/eslint-plugin ], "parserOptions": { "ecmaVersion": 2021, "sourceType": "module" }, "ignorePatterns": [ "dist", "server" ], "rules": { "quotes": [ "warn", "single" ], "indent": [ "warn", 2, { "SwitchCase": 1 } ], "linebreak-style": [ "warn", "unix" ], "semi": [ "warn", "always" ], "comma-dangle": [ "warn", "always-multiline" ], "dot-notation": "off", "eqeqeq": "warn", "curly": [ "warn", "all" ], "brace-style": [ "warn" ], "prefer-arrow-callback": [ "warn" ], "max-len": [ "warn", 150 ], "no-console": [ "warn" ], // use the provided Homebridge log method instead "no-non-null-assertion": [ "off" ], "comma-spacing": [ "error" ], "no-multi-spaces": [ "warn", { "ignoreEOLComments": true } ], "no-trailing-spaces": [ "warn" ], "lines-between-class-members": [ "warn", "always", { "exceptAfterSingleLine": true } ], "@typescript-eslint/explicit-function-return-type": "off", "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/explicit-module-boundary-types": "off", "@typescript-eslint/no-explicit-any": "off" } }