Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TECH] Utiliser le nouveau format de config ESLint sur mon-pix #9847

Merged
merged 2 commits into from
Aug 22, 2024

Conversation

yannbertrand
Copy link
Member

@yannbertrand yannbertrand commented Aug 14, 2024

🦄 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 :

npx @eslint/migrate-config .eslintrc.cjs --commonjs

Il a fallu faire quelques ajustements :

  • Utiliser les versions "flat" des plugins que l'on utilise.
  • On supprime l'usage de FlatCompat qui nous posera problème par la suite. On remplace par l'équivalent en flat config. On a aussi supprimé l'extension de js.config.all qu'on utilisait pas mais qui a été ajouté automatiquement lors de la migration. On conserve js.config.recommended.
  • Adapter les files et ignores (ajouter des **, *), et bien placer ces configs où elles étaient.
  • Le sourceType "commonjs" est remplacé par "script".
  • Ajouter les dossiers compilés comme dist à l'ignore.
  • Remplacer @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.

@yannbertrand yannbertrand changed the title [TECH] Utiliser le nouveau format de config ESLint [TECH] Utiliser le nouveau format de config ESLint sur mon-pix Aug 14, 2024
@pix-bot-github
Copy link

Une fois les applications déployées, elles seront accessibles via les liens suivants :

Les variables d'environnement seront accessibles via les liens suivants :

@yannbertrand yannbertrand force-pushed the tech-migrate-eslint-config-mon-pix branch 2 times, most recently from 2e31628 to dc19414 Compare August 21, 2024 14:14
@yannbertrand yannbertrand self-assigned this Aug 21, 2024
@yannbertrand yannbertrand added 👀 Tech Review Needed cross-team Toutes les équipes de dev labels Aug 21, 2024
@yannbertrand yannbertrand force-pushed the tech-migrate-eslint-config-mon-pix branch from dc19414 to e8059a2 Compare August 21, 2024 14:25
@yannbertrand yannbertrand marked this pull request as ready for review August 21, 2024 14:44
@yannbertrand yannbertrand force-pushed the tech-migrate-eslint-config-mon-pix branch 2 times, most recently from bfcfbc1 to ab38d2c Compare August 21, 2024 15:06
@yannbertrand yannbertrand force-pushed the tech-migrate-eslint-config-mon-pix branch from ab38d2c to 4597369 Compare August 21, 2024 16:23
@pix-service-auto-merge pix-service-auto-merge merged commit dd2afd4 into dev Aug 22, 2024
4 checks passed
@pix-service-auto-merge pix-service-auto-merge deleted the tech-migrate-eslint-config-mon-pix branch August 22, 2024 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants