zurück zum Artikel

Codeanalyse-Tool ESLint 9.0 erhebt neues Konfigurationssystem zum Standard

Maika Möbus
Hände an Laptop-Tastatur mit unscharfem Code im Hintergrund

(Bild: Tero Vesalainen/Shutterstock.com)

Flat Config löst das vorherige Konfigurationssystem eslintrc ab und alte Node.js-Versionen fallen aus dem Support.

Das Team hinter ESLint hat Version 9.0 veröffentlicht. Das Open-Source-Tool zur statischen Analyse von JavaScript-Code bringt einige Neuerungen, davon manche nicht rückwärtskompatibel. Zu den größeren Änderungen zählen der Wechsel des Konfigurationssystems von eslintrc zu Flat Config und das Support-Ende für ältere Node.js-Versionen.

Wer ESLint 9.0 nutzen möchte, muss Node.js 18.8.0, 20.9.0, 21.1.0 oder entsprechende höhere Minor-Versionen verwenden. So ist etwa die Verwendung mit Node.js 19 – einer Version ohne Long-Term Support (LTS) – nicht möglich. Als aktuelle Version mit Long-Term Support steht das im Oktober 2023 erschienene Node.js 21 [1] bereit.

Als Konfigurationssystem verwendet ESLint 9.0 standardmäßig Flat Config statt wie bisher eslintrc. Wie ein Blogeintrag aus dem Oktober 2023 [2] beschreibt, entstand Flat Config schon 2019, wurde jedoch erst 2022 experimentell veröffentlicht. eslintrc gilt nun als deprecated (veraltet) und lässt sich wahlweise weiterhin durch ein Setzen der Umgebungsvariable ESLINT_USE_FLAT_CONFIG auf false nutzen.

Mit Flat Config soll eine vereinfachte Konfiguration von ESLint durch ein neues Dateiformat einhergehen, denn das bisherige Dateiformat .eslintrc ist laut einem GitHub-RFC [3] (Request for Comments) "der schwierigste Teil von ESLint". An seine Stelle tritt nun das neue Format eslint.config.js.

Wie sich die Änderung auf User sowie Plug-in-Entwicklerinnen und -Entwickler auswirkt, lässt sich dem oben genannten Blogeintrag entnehmen [4].

Heise-Konferenz: enterJS 2024

Die Enterprise-JavaScript-Konferenz enterJS [5] findet am 7. und 8. Mai in Mainz statt. Die Veranstalter dpunkt.verlag und iX präsentieren über 35 Vorträge und drei Workshops [6] rund um JavaScript, Frameworks sowie Tools und Techniken.

Auszug aus dem Programm:

Neben zahlreichen weiteren Neuerungen wie der neuen API [10] loadESLint() hat das ESLint-Team einige bestehende Regeln aktualisiert. Beispielsweise besitzt die no-fallthrough-Regel die neue Option reportUnusedFallthroughComment und die no-misleading-character-class-Regel hebt nun lediglich die betroffenen Zeichen in einem regulären Ausdruck hervor, statt des gesamten Ausdrucks.

Zu den 14 enthaltenen Bugfixes zählt, dass sich in no-lone-blocks nun using-Deklarationen verwenden lassen und dass das Linting einer Datei nach einem Fehler nicht weiter ausgeführt wird.

Sämtliche Änderungen sind in den Release Notes [11] auf dem ESLint-Blog aufgeführt.

(mai [12])


URL dieses Artikels:
https://www.heise.de/-9679247

Links in diesem Artikel:
[1] https://www.heise.de/news/JavaScript-Runtime-Node-js-21-stabilisiert-das-Fetch-Modul-9337521.html
[2] https://eslint.org/blog/2023/10/flat-config-rollout-plans/
[3] https://github.com/eslint/rfcs/tree/main/designs/2019-config-simplification
[4] https://eslint.org/blog/2023/10/flat-config-rollout-plans/
[5] https://enterjs.de/
[6] https://enterjs.de/programm.php
[7] https://enterjs.de/veranstaltung-21714-0-von-der-idee-zum-fertigen-produkt-mit-node.js.html
[8] https://enterjs.de/veranstaltung-21582-0-cypress-vs.-playwright--ring-frei.html
[9] https://enterjs.de/veranstaltung-21806-0-datenschaetze-heben-durch-effektive-visualisierung.html
[10] https://eslint.org/docs/latest/integrate/nodejs-api#loadeslint
[11] https://eslint.org/blog/2024/04/eslint-v9.0.0-released/
[12] mailto:mai@heise.de