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] Mise à jour de la configuration ESLint monorepo #710

Merged
merged 3 commits into from
Sep 30, 2024

Conversation

lego-technix
Copy link
Contributor

@lego-technix lego-technix commented Sep 24, 2024

🦄 Problème

Il y a besoin de mettre à jour la configuration ESLint sur ce projet. Actuellement elle ne peut pas être montée en version automatiquement par Renovate.

🤖 Proposition

Utiliser le paquet @nuxt/eslint qui est la manière canonique de Nuxt de gérer le linting qui embarque tout ce qui est nécessaire et notamment @stylistic/eslint-plugin, plutôt que de gérer nous-mêmes le stylage avec prettier.

Donc l'idée est de suivre la logique et la politique de Nuxt, plutôt que d'essayer de s'y opposer.

Certaines rules ont été customisées par rapport aux valeurs par défaut pour éviter que toute la base de code ne soit modifiée par un npm run lint:fix. Donc tout l'exercice a été d'obtenir une configuration qui ne change pas trop notre base de code mais qui se rapproche le plus possible de la configuration par défaut de Nuxt.

Voici les documentations qui ont servi de base à cette PR :
https://nuxt.com/blog/eslint-module
https://github.com/nuxt/nuxt/blob/main/eslint.config.mjs
nuxt/eslint#420
https://www.npmjs.com/package/@vitest/eslint-plugin

À noter que le plugin @vitest/eslint-plugin n'a été utilisé que pour autoriser les globals comme describe, test, etc. il y a matière à l'utiliser pour faire du linting de code, il est fait avant tout pour ça. Mais l'effort pour faire cette mise à jour de la configuration ESLint a déjà été important et on a donc pas poussé plus loin l'exploitation de ce plugin pour l'instant.

🌈 Remarques

Voir les essais précédents de mise à jour de ESLint : #662 #667 #678

Voir également cette PR qui interdit la présence de warnings : #708

💯 Pour tester

  • Vérifier que la CI passe
  • Vérifier que les déploiements Scalingo s'effectuent sans erreur (actuellement il y a un problème à cause de contenus Prismic)
  • Vérifier que le BurgerMenu se comporte toujours bien (non-régression) car il y a eu une correction de linting sur un const isMenuOpen = ref(false);

@lego-technix lego-technix self-assigned this Sep 24, 2024
@lego-technix lego-technix added 👀 Tech Review Needed cross-team Toutes les équipes de dev labels Sep 24, 2024
@lego-technix lego-technix requested a review from er-lim September 24, 2024 16:50
@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 sur scalingo https://dashboard.scalingo.com/apps/osc-fr1/pix-site-review-pr710/environment

@lego-technix lego-technix changed the title Feat update eslint [TECH] Mise à jour de la configuration ESLint monorepo Sep 25, 2024
@lego-technix lego-technix marked this pull request as ready for review September 25, 2024 08:16
eslint.config.mjs Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
eslint.config.mjs Outdated Show resolved Hide resolved
@lego-technix
Copy link
Contributor Author

@er-lim tes remarques ont été prises en compte. La PR est prête pour être revue à nouveau.

Copy link
Contributor

@er-lim er-lim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests en local ✅

@pix-service-auto-merge pix-service-auto-merge merged commit c9fa284 into dev Sep 30, 2024
7 checks passed
@pix-service-auto-merge pix-service-auto-merge deleted the feat-update-eslint branch September 30, 2024 09:49
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