nodejs / nodejs/node

fs.globSync returns incorrect results with non-UTF8 encoded file names.

Ouverte
#59,202 3 commentaires 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

confirmed-bug fs
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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.