UNPKG

@aarongoldenthal/eslint-config-standard

Version:

Standard ESLint configuration settings

77 lines (75 loc) 3.4 kB
import { defineConfig } from 'eslint/config'; import vitestPlugin from '@vitest/eslint-plugin'; export default defineConfig({ files: ['**/__tests__/**/*.{js,mjs}', '**/?(*.)+(spec|test).{js,mjs}'], name: 'vitest (test files)', plugins: { vitest: vitestPlugin }, rules: { 'vitest/consistent-test-filename': [ 'error', { allTestPattern: String.raw`.*\.test\.(js|mjs)$`, pattern: String.raw`.*\.test\.(js|mjs)$` } ], 'vitest/consistent-test-it': [ 'error', { fn: 'it', withinDescribe: 'it' } ], 'vitest/expect-expect': 'error', // Recommended 'vitest/max-expects': ['error', { max: 5 }], 'vitest/max-nested-describe': ['error', { max: 3 }], 'vitest/no-alias-methods': 'error', 'vitest/no-commented-out-tests': 'error', // Recommended 'vitest/no-conditional-expect': 'error', 'vitest/no-conditional-in-test': 'error', 'vitest/no-conditional-tests': 'error', 'vitest/no-disabled-tests': 'error', 'vitest/no-duplicate-hooks': 'error', 'vitest/no-focused-tests': 'error', 'vitest/no-hooks': 'off', 'vitest/no-identical-title': 'error', // Recommended 'vitest/no-interpolation-in-snapshots': 'error', 'vitest/no-large-snapshots': 'off', 'vitest/no-mocks-import': 'error', 'vitest/no-restricted-matchers': 'off', 'vitest/no-restricted-vi-methods': 'off', 'vitest/no-standalone-expect': 'error', 'vitest/no-test-prefixes': 'error', 'vitest/no-test-return-statement': 'error', 'vitest/padding-around-after-all-blocks': 'off', 'vitest/padding-around-after-each-blocks': 'off', 'vitest/padding-around-all': 'off', 'vitest/padding-around-before-all-blocks': 'off', 'vitest/padding-around-before-each-blocks': 'off', 'vitest/padding-around-describe-blocks': 'off', 'vitest/padding-around-expect-groups': 'off', 'vitest/padding-around-test-blocks': 'off', 'vitest/prefer-called-with': 'error', 'vitest/prefer-comparison-matcher': 'error', 'vitest/prefer-describe-function-title': 'error', 'vitest/prefer-each': 'error', 'vitest/prefer-equality-matcher': 'error', 'vitest/prefer-expect-resolves': 'error', 'vitest/prefer-hooks-in-order': 'error', 'vitest/prefer-hooks-on-top': 'error', 'vitest/prefer-lowercase-title': 'error', 'vitest/prefer-mock-promise-shorthand': 'error', 'vitest/prefer-snapshot-hint': 'error', 'vitest/prefer-spy-on': 'error', 'vitest/prefer-strict-equal': 'error', 'vitest/prefer-to-be': 'error', // Recommended 'vitest/prefer-to-be-falsy': 'off', 'vitest/prefer-to-be-object': 'error', 'vitest/prefer-to-be-truthy': 'off', 'vitest/prefer-to-contain': 'error', 'vitest/prefer-to-have-length': 'error', 'vitest/prefer-todo': 'error', 'vitest/require-hook': 'error', 'vitest/require-to-throw-message': 'error', 'vitest/require-top-level-describe': 'error', 'vitest/valid-describe-callback': 'error', // Recommended 'vitest/valid-expect': 'error', // Recommended 'vitest/valid-title': 'error' // Recommended } });