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 が効かない が近い。