# Maguyva'da JavaScript Desteği: Karma Çalışma Zamanlı Repolar için Yapay Zeka Araması

Canonical source: https://maguyva.ai/tr/languages/javascript

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Maguyva, AST ayrıştırma ve sembol çıkarımıyla JavaScript'i destekler; yapay zeka ajanlarının Node servisleri, tarayıcı kodu, betikler ve eski modüller genelinde, salt metin aramasına düşmeden çalışmasına yardımcı olur.

## Destek anlık görüntüsü

- Katman: AST ve sembol desteği
- Programlama
- Uzantılar: .cjs, .js, .mjs, .spec.js, .stories.js, .test.js
- Sözdizimi farkında arama ve yapısal bağlam için gerçek AST ayrıştırması.
- Adlandırılmış semboller anlamsal aramayı ve çapraz referansı besler. İlişki çıkarımı etkinleştirildiğinde graf gezinmesi kullanılabilir.
- Bu dil, graf farkındalıklı aramaya semboller ve ilişkiler sağlar; desteklenen kenar türleri dilin yerel yapılarına göre değişir.
- Hem AST ayrıştırma hem de sembol çıkarma kullanılabilir.

## En uygun kullanım

- Tek bir modül sistemi veya tek bir çerçeve nesli üzerinde hiç birleşmemiş Node ve tarayıcı repoları.
- Kademeli olarak TypeScript veya yeni paket sınırları getirirken eski JavaScript'i sürdüren ekipler.
- Rastgele repo araması yerine `.js`, `.mjs` ve `.cjs` genelinde yapıya ihtiyaç duyan ajan iş akışları.

## Ajan iş akışları

- Düzenlemeden önce bir istek yolunu veya derleme adımını eski JavaScript modülleri boyunca izleyin.
- Repo genelinde aynı davranışın CommonJS ve ESM uygulamalarını karşılaştırın.
- Yeni bir soyutlama getirmeden önce betiklerde, yardımcı programlarda veya ön uç bileşenlerinde tekrarlayan desenleri bulun.

## Karma JavaScript repoları neden hâlâ yapıya duyarlı arama gerektiriyor

Pek çok yapay zeka kod aracı, JavaScript'i sessizce "gerçek" TypeScript öncesindeki dağınık hâl olarak ele alır. Bu yaklaşım, üretim repolarının gerçekte nasıl göründüğünü kaçırır. JavaScript hâlâ derleme adımlarına, eklenti sistemlerine, tarayıcı koduna, görev betiklerine ve kimsenin temiz bir şekilde yeniden yazmayı bütçelemediği uzun ömürlü servis yollarına sahiptir.

Bu, JavaScript desteğini güzel sözdiziminden çok, geçmişle ilgili hale getirir. Tehlike, dosyayı ayrıştırmak değildir. Tehlike, bir modülün veya yardımcının CommonJS'e, ESM'e, tarayıcı koduna ya da daha eski yerel bir desene ait olup olmadığını anlamadan düzenlemektir.

## Maguyva JavaScript'te gerçekte neyi çıkarıyor

Maguyva `.js`, `.mjs` ve `.cjs`'yi kapsar, üye önekli çağrıları normalize eder ve ön uç ile arka uç sınırlarını bulanıklaştıran JavaScript kod tabanlarında JSX bileşenlerini belirleyen sezgisel kuralları destekler. Ayrıca repoya özgü ilişkilerin görünür kalması için standart tarayıcı ve Node çalışma zamanı gürültüsünün büyük bir kısmını filtreler.

Bu, aynı kavramın birden fazla dosya stilinde var olabileceği ve tam adlandırmanın genellikle tutarsız olduğu eski veya karma repolarda yararlıdır.

## Karma çalışma zamanlı repolar için yararlı MCP iş akışları

Pratik iş akışı genellikle şöyle görünür:

- `module.exports` gibi tam dizeler, olay adları veya eski yapılandırma işaretleri için `text_pattern_search`'ü kullanın.
- "eski yükleme akışı" veya "tarayıcı paketinde kimlik doğrulama nerede kontrol ediliyor" gibi davranış düzeyinde keşfe ihtiyaç duyduğunuzda `intelligent_search`'i kullanın.
- Adlandırma tutarsız olduğunda ve ajan herhangi bir şeyi düzenlemeden önce derlenmiş bir özet istediğinizde `get_task_context`'i kullanın.

## Bu sayfa ne zaman yararlı

Bu sayfa, geçişin zaten tamamlandığını varsayan ekipler için değil, hâlâ anlamlı bir JavaScript yüzey alanına sahip repolar içindir. Mevcut repo çoğunlukla TypeScript ise [TypeScript](/tr/languages/typescript) ile başlayın. Eski web yığını hâlâ sunucu tarafı şablonlara veya PHP'ye sızıyorsa, [PHP kılavuzu](/tr/languages/php) konuyu tamamlayan daha uygun bir kaynaktır.

## Motor ayrıntıları

- JavaScript desteği `.js`, `.mjs` ve `.cjs` uzantılarını kapsar; bu, bir repo hâlâ birden fazla modül stiline yayıldığında önem taşır.
- Üye önekleri ve çağrı argümanları normalize edilir, bu yüzden tekrarlanan yardımcı fonksiyonları eski dosyalar genelinde karşılaştırmak daha kolaydır.
- JSX bileşen sezgiselleri desteklenir; bu arada yaygın yerleşik tarayıcı ve Node global'lerinin oluşturduğu duvar ilişki gürültüsünden filtrelenir.

## Yararlı MCP giriş noktaları

- `text_pattern_search`: Aramayı genişletmeden önce `module.exports`, event isimleri ya da eski config işaretleyicileri gibi tam dizeler için kullanın.
- `intelligent_search`: Adlandırma tutarsız olduğunda ve bir sembol değil "dosya yükleme akışı" gibi bir davranış bulmanız gerektiğinde bunu kullanın.
- `get_task_context`: Repo dağınıksa ve eski bir kod yoluna dokunmadan önce farklı parçaları bir araya getiren bir özete ihtiyacınız varsa kullanışlıdır.
