module.exports = { extends: [ 'airbnb' ], parserOptions: { ecmaVersion: 6, sourceType: 'module', ecmaFeatures: { jsx: true } }, env: { jest: true, }, plugins: [ 'jsdoc' ], rules: { /** * All available rules are enabled to 'error' by default to encourage more * thorough and accurate documentation * @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules */ 'jsdoc/check-param-names': 'error', 'jsdoc/check-tag-names': 'error', 'jsdoc/check-types': 'error', 'jsdoc/newline-after-description': 'error', /** * At present, we are not imposing the "description-complete-sentence" rule * as it will result in a very large number of warnings across all repos. * @see https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-description-complete-sentence */ 'jsdoc/require-description-complete-sentence': 'off', 'jsdoc/require-hyphen-before-param-description': 'error', 'jsdoc/require-param': 'error', 'jsdoc/require-param-description': 'error', 'jsdoc/require-returns-description': 'error', 'jsdoc/require-returns-type': 'error' }, settings: { jsdoc: { tagNamePreference: { augments: 'extends', return: 'returns' } } } };