diff --git a/services/chat/.eslintrc b/services/chat/.eslintrc new file mode 100644 index 0000000000..d55c4160bb --- /dev/null +++ b/services/chat/.eslintrc @@ -0,0 +1,75 @@ +{ + "extends": [ + "standard", + "standard-react", + "prettier", + "prettier/react", + "prettier/standard", + "plugin:jsx-a11y/recommended" + ], + "plugins": [ + "prettier", + "jsx-a11y", + "mocha", + "chai-expect", + "chai-friendly" + ], + "env": { + "mocha": true + }, + "globals": { + "expect": true, + "define": true, + "$": true, + "angular": true, + // Injected in layout.pug + "user_id": true + }, + "settings": { + // Tell eslint-plugin-react which version of React we are using + "react": { + "version": "15" + } + }, + "rules": { + "max-len": ["error", { + "ignoreUrls": true, + // Ignore long describe/it test blocks, long import/require statements + "ignorePattern": "(^\\s*(it|describe)\\s*\\(['\"]|^import\\s*.*\\s*from\\s*['\"]|^.*\\s*=\\s*require\\(['\"])" + }], + + // Fix conflict between prettier & standard by overriding to prefer + // double quotes + "jsx-quotes": ["error", "prefer-double"], + + // Override weird behaviour of jsx-a11y label-has-for (says labels must be + // nested *and* have for/id attributes) + "jsx-a11y/label-has-for": [ + "error", + { + "required": { + "some": [ + "nesting", + "id" + ] + } + } + ], + + // Add some mocha specific rules + "mocha/handle-done-callback": "error", + "mocha/no-exclusive-tests": "error", + "mocha/no-global-tests": "error", + "mocha/no-identical-title": "error", + "mocha/no-nested-tests": "error", + "mocha/no-pending-tests": "error", + "mocha/no-skipped-tests": "error", + + // Add some chai specific rules + "chai-expect/missing-assertion": "error", + "chai-expect/terminating-properties": "error", + // Swap the no-unused-expressions rule with a more chai-friendly one + "no-unused-expressions": 0, + "chai-friendly/no-unused-expressions": "error" + } +} diff --git a/services/chat/.prettierrc b/services/chat/.prettierrc new file mode 100644 index 0000000000..b2095be81e --- /dev/null +++ b/services/chat/.prettierrc @@ -0,0 +1,4 @@ +{ + "semi": false, + "singleQuote": true +}