eslint · Build und Typen
Die Meldung
Parsing error: Unexpected token
Was es bedeutet
ESLint hat beim Lesen der Syntax angehalten, noch bevor eine Regel auf die Datei angewandt wurde. Viel häufiger als wirklich kaputter Code heißt das: der Parser kennt diese Syntax nicht — eine TypeScript-Datei, die der Standardparser liest, nie aktiviertes JSX, oder Dekoratoren und sehr neue Syntax für einen alten Parser. npx eslint --print-config app.ts auf genau diese Datei angewandt zeigt, welcher parser und welche parserOptions wirklich gelten; fangen Sie dort an, statt zu raten. TypeScript braucht @typescript-eslint/parser, und soll die Datei gar nicht geprüft werden, ist ein Eintrag unter ignores die richtige Antwort.
Die Lösung
npx eslint --print-config app.ts- Ausgegeben von
- eslint
- Build und Typen
- 10
Build-Fehler sind ein Werkzeug, das verweigert, bevor irgendetwas läuft — sie zerbrechen im Moment ihres Auftretens nichts, stellen aber zwei Fragen: reparieren Sie Typ oder Pfad passend zur echten Form, oder schieben Sie diese eine Zeile mit einem as any oder einem Unterdrückungskommentar durch? Und genau hier zeigen sich erstmals die Dinge, die nur auf dem eigenen Rechner stimmen: Groß-/Kleinschreibung, Endungen und Umgebungsvariablen.
Eine Fehlermeldung lesen
- Von der ersten Zeile abwärts lesen. Weiter unten geht es um das Innere des Werkzeugs; die Ursache steht meist oben.
- Gibt es Datei und Zeilennummer, dort anfangen — nicht der oberste Stack-Frame, sondern die oberste Zeile, die eine eigene Datei nennt.
- Die Meldung wörtlich suchen, vorher aber eigene Pfade und Variablennamen entfernen; genau die verhindern den Treffer.
- Dieselbe Lage wird je Werkzeugversion anders formuliert. Passen die Treffer nicht, die Versionsnummer mit in die Suche.
- Vor dem Einfügen einer Lösung prüfen, was sie verwirft. Manches davon lässt sich nicht zurückholen.
Häufige Fragen
Q. Was bedeutet „Parsing error: Unexpected token“?
ESLint hat beim Lesen der Syntax angehalten, noch bevor eine Regel auf die Datei angewandt wurde. Viel häufiger als wirklich kaputter Code heißt das: der Parser kennt diese Syntax nicht — eine TypeScript-Datei, die der Standardparser liest, nie aktiviertes JSX, oder Dekoratoren und sehr neue Syntax für einen alten Parser. npx eslint --print-config app.ts auf genau diese Datei angewandt zeigt, welcher parser und welche parserOptions wirklich gelten; fangen Sie dort an, statt zu raten. TypeScript braucht @typescript-eslint/parser, und soll die Datei gar nicht geprüft werden, ist ein Eintrag unter ignores die richtige Antwort.
Q. Wie behebe ich das?
npx eslint --print-config app.ts — vor dem Ausführen oben prüfen, was dieser Befehl verwirft.
Q. Welches Werkzeug gibt das aus?
eslint. Es gehört zu Build und Typen, und die Meldung hat 4 Wörter.