`path.escapeGlob`
オープン
まだ誰も着手していません。
feature request
- 主要言語
- JavaScript
- スター
- 122k
- フォーク
- 37.3k
- 平均マージ
- 4日 2時間
- マージ済み PR(30日)
- 283
説明
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 ... -> $&.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず issue #58988 と、既存の path API のドキュメントおよびテストを読んで、すでに対象となっている特殊文字とプラットフォームの挙動を理解してください。任意のパスに対する提案された escaping と unescaping のセマンティクスを比較してください。完了の条件は、実装、テスト、ドキュメントが一致する、合意済みの API コントラクトがあることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- api
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 42/100