| 'use strict'; |
| |
| const globals = require('globals'); |
| |
| const allRules = { |
| 'mocha/handle-done-callback': 'error', |
| 'mocha/max-top-level-suites': 'error', |
| 'mocha/no-async-describe': 'error', |
| 'mocha/no-exclusive-tests': 'error', |
| 'mocha/no-exports': 'error', |
| 'mocha/no-global-tests': 'error', |
| 'mocha/no-hooks': 'error', |
| 'mocha/no-hooks-for-single-case': 'error', |
| 'mocha/no-identical-title': 'error', |
| 'mocha/no-mocha-arrows': 'error', |
| 'mocha/no-nested-tests': 'error', |
| 'mocha/no-pending-tests': 'error', |
| 'mocha/no-return-and-callback': 'error', |
| 'mocha/no-return-from-async': 'error', |
| 'mocha/no-setup-in-describe': 'error', |
| 'mocha/no-sibling-hooks': 'error', |
| 'mocha/no-skipped-tests': 'error', |
| 'mocha/no-synchronous-tests': 'error', |
| 'mocha/no-top-level-hooks': 'error', |
| 'mocha/prefer-arrow-callback': 'error', |
| 'mocha/valid-suite-description': 'error', |
| 'mocha/valid-test-description': 'error', |
| 'mocha/no-empty-description': 'error', |
| 'mocha/consistent-spacing-between-blocks': 'error' |
| }; |
| |
| const recommendedRules = { |
| 'mocha/handle-done-callback': 'error', |
| 'mocha/max-top-level-suites': [ 'error', { limit: 1 } ], |
| 'mocha/no-async-describe': 'error', |
| 'mocha/no-exclusive-tests': 'warn', |
| 'mocha/no-exports': 'error', |
| 'mocha/no-global-tests': 'error', |
| 'mocha/no-hooks': 'off', |
| 'mocha/no-hooks-for-single-case': 'off', |
| '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-return-from-async': 'off', |
| '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-empty-description': 'error', |
| 'mocha/consistent-spacing-between-blocks': 'error' |
| }; |
| |
| const mod = { |
| rules: { |
| 'handle-done-callback': require('./lib/rules/handle-done-callback'), |
| 'max-top-level-suites': require('./lib/rules/max-top-level-suites'), |
| 'no-async-describe': require('./lib/rules/no-async-describe'), |
| 'no-exclusive-tests': require('./lib/rules/no-exclusive-tests'), |
| 'no-exports': require('./lib/rules/no-exports'), |
| 'no-global-tests': require('./lib/rules/no-global-tests'), |
| 'no-hooks': require('./lib/rules/no-hooks'), |
| 'no-hooks-for-single-case': require('./lib/rules/no-hooks-for-single-case'), |
| 'no-identical-title': require('./lib/rules/no-identical-title'), |
| 'no-mocha-arrows': require('./lib/rules/no-mocha-arrows'), |
| 'no-nested-tests': require('./lib/rules/no-nested-tests'), |
| 'no-pending-tests': require('./lib/rules/no-pending-tests'), |
| 'no-return-and-callback': require('./lib/rules/no-return-and-callback'), |
| 'no-return-from-async': require('./lib/rules/no-return-from-async'), |
| 'no-setup-in-describe': require('./lib/rules/no-setup-in-describe'), |
| 'no-sibling-hooks': require('./lib/rules/no-sibling-hooks'), |
| 'no-skipped-tests': require('./lib/rules/no-skipped-tests'), |
| 'no-synchronous-tests': require('./lib/rules/no-synchronous-tests'), |
| 'no-top-level-hooks': require('./lib/rules/no-top-level-hooks'), |
| 'prefer-arrow-callback': require('./lib/rules/prefer-arrow-callback'), |
| 'valid-suite-description': require('./lib/rules/valid-suite-description'), |
| 'valid-test-description': require('./lib/rules/valid-test-description'), |
| 'no-empty-description': require('./lib/rules/no-empty-description.js'), |
| 'consistent-spacing-between-blocks': require('./lib/rules/consistent-spacing-between-blocks.js') |
| }, |
| configs: { |
| all: { |
| env: { mocha: true }, |
| plugins: [ 'mocha' ], |
| rules: allRules |
| }, |
| recommended: { |
| env: { mocha: true }, |
| plugins: [ 'mocha' ], |
| rules: recommendedRules |
| } |
| } |
| }; |
| |
| mod.configs.flat = { |
| all: { |
| name: 'mocha/all', |
| plugins: { mocha: mod }, |
| languageOptions: { globals: globals.mocha }, |
| rules: allRules |
| }, |
| recommended: { |
| name: 'mocha/recommended', |
| plugins: { mocha: mod }, |
| languageOptions: { globals: globals.mocha }, |
| rules: recommendedRules |
| } |
| }; |
| |
| module.exports = mod; |