chore: move to Eslint flat config

Make the big move to Eslint flat config format. The outcome of Eslint
still should be the same, but some things has changed:
- `eslint-plugin-github` is dropped, flat configs have been out for a
while and most eslint plugins support it, but for no reason and no
activity in sight this plugin is likely not going to support flat config
for a while and to avoid other plugins not being able to update (as they
are requiring flat configs) drop the github rules.
- Nested configs don't work properly and are unified into the root
eslint config, this unification did cause some conflicts and thats why
the `import-x` is in a seperate 'group' to exclude targeting Vue files.
- The `eslint-plugin-i` is deprecated and `esplint-plugin-import-x` is
its succesor which has better support for flat configs, the same rules
are still applied.

The majority of the flat config was generated by
`@eslint/migrate-config` tool.
This commit is contained in:
Gusted 2024-10-23 07:07:18 +02:00
parent e4de08b258
commit 7ad83fce40
8 changed files with 1429 additions and 1469 deletions

View file

@ -1,24 +0,0 @@
plugins:
- eslint-plugin-playwright
extends:
- ../../.eslintrc.yaml
- plugin:playwright/recommended
parserOptions:
sourceType: module
ecmaVersion: latest
env:
browser: true
rules:
playwright/no-conditional-in-test: [0]
playwright/no-conditional-expect: [0]
playwright/no-networkidle: [0]
playwright/no-skipped-test: [2, {allowConditional: true}]
playwright/prefer-comparison-matcher: [2]
playwright/prefer-equality-matcher: [2]
playwright/prefer-to-contain: [2]
playwright/prefer-to-have-length: [2]
playwright/require-to-throw-message: [2]