Codeanalyse: ESLint 8.31 nimmt den Einsatz von Unterstrichen unter die Lupe
(Bild: Billion Photos/Shutterstock.com)
Das Minor Release des JavaScript-Linters bringt zwei neue Optionen fĂŒr den Umgang mit Unterstrichen in Identifiern und fĂŒhrt Bugfixes ein.
Das Open-Source-Tool ESLint hat Version 8.31 erreicht. Es dient der statischen Codeanalyse fĂŒr JavaScript-Code und prĂ€sentiert neue Optionen fĂŒr den Umgang mit Dangling Underscores. Daneben behebt Version 8.31 Bugs der Vorversion und aktualisiert die Dokumentation.
Neue Optionen zum PrĂŒfen von Unterstrichen
Die bereits mit ESLint 0.0.9 eingefĂŒhrte Regel no-underscore-dangle erklĂ€rt Dangling Underscores fĂŒr unzulĂ€ssig [1]. Dabei handelt es sich um Unterstriche, die am Beginn oder Ende eines Identifiers stehen, beispielsweise var _foo;. Wie das ESLint-Team ausfĂŒhrt, geht diese Schreibweise auf das Hervorheben "privater" Member von Objekten zurĂŒck. Da JavaScript keine wirklich privaten Member besitze, sei die Hervorhebung als Warnung zu verstehen. Das Verwenden von Dangling Underscores ist laut dem Team schlicht eine PrĂ€ferenz.
Wer no-underscore-dangle einsetzt, wĂŒrde mit diesem Beispiel gegen die Regel verstoĂen:
/*eslint no-underscore-dangle: "error"*/
var foo_;
var __proto__ = {};
foo._bar();
Korrekter Code wÀre beispielsweise:
/*eslint no-underscore-dangle: "error"*/
var _ = require('underscore');
var obj = _.contains(items, item);
obj.__proto__ = {};
var file = __filename;
function foo(_bar) {};
const foo = { onClick(_bar) {} };
const foo = (_bar) => {};
In Version 8.31 bietet ESLint zwei zusĂ€tzliche Optionen fĂŒr no-underscore-dangle: allowInArrayDestructuring und allowInObjectDestructuring. Sie sind standardmĂ€Ăig auf true gesetzt, um eine AbwĂ€rtskompatibilitĂ€t zu gewĂ€hrleisten. Dangling Underscores in Variablennamen, die durch Array und Object Destructuring zugewiesen wurden, sind dann zulĂ€ssig. Um auf Dangling Underscores in diesen FĂ€llen zu prĂŒfen, können Entwicklerinnen und Entwickler die Optionen auf false stellen.
Die Veranstalter heise Developer, iX und dpunkt.verlag richten am 15. Februar 2023 den enterJS Web-Performance Day [2] aus. Teilnehmende lernen dort State-of-the-Art Tools fĂŒr mehr Geschwindigkeit kennen. Performance-Expertinnen und -Experten zeigen in sieben Online-VortrĂ€gen [3], wie sich Webanwendungen beschleunigen lassen. Deep Dives zu Angular und zu JavaScript gibt es in 2-Tages-Workshops [4], die ebenfalls online stattfinden.
Bugfixes und aktualisierte Dokumentation
Neben weiteren Neuerungen behebt ESLint 8.31 zwei in der vorherigen Version aufgefallene Fehler. So soll ein verÀndertes Autofix-Verhalten der Regel prefer-arrow-callback nun Syntaxfehler vermeiden und eine neue Instanz von FlatESLint lÀdt nun die jeweils neueste Version der Konfigurationsdatei.
Die Dokumentation fĂŒr ESLint hat ebenfalls Updates erhalten. Sie zeigt neben bestehenden Social-Media-Buttons einen neuen Mastodon-Link an und korrigiert den npm-Link sowie das bisherige Fehlen von LĂ€nderflaggen-Icons in der Sprachauswahl. Die Flaggen sind nun neben der jeweiligen Sprache zu sehen.
Alle Details zum neuen Minor Release lassen sich dem ESLint-Blog entnehmen [5].
(mai [6])
URL dieses Artikels:
https://www.heise.de/-7446876
Links in diesem Artikel:
[1] https://eslint.org/docs/latest/rules/no-underscore-dangle
[2] https://enterjs.de/web-performance.php
[3] https://enterjs.de/web-performance.php#programm
[4] https://enterjs.de/web-performance.php#workshops
[5] https://eslint.org/blog/2022/12/eslint-v8.31.0-released/
[6] mailto:mai@heise.de
Copyright © 2023 Heise Medien