13 pontos por haenah 2025-02-10 | Ainda não há comentários. | Compartilhar no WhatsApp

Como a regra sort-keys do eslint não oferece auto-fix, plugins no npm como eslint-plugin-sort-keys-fix e eslint-plugin-sort-destructure-keys, que adicionam essa funcionalidade, são bastante populares, com mais de 330 mil e 190 mil downloads semanais, respectivamente. Mas os dois plugins têm problemas.
No caso do sort-keys-fix, por ser um fork do eslint com modificações, ele faz a correção trocando nós de propriedade (código), o que resulta em complexidade de tempo O(N^2) e faz a correção demorar bastante. Já o sort-destructure-keys também tem trechos lentos porque realiza muitos cálculos duplicados durante o processo de comparação (código).
Por isso foi criado o eslint-plugin-sort-properties para resolver esses problemas, com os seguintes recursos principais:

  1. No fix, usa Array.prototype.sort, melhorando a complexidade de tempo. É cerca de 10 vezes mais rápido que sort-keys-fix
  2. O tempo de aplicação da regra é mais de 50 vezes mais rápido que o do sort-destructure-keys
  3. Também permite ordenar type literals e interfaces do TypeScript (é necessário especificar o parser do tseslint)
  4. Traz o recurso da regra jsx-sort-props do eslint-plugin-react que move callbacks para o fim
  5. Pode ser configurado para mover também os comentários junto com a propriedade, tratando-os como parte dela e evitando que se quebrem
    Há referências sobre a forma de medir a velocidade no benchmark.

Ainda não há comentários.

Ainda não há comentários.