[TECH] Utiliser le nouveau format de config ESLint sur mon-pix #9847
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🦄 Problème
Dans la version 9 d'ESLint, les fichiers de configuration changent de format. On parle de "Flat" config. Pour pouvoir faire cette montée de version il est nécessaire d'anticiper la migration de format de fichier de configuration.
🤖 Proposition
Migrer vers le nouveau format de fichier, en essayant de garder les fonctionnalités au maximum.
La majorité de la config est automatisée avec cette commande :
Il a fallu faire quelques ajustements :
FlatCompat
qui nous posera problème par la suite. On remplace par l'équivalent en flat config. On a aussi supprimé l'extension dejs.config.all
qu'on utilisait pas mais qui a été ajouté automatiquement lors de la migration. On conservejs.config.recommended
.files
etignores
(ajouter des**
,*
), et bien placer ces configs où elles étaient.sourceType
"commonjs" est remplacé par "script".dist
à l'ignore.@1024pix/eslint-config
par@1024pix/eslint-plugin
qui embarque notre config et nos règles custom.Comme pour l'API, le lint de traductions ne fonctionne plus donc on le supprime.
On a aussi pu prendre de l'info sur 1024pix/pix-editor#744.
🌈 Remarques
On a fait le choix de mettre un objet global contenant les fichiers ignorés via la clé
ignores
car ESLint merge toutes les configs et va ainsi ignorer ces fichiers dans chacune des sous configurations. Pas certain que ce soit la bonne pratique mais c'est un peu tôt pour le dire...Il y a un petit patch en attente sur ember-eslint-parser, d'ici que ce soit release on le fait dans la config ESLint.
💯 Pour tester
Lint OK et pas de régression.