EntitySchema currently uses the legacy .eslintrc.json config format and is pinned to ESLint 8 via eslint-config-wikimedia's peeer dependency (eslint ^8.57.0).
This blocks updating eslint-plugin-cypress past 3.6.0: starting with 4.0.0 it requires eslint >=9, which conflicts with the extension's current config. See T435633: [Chore] 🛠️ Update dependencies in EntitySchema for where this was identified during a routine dependency update.
ESLint 10 drops support for .eslintrc.json entirely, so this migration will eventually be required regardless of eslint-plugin-cypress.
Acceptance Criteria
- eslint-config-wikimedia is updated to a release that supports flat config / ESLint 9+.
- .eslintrc.json is replaced with eslint.config.js (flat config).
- .eslintignore patterns are migrated into eslint.config.js.
- eslint is bumped to ^9.0.0 or later in package.json.
- eslint-plugin-cypress is updated to the latest compatible version.
- npm run test:lint passes with no new warnings/errors.
- CI is green and successful.
Useful resources:
https://eslint.org/docs/latest/use/configure/migration-guide