Website | Konfigurieren Sie ESLint | Regeln | Tragen Sie zu ESLint bei | Fehler melden | Verhaltenskodex | Twitter | Zwietracht | Mastodon
ESLint ist ein Tool zum Identifizieren und Melden von Mustern in ECMAScript/JavaScript-Code. In vielerlei Hinsicht ähnelt es JSLint und JSHint, mit einigen Ausnahmen:
Voraussetzungen: Node.js ( ^18.18.0
, ^20.9.0
oder >=21.1.0
), erstellt mit SSL-Unterstützung. (Wenn Sie eine offizielle Node.js-Distribution verwenden, ist SSL immer integriert.)
Sie können ESLint mit diesem Befehl installieren und konfigurieren:
npm init @eslint/config@latest
Danach können Sie ESLint für jede Datei oder jedes Verzeichnis wie folgt ausführen:
npx eslint yourfile.js
Sie können Regeln in Ihren eslint.config.js
Dateien wie in diesem Beispiel konfigurieren:
export default [
{
files : [ "**/*.js" , "**/*.cjs" , "**/*.mjs" ] ,
rules : {
"prefer-const" : "warn" ,
"no-constant-binary-expression" : "error"
}
}
] ;
Die Namen "prefer-const"
und "no-constant-binary-expression"
sind die Namen von Regeln in ESLint. Der erste Wert ist die Fehlerstufe der Regel und kann einer dieser Werte sein:
"off"
oder 0
– Regel ausschalten"warn"
oder 1
– Regel als Warnung aktivieren (hat keinen Einfluss auf den Exit-Code)"error"
oder 2
– Regel als Fehler aktivieren (Exit-Code ist 1)Die drei Fehlerstufen ermöglichen Ihnen eine differenzierte Kontrolle darüber, wie ESLint Regeln anwendet (weitere Konfigurationsoptionen und Details finden Sie in den Konfigurationsdokumenten).
Das ESLint-Team bietet fortlaufenden Support für die aktuelle Version und sechs Monate begrenzten Support für die Vorgängerversion. Der eingeschränkte Support umfasst nur kritische Fehlerbehebungen, Sicherheitsprobleme und Kompatibilitätsprobleme.
ESLint bietet kommerziellen Support für aktuelle und frühere Versionen über unsere Partner Tidelift und HeroDevs.
Weitere Informationen finden Sie unter Versionsunterstützung.
ESLint hält sich an den Verhaltenskodex der OpenJS Foundation.
Bevor Sie ein Problem melden, lesen Sie bitte unbedingt die Richtlinien für das, was Sie melden:
Ja, ESLint unterstützt nativ das Parsen der JSX-Syntax (dies muss in der Konfiguration aktiviert werden). Bitte beachten Sie, dass die Unterstützung der JSX-Syntax nicht dasselbe ist wie die Unterstützung von React. React wendet eine bestimmte Semantik auf die JSX-Syntax an, die ESLint nicht erkennt. Wir empfehlen die Verwendung von eslint-plugin-react, wenn Sie React verwenden und React-Semantik wünschen.
Nein, ESLint und Prettier haben unterschiedliche Aufgaben: ESLint ist ein Linter (der nach problematischen Mustern sucht) und Prettier ist ein Codeformatierer. Die Verwendung beider Tools ist üblich. In der Dokumentation von Prettier erfahren Sie, wie Sie sie so konfigurieren, dass sie gut miteinander funktionieren.
ESLint bietet volle Unterstützung für ECMAScript 3, 5 und jedes Jahr von 2015 bis zur neuesten Spezifikation der Stufe 4 (Standard). Sie können die gewünschte ECMAScript-Syntax und andere Einstellungen (z. B. globale Variablen) über die Konfiguration festlegen.
Der Parser von ESLint unterstützt offiziell nur den neuesten endgültigen ECMAScript-Standard. Wir werden Änderungen an den Kernregeln vornehmen, um Abstürze bei ECMAScript-Syntaxvorschlägen der Stufe 3 zu vermeiden (sofern sie mit der korrekten experimentellen ESTree-Syntax implementiert werden). Wir können von Fall zu Fall Änderungen an den Kernregeln vornehmen, um die Arbeit mit Spracherweiterungen (wie JSX, Flow und TypeScript) zu verbessern.
In anderen Fällen (z. B. wenn Regeln aufgrund der neuen Syntax in mehr oder weniger Fällen warnen müssen, anstatt einfach nur nicht abzustürzen) empfehlen wir die Verwendung anderer Parser und/oder Regel-Plugins. Wenn Sie Babel verwenden, können Sie @babel/eslint-parser und @babel/eslint-plugin verwenden, um jede in Babel verfügbare Option zu verwenden.
Sobald eine Sprachfunktion in den ECMAScript-Standard übernommen wurde (Stufe 4 gemäß dem TC39-Prozess), akzeptieren wir Probleme und Pull-Requests im Zusammenhang mit der neuen Funktion, vorbehaltlich unserer Beitragsrichtlinien. Bis dahin verwenden Sie bitte den entsprechenden Parser und die entsprechenden Plugins für Ihre experimentelle Funktion.
ESLint aktualisiert die unterstützten Node.js-Versionen mit jeder Hauptversion von ESLint. Zu diesem Zeitpunkt werden die von ESLint unterstützten Node.js-Versionen wie folgt aktualisiert:
Es wird erwartet, dass ESLint auch mit Node.js-Versionen funktioniert, die nach der aktuellen Version von Node.js veröffentlicht wurden.
Informationen zu den offiziell unterstützten Node.js-Versionen für eine bestimmte ESLint-Version finden Sie in der Kurzanleitung.
Eröffnen Sie eine Diskussion oder schauen Sie auf unserem Discord-Server vorbei.
Sperrdateien wie package-lock.json
sind für bereitgestellte Anwendungen hilfreich. Sie stellen sicher, dass Abhängigkeiten zwischen Umgebungen und über Bereitstellungen hinweg konsistent sind.
Pakete wie eslint
, die in der npm-Registrierung veröffentlicht werden, enthalten keine Sperrdateien. npm install eslint
als Benutzer respektiert Versionseinschränkungen in ESLints package.json
. ESLint und seine Abhängigkeiten werden in die Sperrdatei des Benutzers aufgenommen, sofern eine solche vorhanden ist, die eigene Sperrdatei von ESLint wird jedoch nicht verwendet.
Wir sperren absichtlich keine Abhängigkeitsversionen, damit wir in der Entwicklung und im CI über die neuesten kompatiblen Abhängigkeitsversionen verfügen, die unsere Benutzer erhalten, wenn sie ESLint in einem Projekt installieren.
Der Twilio-Blog bietet einen tieferen Einblick, um mehr zu erfahren.
Wir haben geplante Veröffentlichungen alle zwei Wochen am Freitag oder Samstag. Sie können einem Release-Problem folgen, um Updates zur Planung eines bestimmten Releases zu erhalten.
ESLint nimmt Sicherheit ernst. Wir arbeiten hart daran, sicherzustellen, dass ESLint für alle sicher ist und dass Sicherheitsprobleme schnell und verantwortungsvoll angegangen werden. Lesen Sie die vollständige Sicherheitsrichtlinie.
ESLint folgt der semantischen Versionierung. Aufgrund der Natur von ESLint als Codequalitätstool ist jedoch nicht immer klar, wann ein kleinerer oder größerer Versionssprung auftritt. Um dies für alle klarzustellen, haben wir die folgende Richtlinie zur semantischen Versionierung für ESLint definiert:
eslint:recommended
wurde aktualisiert und führt zu deutlich weniger Linting-Fehlern (z. B. Regelentfernungen).eslint:recommended
wird aktualisiert und kann zu neuen Linting-Fehlern führen (z. B. Regelergänzungen, Aktualisierungen der meisten Regeloptionen). Gemäß unserer Richtlinie kann es sein, dass jedes kleinere Update mehr Linting-Fehler meldet als die vorherige Version (z. B. aufgrund einer Fehlerbehebung). Daher empfehlen wir die Verwendung der Tilde ( ~
) in package.json
z. B. "eslint": "~3.1.0"
um die Ergebnisse Ihrer Builds zu garantieren.
Stilregeln werden gemäß unserer Richtlinie zur Bewertung neuer Regeln und Regeländerungen eingefroren. Das heisst:
Diese Leute halten das Projekt am Laufen und sind Hilfsquellen.
Die Personen, die Releases verwalten, Funktionsanfragen prüfen und sich regelmäßig treffen, um sicherzustellen, dass ESLint ordnungsgemäß gewartet wird.