Présentation de `eslint-plugin-sort-properties`, plus rapide pour trier les clés que les plugins existants
(npmjs.com)Comme la règle sort-keys d’eslint n’est pas auto-fixable, des plugins npm qui ajoutent chacun une fonctionnalité auto-fixable, comme eslint-plugin-sort-keys-fix ou eslint-plugin-sort-destructure-keys, sont très populaires avec respectivement plus de 330 000 et 190 000 téléchargements hebdomadaires. Mais ces deux plugins ont des problèmes.
Dans le cas de sort-keys-fix, comme il s’agit d’un fork d’eslint modifié pour effectuer les corrections en échangeant les nœuds de propriété (code), il a une complexité temporelle en O(N^2), ce qui rend les corrections lentes. Et pour sort-destructure-keys, il existe une partie lente car il y a beaucoup de calculs redondants pendant le processus de comparaison (code).
C’est pourquoi eslint-plugin-sort-properties a été créé pour résoudre ces problèmes, avec les principales fonctionnalités suivantes.
- Pour les corrections, utilisation de
Array.prototype.sort, ce qui améliore la complexité temporelle. Environ 10 fois plus rapide quesort-keys-fix - Temps d’application de la règle plus de 50 fois plus rapide que
sort-destructure-keys - Permet aussi de trier les type literals et interfaces TypeScript (nécessite d’indiquer le parser tseslint)
- Reprend de la règle
jsx-sort-propsd’eslint-plugin-react la fonctionnalité qui place les callbacks à la fin - Peut être configuré pour déplacer aussi les commentaires avec leur propriété, en les traitant comme faisant partie de la propriété, afin d’éviter les cassures
Pour la méthode de mesure des performances, une référence est disponible dans le benchmark.
Aucun commentaire pour le moment.