Open
Description
Suggestion
The auto-generated naming-convention
tests are by far the slowest part of packages/eslint-plugin
. We've done work in the past to speed them up:
- test(eslint-plugin): split up naming-convention #4599
- feat(eslint-plugin): [naming-convention] improve performance by removing unnecessary selectors #6376
...but they still take >10 seconds for some files on the Windows CI jobs. Example from https://github.com/typescript-eslint/typescript-eslint/actions/runs/10184575611/job/28172431302?pr=9165:
PASS tests/index.test.ts (312 MB heap size)
PASS tests/rules/naming-convention/cases/accessor.test.ts (19.277 s, 880 MB heap size)
PASS tests/rules/naming-convention/cases/method.test.ts (37.199 s, 281 MB heap size)
PASS tests/areOptionsValid.test.ts (185 MB heap size)
PASS tests/rules/naming-convention/cases/default.test.ts (20.911 s, 485 MB heap size)
PASS tests/rules/naming-convention/cases/property.test.ts (31.41 s, 677 MB heap size)
PASS tests/rules/naming-convention/cases/autoAccessor.test.ts (15.2 s, 484 MB heap size)
PASS tests/rules/naming-convention/cases/classicAccessor.test.ts (17.029 s, 328 MB heap size)
PASS tests/rules/naming-convention/cases/parameter.test.ts (15.839 s, 320 MB heap size)
PASS tests/eslint-rules/prefer-const.test.ts (180 MB heap size)
Let's see if we can shrink those tests down to be less explosively many.
💖