fs.globSync returns incorrect results with non-UTF8 encoded file names.
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 122k
- Forks
- 37.3k
- Ø Merge
- 4 T. 2 Std.
- Gemergte PRs (30 T.)
- 283
Beschreibung
For example... on Linux, where file names are just byte sequences...
const { writeFileSync, existsSync, globSync } = require('node:fs');
const path = Buffer.from([0xe9]);
writeFileSync(path, 'hello');
existsSync(path); // true
console.log(globSync('[^a-z]')); // [ '�' ] non-utf8 bytes in the file name end up replaced.
The globSync, et. al APIs likely need an encoding option that instructs it to return the filenames as Buffer objects.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem Einstiegspunkt fs.globSync und reproduziere das Linux-Beispiel mit einem Dateinamen, der das Byte 0xe9 enthält. Verfolge, wie glob-Ergebnisse dekodiert werden, und prüfe die zugehörigen glob-APIs auf konsistentes Verhalten. Als erledigt gilt die Aufgabe, wenn Dateinamen mit Nicht-UTF-8-Kodierung ohne Ersatzzeichen zurückgegeben werden können und die vorgeschlagene Buffer-orientierte Kodierungsoption durch Tests abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100