| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import type { Linter } from 'eslint';
- import { interopDefault } from '../util';
- export async function test(): Promise<Linter.Config[]> {
- const [pluginTest, pluginNoOnlyTests] = await Promise.all([
- interopDefault(import('eslint-plugin-vitest')),
- // @ts-expect-error - no types
- interopDefault(import('eslint-plugin-no-only-tests')),
- ] as const);
- return [
- {
- files: [
- `**/__tests__/**/*.?([cm])[jt]s?(x)`,
- `**/*.spec.?([cm])[jt]s?(x)`,
- `**/*.test.?([cm])[jt]s?(x)`,
- `**/*.bench.?([cm])[jt]s?(x)`,
- `**/*.benchmark.?([cm])[jt]s?(x)`,
- ],
- plugins: {
- test: {
- ...pluginTest,
- rules: {
- ...pluginTest.rules,
- ...pluginNoOnlyTests.rules,
- },
- },
- },
- rules: {
- 'no-console': 'off',
- 'node/prefer-global/process': 'off',
- 'test/consistent-test-it': [
- 'error',
- { fn: 'it', withinDescribe: 'it' },
- ],
- 'test/no-identical-title': 'error',
- 'test/no-import-node-test': 'error',
- 'test/no-only-tests': 'error',
- 'test/prefer-hooks-in-order': 'error',
- 'test/prefer-lowercase-title': 'error',
- },
- },
- ];
- }
|