Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Prettier experimental CLI fails when the repository contains a file or directory named `propertyIsEnumerable`

Offen
#69 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
node.js, typescript
Bereich
cli

Rechercherichtung

Reproduziere den Fehler mit npx prettier --experimental-cli --check . in einem Repository, das eine Datei oder ein Verzeichnis namens propertyIsEnumerable enthält. Beginne damit, den gemeldeten handleDirectory-Pfad in internal/experimental-cli.mjs nachzuverfolgen; erledigt ist die Aufgabe, wenn die experimentelle CLI bei der Verarbeitung dieses Namens ohne eine Exception auszulösen beendet wird und ein Regressionstest den Fall abdeckt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

Environments:

  • Prettier Version: 3.6.0
  • Running Prettier via: CLI
  • Runtime: Node v24.1.0
  • Operating System: macOS
  • Prettier plugins (if any): None

Steps to reproduce:

  1. Have a repository where Prettier 3.6 runs correctly.
  2. Create either a file or a directory called propertyIsEnumerable
  3. Run Prettier with the experimental cli:

npx prettier --experimental-cli --check .

Expected behavior:

Prettier runs correctly, no issues.

Actual behavior:

Prettier those an exception:

file:///Users/standard8/dev/test-repo/node_modules/prettier/internal/experimental-cli.mjs:3664
        directoriesNamesToPaths.propertyIsEnumerable(name) || (directoriesNamesToPaths[name] = []);
                                ^

TypeError: directoriesNamesToPaths.propertyIsEnumerable is not a function
    at handleDirectory (file:///Users/standard8/dev/test-repo/node_modules/prettier/internal/experimental-cli.mjs:3664:33)
    at handleDirent (file:///Users/standard8/dev/test-repo/node_modules/prettier/internal/experimental-cli.mjs:3730:11)
    at handleDirents (file:///Users/standard8/dev/test-repo/node_modules/prettier/internal/experimental-cli.mjs:3739:11)
    at file:///Users/standard8/dev/test-repo/node_modules/prettier/internal/experimental-cli.mjs:3760:13
    at Object.then (file:///Users/standard8/dev/test-repo/node_modules/prettier/internal/experimental-cli.mjs:3601:9)
    at file:///Users/standard8/dev/test-repo/node_modules/prettier/internal/experimental-cli.mjs:3758:20
    at node:fs:178:23
    at node:internal/util:569:20
    at getDirents (node:internal/fs/utils:278:7)
    at FSReqCallback.oncomplete (node:fs:1530:7)

It looks like there might also be an issue with symlinks, though I wasn't able to replicate that.

Vorherrschende Sprache
TypeScript
Sterne
43
Forks
10
Ø Merge
18 Min.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

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 prettier/prettier-cli

Alle Issues in prettier/prettier-cli

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

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