`path.escapeGlob`
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
What is the problem this feature will solve?
Would allow to dynamically create glob patterns from arbitrary paths.
Example:
const pattern = `${path.escapeGlob(import.meta.dirname)}/*`;
What is the feature you are proposing to solve the problem?
Something similar in functionality to this:
// Wraps symbols which open groups `{`, `[`, `(`, and
// those with semantics independent of groups `*`, `?`
path.escapeGlob = (x = "") => x.replace(/[*{[(?]/g, "[$&]");
And this:
// inverse path.escapeGlob
path.unescapeGlob = (x = "") => x.replace(/\[.\]/g, "$&");
I was using #58988 as a reference for special chars.
What alternatives have you considered?
Using a user land package everywhere dynamic glob creation is required, or even for everything glob related to keep things consistent.
Edit: Shortened regex replacement from (...) -> $1 to ... -> $&.
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 lire l’issue #58988 ainsi que la documentation et les tests existants de la path API afin de comprendre les caractères spéciaux et le comportement de la plateforme déjà couverts. Comparez la sémantique proposée pour l’escaping et l’unescaping sur des chemins arbitraires ; la tâche est terminée lorsqu’un contrat d’API convenu dispose d’une implémentation, de tests et d’une documentation correspondants.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript
- Domaine
- api
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100