Prettier and ESLint pre-commit hooks can't find their executables

Offen Anfängerfreundlich
#20,705 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@jamescrosswell arbeitet bereits daran.

Seit 10.11.2026.

  • #20706 von @jamescrosswell — offen
  • #20726 von @mliem2k — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
77/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
eslint, javascript, typescript

Rechercherichtung

Beginne mit .pre-commit-config.yaml und prüfe, wie die Prettier- und ESLint-Hooks ihre Tools aufrufen; laut Issue sind beide bereits Dev-Abhängigkeiten. Vergleiche sie mit den Hooks lychee und trailing-slashes und verifiziere anschließend, dass die vorgeschlagene Einrichtung der System-Hooks mit prek und den unterstützten Versionen von pre-commit funktioniert. Fertig ist die Arbeit, wenn beide Hooks für JS/TS-Dateien erfolgreich ausgeführt werden und die Installation der Hooks nicht mehr fehlschlägt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

The prettier and eslint hooks in .pre-commit-config.yaml never run successfully. They're declared as local language: node hooks with no additional_dependencies, so the hook environment never has Prettier or ESLint installed:

  • Under prek, any commit that touches a JS/TS file fails with Failed to run 'prettier --write' ... No such file or directory. ESLint fails the same way.
  • Under pre-commit 4.6.1 and later, hook installation fails outright: AssertionError: `language: node` must have package.json or additional_dependencies.
  • Under older pre-commit (for example the 4.1.0 still on some Homebrew installs), default_language_version: node: "22" is passed to nodeenv as a literal version. Every commit then fails while downloading https://nodejs.org/download/release/v22/node-v22-darwin-arm64.tar.gz (404), including commits that only touch MDX.

CI doesn't run these hooks, so nothing flags the problem. Contributors end up committing with SKIP=prettier,eslint or --no-verify.

Both tools are already dev dependencies, so the hooks can run them from the repo's own node_modules with language: system and pnpm exec, the same way the lychee and trailing-slashes hooks use the system toolchain.

Vorherrschende Sprache
MDX
Sterne
449
Forks
1.7k
Ø Merge
1 T. 5 Std.
Gemergte PRs (30 T.)
615

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus getsentry/sentry-docs

Alle Issues in getsentry/sentry-docs

Ähnliche Issues

Weitere Issues zu Build System

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.