Skip to content

chore(deps): migrer les dépendances (vitest 5, eslint 10, jscpd 5, commitlint 21) - #327

Merged
michaeldesigaud merged 1 commit into
mainfrom
chore/deps-upgrade
Oct 30, 2026
Merged

michaeldesigaud merged 1 commit into
mainfrom
chore/deps-upgrade

Conversation

@elliot-redfroggy

Copy link
Copy Markdown
Collaborator

Migration des dépendances

Majeures

Paquet Avant Après Adaptation
vitest / @vitest/coverage-v8 3.2.7 5.0.5 mocks de constructeurs en function (fonctions fléchées non instanciables) ; option coverage all supprimée ; tests ajoutés pour les branches implicites (else absent) désormais comptées par la couverture v8
eslint 8.57 10.14 migration vers eslint.config.js (flat config, mêmes règles eslint:recommended + prettier) ; plugins inutilisés supprimés (standard, import, n, promise, check-file) ; correction des nouvelles erreurs (no-useless-assignment, no-unused-private-class-members)
eslint-config-prettier 9 10 —
jscpd 3.5 5.4 config regroupée dans .jscpd.json : la section jscpd du package.json n'est plus lue (seuil 0,1 % et exclusion des specs perdus sinon)
js-yaml 4 5 plus d'export par défaut → import { load } dans scripts/corpus_version.js
@commitlint/* 19 21 —
@semantic-release/changelog / git 6 / 10 7 / 11 requièrent Node ≥ 24.15 → .nvmrc et CI en 24.22.2
@duckdb/node-api 1.3.2-alpha 2.0.0-r.1 —
@types/node 20 24 —

Mineures : fast-xml-parser, @aws-sdk/client-s3, prettier, piscina, fast-csv, semantic-release, husky (husky install → husky).

engines.node de la lib publiée inchangé (>=24.14.1) : aucune dépendance runtime n'exige plus.

Vérifications

  • Tests unitaires : 2368 passés / 4 ignorés (main : 2336 / 4), couverture 100 % (statements, branches, functions, lines)
  • qa:lint ✅, qa:duplication : 0 clone ✅, npm ci sans EBADENGINE sous Node 24.22.2
  • Non-régression moteur : 2000 DPE du corpus calculés avec main et avec la branche → sorties strictement identiques (0 écart)
  • npm audit : 14 vulnérabilités (3 critiques) → 2 (internes au paquet npm embarqué par semantic-release), 0 en dépendances de production

Changements de code (sans effet sur les calculs)

  • src/9_conso_ch.js, src/utils.js : affectations initiales inutiles supprimées
  • AddAdditionnalUeValuesTables : constructeur et champs privés inutilisés supprimés

Note

Un type de doublage hors énumération (≥ 6) produit umur0 = NaN dans calc_mur : comportement existant, figé par un test, non corrigé ici.

…mmitlint 21)

- vitest 3 -> 5 et @vitest/coverage-v8 5 : mocks de constructeurs en `function`
  (les fonctions fléchées ne sont plus instanciables), option coverage `all` supprimée,
  tests ajoutés pour les branches implicites désormais comptées par la couverture v8
- eslint 8 -> 10 : migration vers eslint.config.js (flat config, mêmes règles),
  suppression des plugins inutilisés (standard, import, n, promise, check-file),
  correction des nouvelles erreurs (affectations inutiles, membres privés inutilisés)
- jscpd 3 -> 5 : configuration regroupée dans .jscpd.json (la section package.json
  n'est plus lue : seuil et exclusion des specs perdus sinon)
- js-yaml 5 : import nommé de `load`
- commitlint 21, semantic-release (changelog 7, git 11), @duckdb/node-api 2,
  @types/node 24, mises à jour mineures
- husky : `husky install` déprécié remplacé par `husky`
- Node 24.22.2 dans .nvmrc et la CI (requis par @semantic-release/git 11)
@michaeldesigaud
michaeldesigaud merged commit a47c896 into main Oct 30, 2026
4 checks passed
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.

2 participants