Prettier ve ESLint Devri Bitiyor mu? Rust Tabanlı "Biome" ile Yıldırım Hızında Kod Düzenleme

Prettier ve ESLint Devri Bitiyor mu? Rust Tabanlı "Biome" ile Yıldırım Hızında Kod Düzenleme
audio-thumbnail
Prettier ve ESLint Devri Bitiyor mu? Rust Tabanlı "Biome" ile Yıldırım Hızında Kod Düzenleme
0:00
/0

Prettier ve ESLint Devri Bitiyor mu? Rust Tabanlı "Biome" ile Yıldırım Hızında Kod Düzenleme

Modern web geliştirme dünyasında hız, her şeydir. Ancak projelerimiz büyüdükçe, kullandığımız araçların hantallığı geliştirici deneyimini (DX) olumsuz etkilemeye başlar. Yıllardır JavaScript ekosisteminin vazgeçilmez ikilisi olan ESLint ve Prettier, kod kalitesini korumak ve standartları sağlamak için standart tercihlerimiz oldu.

Peki ya size, bu iki dev aracın sunduğu her şeyi (ve daha fazlasını) tek bir çatı altında, hem de yüz kat daha hızlı yapan yeni bir alternatif olduğunu söylesek?

Rust dilinin gücünü arkasına alan Biome, web geliştirme dünyasında taşları yerinden oynatıyor. Bu yazıda, Biome’un ne olduğunu, Prettier ve ESLint ikilisinin yerini alıp alamayacağını ve projelerinize nasıl entegre edebileceğinizi derinlemesine inceleyeceğiz.


Biome Nedir?

Biome, JavaScript, TypeScript, JSX, JSON ve CSS (ve çok daha fazlası yolda) projeleri için tasarlanmış, yıldırım hızında çalışan hepsi bir arada (all-in-one) bir kod zinciri (toolchain) aracıdır.

Aslen ünlü geliştirici Sebastian McKenzie tarafından başlatılan Rome projesinin küllerinden doğan Biome, topluluk tarafından çatallanarak (fork) tamamen Rust diliyle yeniden yazıldı. Biome; kod biçimlendirme (formatting), hata ayıklama (linting) ve import düzenleme gibi işlemleri tek bir binary dosyasında birleştirir.


Neden Biome? Prettier ve ESLint'e Karşı Avantajları

Mevcut düzeninizden vazgeçip Biome'a geçmek için oldukça güçlü nedenleriniz var. İşte bunlardan en önemlileri:

1. İnanılmaz Hız (Rust Gücü)

Node.js tabanlı araçlar olan ESLint ve Prettier, büyük kod tabanlarında (codebase) çalışırken hantallaşır. Biome ise Rust ile yazılmıştır. Benchmark testlerinde Biome, Prettier'dan yaklaşık 25 ila 100 kat daha hızlı sonuçlar vermektedir. Binlerce dosyadan oluşan devasa bir projeyi milisaniyeler içinde tarayıp biçimlendirebilir.

2. "Konfigürasyon Cehennemi"ne Son

Prettier ve ESLint'i birlikte kullanmak her zaman sancılı olmuştur. Kuralların çakışmaması için eslint-config-prettier gibi ek paketler kurmak, .eslintrc, .prettierrc, .eslintignore gibi onlarca farklı konfigürasyon dosyasıyla uğraşmak gerekir.

Biome, tüm bu süreçleri tek bir biome.json dosyasında birleştirir. Çakışma ihtimali sıfırdır çünkü linter ve formatter tek bir motor tarafından yönetilir.

3. Tek Bir Araç, Çoklu Görev

Biome; * Formatter (Kod Biçimlendirici): Prettier ile %97'nin üzerinde uyumludur. * Linter (Hata Ayıklayıcı): ESLint benzeri, kod hatalarını ve kötü pratikleri tespit eder. * Import Organizer: Kodun en üstündeki import satırlarını otomatik olarak sıralar ve temizler.


Biome ve Geleneksel Araçların Karşılaştırması

Özellik ESLint + Prettier Biome
Dil/Altyapı Node.js (JavaScript) Rust
Hız Yavaş / Orta Yıldırım Hızında (Ultra Fast)
Kurulum Karmaşık (Çoklu paket ve konfigürasyon) Çok Kolay (Tek paket, tek dosya)
Çakışma Riski Yüksek (Linter ve Formatter çatışabilir) Yok (Entegre sistem)
Ekosistem Çok Geniş (Binlerce eklenti) Gelişmekte Olan (Hızla büyüyor)

