{ "extends": ["eslint:recommended", "plugin:@stylistic/all-extends", "plugin:import/recommended", "plugin:jest/recommended", "plugin:jsdoc/recommended"], "plugins": ["unicorn"], "env": { "browser": true, "es2024": true, "jest/globals": true, "node": true }, "globals": { "config": true, "Log": true, "MM": true, "Module": true, "moment": true }, "parserOptions": { "sourceType": "module", "ecmaVersion": "latest", "ecmaFeatures": { "globalReturn": true } }, "rules": { "eqeqeq": "error", "import/order": "error", "import/extensions": "error", "import/newline-after-import": "error", "jest/consistent-test-it": "warn", "jest/expect-expect": "warn", "jest/no-done-callback": "warn", "jest/prefer-expect-resolves": "warn", "jest/prefer-mock-promise-shorthand": "warn", "jest/prefer-to-be": "warn", "jest/prefer-to-have-length": "warn", "no-param-reassign": "error", "no-prototype-builtins": "off", "no-throw-literal": "error", "no-unused-vars": "off", "no-useless-return": "error", "object-shorthand": ["error", "methods"], "prefer-template": "error", "@stylistic/array-element-newline": ["error", "consistent"], "@stylistic/arrow-parens": ["error", "always"], "@stylistic/brace-style": "off", "@stylistic/comma-dangle": ["error", "never"], "@stylistic/dot-location": ["error", "property"], "@stylistic/function-call-argument-newline": ["error", "consistent"], "@stylistic/function-paren-newline": ["error", "consistent"], "@stylistic/implicit-arrow-linebreak": ["error", "beside"], "@stylistic/max-statements-per-line": ["error", { "max": 2 }], "@stylistic/multiline-ternary": ["error", "always-multiline"], "@stylistic/newline-per-chained-call": ["error", { "ignoreChainWithDepth": 4 }], "@stylistic/no-extra-parens": "off", "@stylistic/no-tabs": "off", "@stylistic/object-curly-spacing": ["error", "always"], "@stylistic/object-property-newline": ["error", { "allowAllPropertiesOnSameLine": true }], "@stylistic/operator-linebreak": ["error", "before"], "@stylistic/padded-blocks": "off", "@stylistic/quote-props": ["error", "as-needed"], "@stylistic/quotes": ["error", "double"], "@stylistic/indent": ["error", "tab"], "@stylistic/semi": ["error", "always"], "@stylistic/space-before-function-paren": ["error", "always"], "@stylistic/spaced-comment": "off", "unicorn/prefer-node-protocol": "error" }, "overrides": [ { "files": ["config/config.js*"], "rules": { "@stylistic/comma-dangle": "off", "@stylistic/indent": "off", "@stylistic/no-multi-spaces": "off" } }, { "files": ["tests/configs/modules/weather/*.js"], "rules": { "@stylistic/quotes": "off" } } ] }