TypeScript ESLint ist der Name des neuen Projekts von James Henry (MVP für TypeScript, Mitglied der Teams von ESLint, Babel und Prettier), das den TypeScript-Support in ESLint verbessern soll. Im entsprechenden GitHub-Repository sammelt Henry alle Projekte die dazu beitragen, dass ESLint genau so kompatibel mit TypeScript werden wird wie TSLint, die TypeScript-Variante von ESLint. TypeScript ESLint ist in Version 1.0 verfügbar. Das Projekt stellt allerdings keine offizielle Implementierung durch das ESLint-Team dar.
ESLint und TypeScript: Das ändert sich
Entstanden ist TypeScript ESLint infolge der Ankündigung des TypeScript-Teams, im ersten Halbjahr 2019 einen TypeScript-Support in ESLint erreichen zu wollen, der dem in TSLint entspricht. Dieser Aufgabe hat sich Henry nun angenommen und hat einige bereits vorhandene Tools in das neue Repository übernommen. Zu den Tools, die nun dort zu finden sind, gehört der TypeScript-Parser, der bereits zuvor für ESLint verfügbar war. Daraus ergibt sich eine der zentralen Änderungen für Entwickler, die aus dem Projekt resultieren: Bisher war das Tool unter typescript-eslint-parser
zu finden, wird dort jedoch nicht mehr weiter gepflegt. Das bisher dafür verwendete GitHub-Repository ist bereits archiviert worden und erhält keine Updates mehr. Stattdessen ist der Parser nun unter dem Namen @typescript-eslint/parser
verfügbar und wird dort weiter entwickelt.
Neben diesem Parser ist im Repository von TypeScript ESLint auch das Package @typescript-eslint/eslint-plugin
zu finden, das zusammen mit dem Parser genutzt werden kann und die entsprechenden Linting-Regeln für TypeScript mitbringt. Außerdem ist auch @typescript-eslint/typescript-estree
ins neue Projekt umgezogen. Dabei handelt es sich um einen Parser, der einen ESTree-kompatiblen AST aus TypeScript-Code erzeugt und von @typescript-eslint/parser
verwendet wird. Das vierte Projekt, das nun im zentralen Repository liegt, ist @typescript-eslint/eslint-plugin-tslint
, das TSLint in ESLint ausführt und Nutzer so bei der Migration unterstützen soll.
Welche weiteren Tools und Neuerungen geplant sind, um TypeScript in ESLint besser zu unterstützen, ist allerdings weder dem Repository noch dem entsprechenden Blogpost des ESLint-Teams zu entnehmen. Eine Übersicht über die Planung des TypeScript-Teams gibt die Roadmap. Das Projekt TypeScript ESLint kann auf GitHub gefunden werden.