できない.dev

glob

別名: グロブ / glob pattern / グロブパターン

glob は * や ?、[...] などのワイルドカードでファイルパスの集合をまとめて指定する記法。ビルド対象や無視ファイル(.gitignore / .dockerignore)、リンタ設定などで扱う範囲を表すのに使われる。

公開:

定義

glob は、ワイルドカードでファイルパスのまとまりを表す記法である。* は任意の文字列、? は任意の 1 文字、[abc] は括弧内のいずれか 1 文字にマッチする。
多くのツールが「どのファイルを対象にするか」を glob で受け取る。

詳細

src/**/*.ts のように書けば、src 以下の任意階層にある .ts ファイルをまとめて指す(** は多くのツールで階層をまたぐ拡張)。
設定ファイルの include / exclude、.gitignore.dockerignore、Prettier や ESLint の対象指定などで使われる。
ツールごとに ** やドットファイルの扱いが微妙に異なる点に注意する。

よくある誤解

glob は正規表現ではない。* の意味が異なり、glob の * は正規表現の .* に近いが、パス区切りの / は原則またがない。
パターンが効かないときは、対象がドットファイルか、** を対応していないツールかを疑うとよい。

関連

無視パターンが効かない例は Prettier の ignore が効かない.dockerignore が効かない を参照。
ESLint の対象指定は ignorePatterns が効かない が近い。