chore: migration ESLint flat config and update packages dependencies#2517
chore: migration ESLint flat config and update packages dependencies#2517
Conversation
…pgrade dependencies
…son and package-lock.json
…and package-lock.json
…t.security.config.ts
… to version 0.7.6 in package.json and package-lock.json
# Conflicts: # package-lock.json # package.json
# Conflicts: # package-lock.json # package.json
- Add vue-eslint-parser@^10.4.0 as explicit peer dep required by eslint-plugin-vue@10.x - Pin dependencies to exact versions - Bump multiple packages (nuxt, sentry, vueuse, dsfr, etc.) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR migrates the monorepo to ESLint 9 “flat config” across Nx workspaces while updating a broad set of JS/TS and Python ETL dependencies.
Changes:
- Replace legacy
.eslintrc.json-based configs with workspaceeslint.config.mjsfiles and a new rooteslint.config.mjs. - Update Nx configuration to account for the new ESLint config filenames and remove the Nx Jest plugin.
- Bump multiple dependencies (ESLint/TypeScript/Vue ecosystem, Nuxt tooling, ETL
urllib3) and apply small lint-driven code cleanups.
Reviewed changes
Copilot reviewed 26 out of 27 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Updates engines/dependencies and introduces ESLint 9 + TypeScript-ESLint v8 stack. |
| nx.json | Updates named inputs for flat config and removes Nx Jest plugin registration. |
| libs/etl/requirements.txt | Bumps ETL Python dependency urllib3. |
| libs/data/src/common/brevo/brevoManager.ts | Removes file-level ESLint disable to align with new lint rules. |
| libs/data/eslint.config.mjs | Adds flat config for libs/data with workspace-specific ignores. |
| libs/data/.eslintrc.json | Removes legacy ESLint config (flat config migration). |
| libs/common/eslint.config.mjs | Adds flat config for libs/common. |
| libs/common/.eslintrc.json | Removes legacy ESLint config (flat config migration). |
| libs/backend-ddd/tests/opportunity/infrastructure/api/brevo/mock/brevoMail.mock.ts | Removes lint suppression in a mock implementation. |
| libs/backend-ddd/src/opportunity/infrastructure/api/brevo/brevoContact.ts | Removes a lint suppression comment. |
| libs/backend-ddd/eslint.config.mjs | Adds flat config for libs/backend-ddd. |
| libs/backend-ddd/.eslintrc.json | Removes legacy ESLint config (flat config migration). |
| eslint.config.mjs | Introduces the root ESLint 9 flat config (Nx boundaries, TS rules, Prettier, unused imports). |
| apps/nuxt/src/tools/requests.ts | Minor formatting changes after lint migration. |
| apps/nuxt/src/tools/helpers.ts | Minor formatting/comment removals after lint migration. |
| apps/nuxt/eslint.config.mjs | Adds Nuxt/Vue workspace flat config (Vue recommended + per-file overrides + ignores). |
| apps/nuxt/.eslintrc.json | Removes legacy ESLint config (flat config migration). |
| apps/nuxt-e2e/eslint.config.mjs | Adds flat config for Playwright e2e workspace. |
| apps/nuxt-e2e/.eslintrc.json | Removes legacy ESLint config (flat config migration). |
| apps/nuxt-artillery/eslint.config.mjs | Adds flat config for Artillery/Playwright workspace. |
| apps/nuxt-artillery/.eslintrc.json | Removes legacy ESLint config (flat config migration). |
| .eslintrc.json | Removes root legacy ESLint config (flat config migration). |
| .eslintrc-auto-import.json | Removes legacy auto-import globals config (flat config migration). |
| .eslintignore | Removes legacy ignore file in favor of flat-config ignores. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| export default class BrevoMailMock { | ||
| // eslint-disable-next-line @typescript-eslint/no-empty-function | ||
| sendReturnReceipt: MailerManager['sendReturnReceipt'] = async (): Promise<Maybe<Error> | void> => {} |
There was a problem hiding this comment.
sendReturnReceipt is implemented as an empty async function body, which is typically flagged by @typescript-eslint/no-empty-function under the recommended config (and will fail lint in CI). Replace it with an expression body (e.g., return undefined) or add a minimal implementation so the function is not empty.
| sendReturnReceipt: MailerManager['sendReturnReceipt'] = async (): Promise<Maybe<Error> | void> => {} | |
| sendReturnReceipt: MailerManager['sendReturnReceipt'] = async (): Promise<Maybe<Error> | void> => { | |
| return undefined | |
| } |
| "@artilleryio/playwright-reporter": "^1.0.0", | ||
| "@nuxt/devtools": "^2.7.0", | ||
| "@nuxt/eslint-config": "~0.7.6", | ||
| "@eslint/js": "^9.28.0", |
There was a problem hiding this comment.
@eslint/js is added to devDependencies but is not imported/used anywhere in the repo (including the new flat ESLint configs). Either remove it to keep the dependency set minimal, or wire it into eslint.config.mjs (e.g. as a base JS ruleset) if it’s intended to be used.
| "@eslint/js": "^9.28.0", |
| "jest-util": "30.0.5", | ||
| "jiti": "2.4.2", | ||
| "eslint-plugin-unused-imports": "^4.0.0", | ||
| "globals": "^16.2.0", |
There was a problem hiding this comment.
globals is added to devDependencies but is not imported/used anywhere in the ESLint flat configs (current repo only references vitest/globals types, which is unrelated). Either remove it or incorporate it into ESLint languageOptions.globals if you meant to declare globals explicitly.
| "globals": "^16.2.0", |
Résumé
Cette PR consolide deux axes de travail menés en parallèle sur la branche
build/update-packagepuis fusionnés dansbuild/update-eslint:1. Migration ESLint vers la « flat config » (ESLint 9)
.eslintrc.jsonpar workspace (root,apps/nuxt,apps/nuxt-e2e,apps/nuxt-artillery,libs/backend-ddd,libs/common,libs/data).eslintignoreet.eslintrc-auto-import.jsoneslint.config.mjscorrespondants au nouveau format ESLint 9 (flat config)nx.jsonpour pointer vers les nouvelles configurations2. Mise à jour des dépendances
eslint@typescript-eslint/*typescript-eslinteslint-plugin-vuevue-eslint-parser@nuxt/devtools@vue/test-utilsnuxt-securitysharp@swc-node/register@swc/coreurllib3(ETL Python)>=10.0 <12)3. Correctifs mineurs
apps/nuxt/src/tools/helpers.tsetrequests.ts: ajustements pour la conformité avec les nouvelles règles ESLintnuxt.config.tsPRs Dependabot associées
Les PRs Dependabot suivantes sont couvertes ou rendues obsolètes par cette PR (le
package-lock.jsonrésout déjà des versions >= aux cibles) :Plan de test
npm run lint— vérifier qu'aucune erreur ESLint n'est remontéenpm run type:check— vérifier la cohérence TypeScriptnpm run test— tests unitaires data + backend-dddnpm run build— build complet sans erreurbaserow_extractor,siren_extractor,posthog_extractor)🤖 Generated with Claude Code