13 điểm bởi haenah 2025-02-10 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Do sort-keys rule của eslint không hỗ trợ auto-fix, nên trên npm các plugin bổ sung tính năng auto-fix như eslint-plugin-sort-keys-fixeslint-plugin-sort-destructure-keys đều rất phổ biến, với số lượt tải hàng tuần lần lượt vượt 330 nghìn và 190 nghìn. Tuy nhiên, cả hai plugin này đều có vấn đề.
Với sort-keys-fix, do được fork từ eslint rồi chỉnh sửa theo cách hoán đổi tại các property node (), nên nó có độ phức tạp thời gian O(N^2) và mất khá nhiều thời gian để sửa. Còn với sort-destructure-keys, có đoạn bị chậm vì có nhiều phép tính trùng lặp trong quá trình so sánh ().
Vì vậy, tác giả đã tạo ra eslint-plugin-sort-properties để giải quyết các vấn đề này, với những tính năng chính như sau.

  1. Với fix, dùng Array.prototype.sort để cải thiện độ phức tạp thời gian; nhanh hơn khoảng 10 lần so với sort-keys-fix
  2. Thời gian áp dụng rule nhanh hơn hơn 50 lần so với sort-destructure-keys
  3. Có thể sắp xếp cả typescript type literal và interface (cần chỉ định tseslint parser)
  4. Mang vào tính năng đẩy callback xuống cuối từ rule jsx-sort-props của eslint-plugin-react
  5. Có thể cấu hình để comment cũng được coi là một phần của property và được di chuyển cùng vị trí, giúp tránh bị vỡ cấu trúc
    Cách đo tốc độ có tài liệu tham khảo trong benchmark.

Chưa có bình luận nào.

Chưa có bình luận nào.