ESLint 10.0: Neue Features fĂĽr die JavaScript-Codeanalyse im Major Release

Der auf JavaScript ausgelegte Linter bringt einige Änderungen, darunter neue Optionen für die RuleTester-API und ein Update im Umgang mit JSX-Referenzen.

vorlesen Druckansicht 1 Kommentar lesen
Zwei Hände tippen auf einer Laptop-Tastatur

(Bild: Tero Vesalainen/Shutterstock.com)

Lesezeit: 2 Min.
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Das Open-Source-Tool ESLint zur statischen Codeanalyse ist in der neuen Version 10.0 erschienen, mit zahlreichen Neuerungen sowie Breaking Changes. Da es sich um eine Hauptversion handelt, erhalten Entwicklerinnen und Entwickler das Update möglicherweise nicht automatisch per npm, sondern müssen es manuell herunterladen: npm i eslint@10.0.0 --save-dev.

ESLint 10.0 legt unter anderem ein neues Verhalten bezüglich Konfigurationsdateien an den Tag: Es lokalisiert eslint.config*, indem es vom Verzeichnis jeder Datei ausgeht, bei der es das Linting durchführt. Frühere Versionen gingen vom aktuellen Arbeitsverzeichnis aus. Durch diese Änderung lassen sich mehrere Konfigurationsdateien im gleichen Durchlauf verwenden, was insbesondere in Monorepos-Setups hilfreich sein soll.

JavaScript-Konferenz von heise: enterJS 2026

(Bild: jaboy/123rf.com)

Tools und Trends in der JavaScript-Welt: Die enterJS 2026 wird am 16. und 17. Juni in Mannheim stattfinden. Das Programm dreht sich rund um JavaScript und TypeScript, Frameworks, Tools und Bibliotheken, Security, UX und mehr. Frühbuchertickets sind im Online-Ticketshop erhältlich.

Mithilfe der RuleTester-API können Plug-in-Autoren ihre Regeln gegen benutzerdefinierte Testfälle und -konfigurationen testen. In ESLint 10.0 erhält RuleTester einige Neuerungen für robustere Testdefinitionen und verbessertes Debugging. So kann die RuleTester#run()-Methode nun mit Assertion-Optionen umgehen, nämlich requireMessage, requireLocation und requireData. Entwickler können damit strengere Anforderungen in ihren Tests durchsetzen.

Darüber hinaus trackt ESLint JSX-Referenzen, um eine korrekte Scope-Analyse von JSX-Elementen zu ermöglichen. Bisher konnten im Umgang mit JSX-Identifiern falsche Ergebnisse entstehen. Das ESLint-Team nennt das folgende Codebeispiel:

import { Card } from "./card.jsx";

export function createCard(name) {
  return <Card name={name} />;
}

Hier konnten falsch positive Ergebnisse auftreten, denn <Card> konnte als „definiert, aber nie verwendet“ gemeldet werden. Ein falsch negatives Ergebnis war ebenfalls möglich, denn das Entfernen des Imports konnte möglicherweise nicht den Fehler „undefinierte Variable“ ausgeben.

Neben weiteren Updates sind zahlreiche Breaking Changes im Release enthalten. Laut dem ESLint-Team sollten die meisten Nutzerinnen und Nutzer ESLint ohne Build-Änderungen auf Version 10.0 aktualisieren können, doch ein Migrationsguide steht mit tiefergehenden Details zu den Breaking Changes bereit. Die neuen Features behandelt die Ankündigung im ESLint-Blog.

(mai)