Apresentando o eslint-plugin-sort-properties, com ordenação de chaves mais rápida que plugins existentes
(npmjs.com)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:
- No fix, usa
Array.prototype.sort, melhorando a complexidade de tempo. É cerca de 10 vezes mais rápido quesort-keys-fix - O tempo de aplicação da regra é mais de 50 vezes mais rápido que o do sort-destructure-keys
- Também permite ordenar type literals e interfaces do TypeScript (é necessário especificar o parser do tseslint)
- Traz o recurso da regra jsx-sort-props do eslint-plugin-react que move callbacks para o fim
- 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.