Biome Projeye Nasıl Kurulur? (Adım Adım)

Biome'u projenize dahil etmek son derece basittir. İşte dakikalar içinde gerçekleştirebileceğiniz kurulum adımları:

Adım 1: Paketi Yükleyin

Projenizin kök dizininde terminali açın ve aşağıdaki komutla Biome'u geliştirme bağımlılığı (devDependency) olarak ekleyin:

npm install --save-dev --save-exact @biomejs/biome
# veya yarn kullananlar için:
yarn add --dev --exact @biomejs/biome
# veya pnpm kullananlar için:
pnpm add --save-dev --save-exact @biomejs/biome

Adım 2: Biome'u Başlatın

Projenizde bir konfigürasyon dosyası oluşturmak için şu komutu çalıştırın:

npx @biomejs/biome init

Bu komut, projenizin kök dizininde minimalist bir biome.json dosyası oluşturacaktır:

{
  "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
  "organizeImports": {
    "enabled": true
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true
    }
  },
  "formatter": {
    "enabled": true,
    "formatWithErrors": false,
    "indentStyle": "tab",
    "lineWidth": 80
  }
}

Adım 3: Çalıştırın!

Artık Biome'un gücünü test edebilirsiniz.

  • Kodunuzu kontrol edin (Linting ve Import Düzenleme): bash npx @biomejs/biome check .

  • Hataları otomatik düzeltin ve kodları biçimlendirin: bash npx @biomejs/biome check --write .


VS Code Entegrasyonu

Biome'un sunduğu hız deneyimini tam anlamıyla yaşamak için kod editörünüzle entegre etmelisiniz.

  1. VS Code eklenti mağazasından Biome eklentisini aratın ve kurun.
  2. VS Code settings.json dosyanıza şu ayarları ekleyerek kaydetme anında otomatik biçimlendirmeyi aktif edin:
{
  "[javascript]": {
    "editor.defaultFormatter": "biomejs.biome"
  },
  "[typescript]": {
    "editor.defaultFormatter": "biomejs.biome"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "biomejs.biome"
  },
  "editor.codeActionsOnSave": {
    "source.organizeImports.biome": "always",
    "source.fixAll.biome": "always"
  },
  "editor.formatOnSave": true
}

Prettier ve ESLint Devri Gerçekten Bitiyor mu?

Bu soruya dürüst bir yanıt vermek gerekirse: Henüz tamamen bitmedi, ancak tahtları ciddi şekilde sallantıda.

Neden Hemen Yarın ESLint'i Tamamen Silemeyebiliriz?

  • Eklenti Ekosistemi: ESLint, yılların birikimiyle inanılmaz bir eklenti (plugin) havuzuna sahip. Özellikle çok spesifik kütüphaneler (örneğin bazı Tailwind CSS kuralları, özel React Hook kuralları veya mikro-framework'ler) için yazılmış özel ESLint kuralları henüz Biome'da yer almıyor olabilir.
  • Proje Olgunluğu: Çok büyük kurumsal projeler, kurulu düzenlerini bozmak istemeyebilir.

Neden Biome Geleceğin Standardı Olacak?

  • Performans Baskısı: Web projeleri büyüdükçe CI/CD süreçlerindeki test süreleri kritik hale geliyor. Biome, CI/CD pipeline'larında dakikalar süren linter/formatter aşamalarını saniyelere indirerek şirketlere ciddi zaman ve sunucu maliyeti tasarrufu sağlıyor.
  • Sıfır Kurulum Kolaylığı: Yeni bir projeye başlarken saatlerce konfigürasyon yapmak yerine tek bir komutla ayağa kalkması, yeni nesil geliştiricilerin öncelikli tercihi olmasını sağlıyor.

Son Söz

Rust tabanlı araçların web ekosistemini ele geçirdiği bir dönemdeyiz. Turbopack, SWC, Vite ve şimdi de Biome...

Eğer siz de karmaşık konfigürasyon dosyalarından, kodunuzu kaydettiğinizde Prettier'ın çalışması için geçen o can sıkıcı 1-2 saniyelik gecikmelerden sıkıldıysanız, Biome'a kesinlikle bir şans vermelisiniz. Özellikle yeni başlayacağınız projelerde Biome kullanmak, geliştirme sürecinizi çok daha keyifli ve yıldırım hızında hale getirecektir.

Siz projelerinizde hangi araçları kullanıyorsunuz? Biome'u deneme fırsatınız oldu mu? Yorumlarda deneyimlerinizi bizimle paylaşın!