Glob desenleri nedir?

Glob desenleri, dosya adı veya yol kümelerini belirtmek için kullanılan joker karakter eşleşme desenleridir. Unix kabuklarında ortaya çıkmışlardır ancak artık programlama dilleri ve araçları arasında yaygın olarak kullanılmaktadır. Yaygın joker karakterler şunlardır: * (herhangi bir karakterle eşleşir), ** (dizinleri özyinelemeli olarak eşleşir), ? (tek bir karakterle eşleşir) ve [abc] (köşeli parantez içindeki herhangi bir karakterle eşleşir). Bu desenler, dosya işlemleri, derleme araçları ve Git gibi sürüm kontrol sistemleri için hayati öneme sahiptir.

Glob desenleri nasıl çalışır?

Glob desenleri, dosya yollarını eşleştirmek için özel joker karakterler kullanır. En yaygın desenler şunlardır:

  • * - Tek bir dizin seviyesinde herhangi bir sayıda karakterle eşleşir
    • Örnek: *.js file.js, test.js ile eşleşir ancak folder/file.js ile eşleşmez
  • ****** - Herhangi bir sayıda dizinle (özyinelemeli eşleşme) eşleşir
    • Örnek: **/*.js file.js, src/file.js, src/utils/file.js ile eşleşir
  • ? - Tam olarak bir karakterle eşleşir
    • Örnek: file?.js file1.js, fileA.js ile eşleşir ancak file10.js ile eşleşmez
  • [abc] - Kümedeki herhangi bir tek karakterle eşleşir
    • Örnek: file[123].js file1.js, file2.js, file3.js ile eşleşir
  • [a-z] - Aralıktaki herhangi bir karakterle eşleşir
    • Örnek: [A-Z]*.js büyük harfle başlayan dosyalarla eşleşir
  • {js,ts} - Virgülle ayrılmış desenlerden herhangi biriyle eşleşir (küme genişletmesi)
    • Örnek: *.{js,ts} file.js ve file.ts ile eşleşir
  • !pattern - Deseni olumsuzlar (eşleşen dosyaları hariç tutar)
    • Örnek: !*.test.js tüm test dosyalarını hariç tutar

Pratik örnekler:

  • src/**/*.{js,ts} - src dizini ve alt dizinlerindeki tüm JavaScript ve TypeScript dosyaları
  • lib/**/test/*.js - lib içindeki test klasörlerindeki tüm JavaScript dosyaları
  • **/*.min.js - projede herhangi bir yerdeki tüm sıkıştırılmış JavaScript dosyaları
  • !node_modules/** - node_modules dizinindeki tüm içerikleri hariç tutar

Araç açıklaması

Gerçek zamanlı olarak dosya yollarına karşı glob desenlerini test edip doğrulayan çevrimiçi bir glob test aracıdır. Bu glob desen denetleyicisi, doğru desen eşleşmesi sağlamak için picomatch kütüphanesini kullanır; geliştiricilerin yapılandırma dosyalarına, betiklere veya uygulamalara eklemeden önce glob ifadelerini hızlıca test etmelerine olanak tanır. Glob sözdizimi test arayüzü, deseninizin hangi yollarla eşleştiğine dair anlık geri bildirim sunar ve bu sezgisel test aracıyla glob ifadelerinizi geliştirmenize ve mükemmelleştirmenize yardımcı olur.

Özellikler

  • Gerçek zamanlı desen eşleşmesi: Bu çevrimiçi glob test aracıyla yazarken glob deseninizin hangi yollarla eşleştiğini anında görün
  • Çoklu yol testi: Glob desenlerini aynı anda birden fazla dosya yolu üzerinde test edin
  • Desen seçenekleri: Glob desen denetleyicisinde büyük/küçük harf duyarlılığı ve nokta dosyası eşleşme davranışını yapılandırın
  • Görsel geri bildirim: Renk kodlu rozetlerle eşleşen ve eşleşmeyen yolları net bir şekilde gösterir
  • Tablo sonuçları: Temiz, sıralanabilir tablo formatında test sonuçlarını düzenli bir şekilde gösterir
  • Hata yönetimi: Geçersiz glob sözdizimi için anlık geri bildirim ve hata mesajları
  • Eşleşme istatistikleri: Test edilen toplam yollara göre eşleşen sayıların özetini gösterir

Kullanım Senaryoları

  • Derleme yapılandırması: Webpack, Vite veya Rollup gibi derleme araçları için glob desenlerini yapılandırmaya eklemeden önce test edin
  • Git ignore desenleri: .gitignore desenlerini bu glob test aracıyla doğrulayarak hedef dosyalarla eşleştiğinden emin olun
  • Dosya işleme betikleri: Node.js betikleri veya otomasyon araçlarında dosya seçimi için glob ifadelerini doğrulayın
  • Test dosyası seçimi: Jest, Mocha gibi test koşucularını doğru test dosyalarını seçmek için glob sözdizimi test aracını kullanın
  • ESLint ve Prettier: Linter ve biçimlendirici yapılandırması için dosya desenlerini bu glob ifade test aracıyla test edin
  • Dokümantasyon: Dokümantasyon oluşturucular ve dosya işleyicileri için glob desenlerini doğrulayın
  • CI/CD boru hatları: Sürekli entegrasyon iş akışları için yol eşleşme desenlerini bu çevrimiçi glob test aracıyla test edin
  • Glob sözdizimini öğrenme: Davranışlarını anlamak için bu glob desen denetleyicisinde glob desenleriyle deney yapın