fs.globSync returns incorrect results with non-UTF8 encoded file names.
Personne n'a encore pris cette issue.
- Langage dominant
- JavaScript
- Étoiles
- 122k
- Forks
- 37.3k
- Merge moyen
- 4 j 2 h
- PR mergées (30 j)
- 283
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le point d’entrée fs.globSync et reproduisez l’exemple Linux en utilisant un nom de fichier contenant l’octet 0xe9. Suivez la manière dont les résultats de glob sont décodés et vérifiez que les API de glob associées ont un comportement cohérent. Le travail est terminé lorsque les noms de fichiers non UTF-8 peuvent être renvoyés sans caractères de remplacement et que l’option d’encodage proposée, orientée Buffer, est couverte par des tests.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript
- Domaine
- operating-systems
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 38/100