# Sokongan JavaScript dalam Maguyva: Carian AI untuk Repositori Runtime Bercampur

Canonical source: https://maguyva.ai/ms/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 menyokong JavaScript dengan penghuraian AST dan pengekstrakan simbol, membantu ejen AI bekerja merentasi service Node, kod browser, skrip, dan modul legasi tanpa terjerumus kepada carian string semata-mata.

## Gambaran sokongan

- Peringkat: Sokongan AST dan simbol
- Pengaturcaraan
- Sambungan fail: .cjs, .js, .mjs, .spec.js, .stories.js, .test.js
- Penghuraian AST sebenar untuk carian sedar-sintaks dan konteks struktur.
- Simbol bernama menyokong carian semantik dan rujukan silang. Navigasi graf tersedia apabila pengekstrakan hubungan didayakan.
- Bahasa ini menyumbang simbol dan hubungan kepada carian berasaskan graf; jenis edge yang disokong berbeza mengikut binaan aslinya.
- Penghuraian AST dan pengekstrakan simbol kedua-duanya tersedia.

## Paling sesuai

- Repositori Node dan browser yang tidak pernah selesai bertumpu kepada satu sistem modul atau satu generasi framework.
- Pasukan yang menyenggara JavaScript legasi sambil secara beransur-ansur memperkenalkan TypeScript atau sempadan package baharu.
- Aliran kerja ejen yang memerlukan struktur merentasi `.js`, `.mjs`, dan `.cjs` selain daripada carian repositori secara ad hoc.

## Aliran kerja ejen

- Menjejaki laluan permintaan atau langkah build melalui modul JavaScript yang lebih lama sebelum menyuntingnya.
- Membandingkan pelaksanaan CommonJS dan ESM bagi gelagat yang sama merentasi repositori.
- Mencari corak berulang dalam skrip, utiliti, atau komponen frontend sebelum memperkenalkan abstraksi baharu.

## Mengapa repositori JavaScript bercampur masih memerlukan carian yang memahami struktur kod

Banyak alatan kod AI secara senyap menganggap JavaScript sebagai keadaan bercelaru sebelum TypeScript "sebenar." Itu terlepas pandang bagaimana repositori produksi sebenar kelihatan. JavaScript masih digunakan dalam langkah build, sistem plugin, kod browser, skrip tugasan, dan laluan service yang telah lama wujud yang tiada siapa yang memperuntukkan bajet untuk menulis semula dengan bersih.

Itu menjadikan sokongan JavaScript kurang tentang sintaks yang cantik dan lebih tentang sejarah. Bahayanya bukan menghurai fail. Bahayanya ialah menyunting modul atau helper tanpa memahami sama ada ia tergolong kepada CommonJS, ESM, kod browser, atau sesuatu corak setempat yang lebih lama.

## Apa yang Maguyva sebenarnya ekstrak dalam JavaScript

Maguyva merangkumi `.js`, `.mjs`, dan `.cjs`, menormalkan panggilan berawalan member, dan menyokong heuristik komponen JSX dalam pangkalan kod JavaScript yang mengaburkan sempadan frontend dan backend. Ia juga menapis sejumlah besar panggilan runtime piawai browser dan Node yang tidak relevan supaya hubungan khusus repositori kekal kelihatan.

Itu berguna dalam repositori yang lebih lama atau bercampur di mana konsep yang sama mungkin wujud dalam lebih daripada satu gaya fail dan di mana penamaan tepat selalunya tidak konsisten.

## Aliran kerja MCP yang berguna untuk repositori runtime bercampur

Aliran kerja praktikal biasanya kelihatan seperti ini:

- Gunakan `text_pattern_search` untuk string tepat seperti `module.exports`, nama event, atau penanda config lama.
- Gunakan `intelligent_search` apabila anda memerlukan penerokaan pada peringkat gelagat seperti "aliran muat naik legasi" atau "di mana auth disemak dalam bundle browser".
- Gunakan `get_task_context` apabila penamaan tidak konsisten dan anda mahukan ringkasan bercantum sebelum ejen menyunting apa-apa.

## Bila halaman ini berguna

Halaman ini untuk repositori yang masih mempunyai bahagian kod JavaScript yang besar dan penting, bukan untuk pasukan yang berpura-pura migrasi sudah lengkap. Jika repositori semasa kebanyakannya TypeScript, mulakan dengan [TypeScript](/ms/languages/typescript). Jika susunan teknologi web lama masih meresap ke templat sisi server atau PHP, [panduan PHP](/ms/languages/php) adalah teman yang lebih relevan.

## Butiran enjin

- Sokongan JavaScript merangkumi `.js`, `.mjs`, dan `.cjs`, yang penting bila satu repo masih merentasi pelbagai gaya modul.
- Awalan member dan argumen panggilan dinormalkan supaya helper yang berulang lebih senang dibandingkan merentasi fail lama.
- Heuristik komponen JSX disokong, manakala sejumlah besar global pelayar terbina dalam dan Node ditapis supaya tidak menenggelamkan hubungan yang relevan.

## Titik masuk MCP yang berguna

- `text_pattern_search`: Guna ia untuk string tepat seperti `module.exports`, nama event, atau penanda config warisan sebelum anda luaskan carian.
- `intelligent_search`: Guna ini bila penamaan tak konsisten dan anda perlu cari kelakuan seperti “aliran muat naik fail” dan bukannya simbol.
- `get_task_context`: Berguna bila repo dah menyimpang dan anda perlukan ringkasan bercantum sebelum sentuh laluan warisan.
