eslint के sort-keys rule के auto-fixable न होने की वजह से npm पर eslint-plugin-sort-keys-fix और eslint-plugin-sort-destructure-keys जैसे plugins, जो auto-fixable फीचर जोड़ते हैं, क्रमशः साप्ताहिक 3.3 लाख और 1.9 लाख से अधिक downloads के साथ काफ़ी लोकप्रिय हैं। लेकिन इन दोनों plugins में कुछ समस्याएँ हैं.
sort-keys-fix के मामले में, eslint को fork करके संशोधित करने के परिणामस्वरूप यह property node पर swap करने के तरीके से fix करता है (code), इसलिए इसकी time complexity O(N^2) हो जाती है और fix करने में काफ़ी समय लगता है। वहीं sort-destructure-keys में comparison प्रक्रिया के दौरान duplicate calculations ज़्यादा होती हैं (code), इसलिए इसमें भी समय ज़्यादा लगता है।
इसीलिए eslint-plugin-sort-properties बनाया गया, जो इन समस्याओं को हल करता है। इसके प्रमुख फीचर्स इस प्रकार हैं।

  1. fix के लिए Array.prototype.sort का उपयोग कर time complexity में सुधार। sort-keys-fix से लगभग 10 गुना तेज़
  2. rule लागू होने का समय sort-destructure-keys से 50 गुना से भी अधिक तेज़
  3. typescript type literal और interface को भी sort किया जा सकता है (tseslint parser को स्पष्ट रूप से निर्दिष्ट करना आवश्यक)
  4. eslint-plugin-react के jsx-sort-props rule में callback को पीछे भेजने वाला फीचर है, उसे भी इसमें शामिल किया गया है
  5. comments को भी property का हिस्सा मानकर उनकी position साथ में move की जा सकती है, ताकि टूट-फूट से बचाने के लिए इसे configure किया जा सके
    स्पीड मापने के तरीके के लिए benchmark में reference उपलब्ध है.

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.