Vorstellung von eslint-plugin-sort-properties: Schnellere Schlüsselsortierung als mit bestehenden Plugins
(npmjs.com)Da die sort-keys-Regel von eslint nicht auto-fixable ist, sind auf npm Plugins beliebt, die diese Funktion mit Auto-Fix ergänzen, etwa eslint-plugin-sort-keys-fix oder eslint-plugin-sort-destructure-keys; sie kommen jeweils auf mehr als 330.000 bzw. 190.000 wöchentliche Downloads. Diese beiden Plugins haben jedoch Probleme.
Im Fall von sort-keys-fix wurde eslint geforkt und angepasst; da beim Fixen durch Vertauschen auf der property-Node-Ebene gearbeitet wird (Code), ergibt sich eine Zeitkomplexität von O(N^2), wodurch Korrekturen lange dauern. Bei sort-destructure-keys gibt es wiederum viele doppelte Berechnungen im Vergleichsprozess (Code), was ebenfalls Zeit kostet.
Daher wurde eslint-plugin-sort-properties entwickelt, um diese Probleme zu lösen. Die wichtigsten Funktionen sind folgende:
- Beim Fix wird
Array.prototype.sortverwendet, wodurch sich die Zeitkomplexität verbessert; etwa 10-mal schneller alssort-keys-fix - Die Regelanwendung ist mehr als 50-mal schneller als bei sort-destructure-keys
- Auch TypeScript Type Literals und Interfaces können sortiert werden (tseslint-Parser muss explizit angegeben werden)
- Die Funktion aus der jsx-sort-props-Regel von eslint-plugin-react, Callback-Props nach hinten zu verschieben, wurde übernommen
- Kommentare können so konfiguriert werden, dass sie als Teil einer Property mitverschoben werden, um Beschädigungen zu vermeiden
Für die Methode der Geschwindigkeitsmessung gibt es im Benchmark eine Referenz.
Noch keine Kommentare.