eslint의 sort-keys rule이 auto-fixable하지 않은 관계로 npm에는 eslint-plugin-sort-keys-fix나 eslint-plugin-sort-destructure-keys같이 auto-fixable한 기능을 추가한 플러그인들이 각각 주간 다운로드 수 33만, 19만을 넘기며 인기가 많습니다. 하지만 두 플러그인에는 문제점들이 있습니다.
sort-keys-fix의 경우 eslint에서 포크하여 수정한 결과 property 노드에서 스왑하는 식으로 수정하기 때문에(코드) O(N^2)의 시간 복잡도를 가져 수정에 오랜 시간이 걸립니다. 그리고 sort-destructure-keys의 경우 비교 과정에서 중복 계산이 많아(코드) 오래 걸리는 부분이 있습니다.
그래서 eslint-plugin-sort-properties를 만들어 이 문제들을 해결했는데, 주요 기능들은 아래와 같습니다.
속도 측정 방식의 경우 벤치마크에 레퍼런스가 있습니다.