diff --git a/README.md b/README.md index aba133a..3b7f406 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ ESLint rules for [mocha](http://mochajs.org/). This plugin requires ESLint `4.0.0` or later. -`npm install --save-dev eslint-plugin-mocha` +```bash +npm install --save-dev eslint-plugin-mocha +``` Then add a reference to this plugin and selected rules in your eslint config: @@ -21,16 +23,28 @@ Then add a reference to this plugin and selected rules in your eslint config: "plugins": [ "mocha" ], - "rules": { - "mocha/no-exclusive-tests": "error" - } } ``` + +### Recommended config + +This plugin exports a recommended config that enforces good practices. + +Enable it with the extends option: + +```json +{ + "extends": [ + "plugin:mocha/recommended" + ], +} +``` + See [Configuring Eslint](http://eslint.org/docs/user-guide/configuring) on [eslint.org](http://eslint.org) for more info. ## Rules documentation -The documentation of the rules can be found [here](docs/rules). +The documentation of the rules [can be found here](docs/rules). ## When Not To Use It diff --git a/index.js b/index.js index 76cb7c1..011f730 100644 --- a/index.js +++ b/index.js @@ -26,7 +26,26 @@ module.exports = { configs: { recommended: { rules: { - 'mocha/no-exclusive-tests': 2 + 'mocha/handle-done-callback': 'error', + 'mocha/max-top-level-suites': [ 'error', { limit: 1 } ], + 'mocha/no-exclusive-tests': 'warn', + 'mocha/no-global-tests': 'error', + 'mocha/no-hooks': 'off', + 'mocha/no-hooks-for-single-case': 'warn', + 'mocha/no-identical-title': 'error', + 'mocha/no-mocha-arrows': 'error', + 'mocha/no-nested-tests': 'error', + 'mocha/no-pending-tests': 'warn', + 'mocha/no-return-and-callback': 'error', + 'mocha/no-setup-in-describe': 'error', + 'mocha/no-sibling-hooks': 'error', + 'mocha/no-skipped-tests': 'warn', + 'mocha/no-synchronous-tests': 'off', + 'mocha/no-top-level-hooks': 'warn', + 'mocha/prefer-arrow-callback': 'off', + 'mocha/valid-suite-description': 'off', + 'mocha/valid-test-description': 'off', + 'mocha/no-async-describe': 'error' } } }