ESLintrc-Generator

Nächste

Dieser Generator erstellt aus vier Auswahlmöglichkeiten eine einsatzbereite .eslintrc.json-Konfiguration: Browser- oder Node-Umgebung, TypeScript-Unterstützung und React-Unterstützung. Er verdrahtet eslint:recommended, die passenden TypeScript- oder React-Plugins und ein paar sinnvolle Regelüberschreibungen, sodass Sie das Ergebnis direkt in Ihr Projekt übernehmen können.

So erstellen Sie eine ESLint-Konfiguration

  1. 1

    Umgebung wählen

    Wählen Sie, ob der Code im Browser, in Node.js oder in beiden läuft. Der Generator setzt die passenden `env`-Einträge, plus `es2022`.

  2. 2

    TypeScript aktivieren

    Aktivieren Sie TypeScript, und der Generator fügt `@typescript-eslint/parser` und das empfohlene TypeScript-Plugin hinzu.

  3. 3

    React aktivieren

    Aktivieren Sie React, und der Generator fügt `eslint-plugin-react` mit seinem empfohlenen Preset hinzu.

  4. 4

    Generieren

    Klicken Sie auf die Schaltfläche, und die Konfiguration wird als übersichtlich formatiertes JSON erstellt.

  5. 5

    In Ihr Projekt übernehmen

    Fügen Sie die Ausgabe in `.eslintrc.json` ein und installieren Sie die referenzierten Plugins.

Was die generierte Konfiguration enthält

Der Generator startet immer mit eslint:recommended und fügt genau das hinzu, was Ihre Auswahl bedeutet:

  • env mit browser und/oder node, plus es2022
  • @typescript-eslint/parser und plugin:@typescript-eslint/recommended, wenn TypeScript aktiv ist
  • plugin:react/recommended, wenn React aktiv ist
  • no-console und no-unused-vars auf warn gesetzt

Die Ausgabe ist ein einfaches JSON-Objekt im klassischen .eslintrc.json-Format, bereit zum Einfügen und Erweitern mit eigenen Regeln.

Flache Konfiguration vs. Legacy

ESLint 9 hat das Format .eslintrc.* zugunsten der flachen Konfiguration (eslint.config.js) abgeschafft. Wichtige Unterschiede:

Aspekt Legacy (.eslintrc) Flach (eslint.config.js)
Format JSON, YAML oder CommonJS ESM oder CommonJS JavaScript-Modul
Erweitert extends: ["plugin:react/recommended"] In Array aufteilen: ...reactPlugin.configs.recommended
Überschreibungen overrides-Array mit Glob-Mustern Mehrere Objekte im exportierten Array
Globale Variablen env: { browser: true } languageOptions.globals mit expliziten Imports
Ignoriert .eslintignore-Datei ignores-Feld im Konfigurationsarray

Neue Projekte sollten die flache Konfiguration verwenden. Bestehende Projekte können bis zur 10.x-Version bei Legacy bleiben, aber eine Migration wird empfohlen.

Plugin-Ökosystem

Typische React/TS-Projekt-Plugins:

@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint-plugin-react
eslint-plugin-react-hooks
eslint-plugin-jsx-a11y
eslint-plugin-import
eslint-config-prettier

Das sind sechs Pakete für ein moderat meinungsstarkes Setup. Der Generator fügt die von Ihnen ausgewählten hinzu, sodass Sie nur installieren, was die Konfiguration referenziert.

Prettier-Koexistenz

Prettier kümmert sich um das Formatieren; ESLint kümmert sich um Korrektheit und Stil über das Formatieren hinaus. Um Konflikte zu vermeiden:

  1. Installieren Sie eslint-config-prettier und fügen Sie es als LETZTES Element in Ihrem extends/config hinzu.
  2. Es schaltet jede ESLint-Regel aus, die mit Prettiers Ausgabe in Konflikt steht.
  3. Führen Sie Prettier separat aus (beim Speichern im Editor, im Pre-Commit-Hook, in CI).

Verwenden Sie eslint-plugin-prettier nicht in neuen Projekten; es verlangsamt ESLint, indem es Prettier innerhalb von ESLint ausführt. Trennen Sie die beiden Tools.

Tipps zur Regelanpassung

  • Locker anfangen, strenger werden. Warnungen aktivieren, bevor Fehler aktiviert werden.
  • Für Tests überschreiben. Testdateien benötigen oft eine entspanntere no-unused-expressions-Regel und Jest-Globals.
  • Für Skripte überschreiben. Build-Skripte benötigen möglicherweise Node-Globals, ohne env: node global hinzuzufügen.
  • Überschreibungen dokumentieren. Jede Regelüberschreibung verdient einen Kommentar, der erklärt, warum.

Konfiguration, die zu Ihrem Editor passt

VS Code benötigt die installierte und konfigurierte ESLint-Erweiterung. Fügen Sie diese zu Ihren Workspace-Einstellungen für die automatische Korrektur beim Speichern hinzu:

{
  "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
  "eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}

Häufig gestellte Fragen

Für neue Projekte, flache Konfiguration (eslint.config.js). Dieser Generator erzeugt das klassische .eslintrc.json-Format, das ESLint nativ im Legacy-Modus liest; die Vergleichstabelle oben zeigt, was sich bei einer späteren Migration ändert.

Ja, wenn Sie TypeScript verwenden. Der @typescript-eslint/parser und das @typescript-eslint/eslint-plugin ermöglichen TypeScript-bewusstes Linting. Für typbewusste Regeln (nicht nur Syntax) konfigurieren Sie den Parser auch mit project: './tsconfig.json'.

In der Regel fehlen Entwicklungsabhängigkeiten in CI. Stellen Sie sicher, dass @typescript-eslint/*, Plugins und die ESLint-Version zwischen lokal und CI übereinstimmen. Verwenden Sie npm ci (nicht npm install) in CI, um die Sperrdatei zu respektieren.

Nein. Ihre Auswahl wird nur zum Erstellen der Konfiguration verwendet; sie wird weder gespeichert noch an Dritte weitergegeben.

Verwandte Tools

Tool in anderen Sprachen verfügbar