Introducción a `eslint-plugin-sort-properties`, que ordena claves más rápido que los plugins existentes
(npmjs.com)Como la regla sort-keys de eslint no es auto-fixable, en npm son muy populares plugins que agregan funciones auto-fixables, como eslint-plugin-sort-keys-fix y eslint-plugin-sort-destructure-keys, con más de 330 mil y 190 mil descargas semanales respectivamente. Sin embargo, ambos plugins tienen problemas.
En el caso de sort-keys-fix, como fue modificado a partir de un fork de eslint y corrige intercambiando en el nodo property (código), tiene una complejidad temporal de O(N^2), por lo que la corrección tarda bastante. Y en el caso de sort-destructure-keys, durante el proceso de comparación hay muchos cálculos duplicados (código), lo que también provoca lentitud.
Por eso se creó eslint-plugin-sort-properties para resolver estos problemas, y sus funciones principales son las siguientes.
- En el fix usa
Array.prototype.sort, mejorando la complejidad temporal. Es alrededor de 10 veces más rápido quesort-keys-fix - La aplicación de la rule es más de 50 veces más rápida que
sort-destructure-keys - También permite ordenar type literal e interface de TypeScript (es necesario especificar el parser de tseslint)
- Incorpora de la regla jsx-sort-props de eslint-plugin-react la función de mover los callbacks al final
- Se puede configurar para mover también la posición de los comentarios como parte del property, evitando que se rompan
En cuanto al método de medición de velocidad, hay una referencia en el benchmark.
Aún no hay comentarios.