Codeanalyse: ESLint 8.4 bringt neue Parser-Option

Der JavaScript-Linter erlaubt Formatter als async-Funktionen und versieht den Standard-Parser mit der neuen Option allowReserved.

In Pocket speichern vorlesen Druckansicht

(Bild: Pixfiction/Shutterstock.com)

Lesezeit: 2 Min.

ESLint ist in der Minor-Version 8.4 erschienen. Das Tool zur statischen Codeanalyse von JavaScript-Code hat neue Features im Gepäck, sowohl für den Standard-Parser als auch für benutzerdefinierte Formatter. Die Dokumentation hat ebenfalls Updates erhalten.

Im ESLint-Standard-Parser lässt sich nun die neue Boolean-Option allowReserved einstellen, sofern die Bedingung "ecmaVersion": 3 erfüllt ist. Standardmäßig ist die neue Option auf false gesetzt, durch eine Änderung zu true sind reservierte Wörter als Identifier verwendbar:

{
    "parserOptions": {
        "ecmaVersion": 3,
        "allowReserved": true
    }
}

ESLint erlaubt neben der Nutzung der integrierten Formatter auch das Erstellen eigener Custom Formatter. Diese benutzerdefinierten Formatter lassen sich direkt in ein Projekt integrieren oder per npm verteilen. In Version 8.4 lassen sie sich als eine async-Funktion verwenden, da sie nun Promise<string> zurĂĽckgeben dĂĽrfen.

Daneben erhält das context-Argument die neue Property cwd. Dieser absolute Pfad im String-Format steht für das zum Linting genutzte Arbeitsverzeichnis und soll den Formatter-Output relativer Pfade zuverlässiger machen, als es mittels process.cwd() möglich wäre.

Als Bugfix gilt die Markierung der Option --rulesdir in der CLI-Dokumentation als veraltet. Neben weiteren Dokumentations-Updates und Features hat das ESLint-Team auch an Chores gearbeitet. Als solche gelten Ă„nderungen, die nicht anwenderorientiert sind, beispielsweise kommt nun in M1-Mac-Tests die Standard-Chromium-Binary zum Einsatz.

Das Open-Source-Codeanalysetool setzt Node.js – seit ESLint 8.0 mindestens in Version 12.22, 14 oder 16 – voraus und lässt sich mit den Paketmanagern npm (npm install eslint --save-dev) oder yarn (yarn add eslint --dev) installieren.

Alle Neuerungen in Version 8.4 finden Interessierte in einem Blogeintrag.

(mai)