# JavaScript-stöd i Maguyva: AI-sökning för blandade körtidsrepon

Canonical source: https://maguyva.ai/sv/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 stöder JavaScript med AST-parsning och symbolextraktion, vilket hjälper AI-agenter arbeta över Node-tjänster, webbläsarkod, skript och legacy-moduler utan att falla tillbaka på strängsökning.

## Stödöversikt

- Nivå: Stöd för AST och symboler
- Programmering
- Filändelser: .cjs, .js, .mjs, .spec.js, .stories.js, .test.js
- Riktig AST-parsning för syntaxmedveten sökning och strukturell kontext.
- Namngivna symboler driver semantisk uppslagning och korsreferenser. Grafnavigering är tillgänglig när relationsextraktion är aktiverad.
- Det här språket bidrar med symboler och relationer till grafmedveten sökning; vilka kanttyper som stöds varierar med språkets inbyggda konstruktioner.
- Både AST-parsning och symbolextraktion är tillgängliga.

## Bäst lämpad för

- Node- och webbläsarrepositorier som aldrig slutförde konvergensen mot ett enda modulsystem eller en enda ramverksgeneration.
- Team som underhåller legacy-JavaScript samtidigt som TypeScript eller nya paketgränser gradvis introduceras.
- Agentarbetsflöden som behöver struktur över `.js`, `.mjs` och `.cjs` istället för ad hoc-reposökning.

## Agentarbetsflöden

- Spåra en förfrågningsväg eller ett byggsteg genom äldre JavaScript-moduler innan det redigeras.
- Jämför CommonJS- och ESM-implementationer av samma beteende i repot.
- Hitta återkommande mönster i skript, hjälpfunktioner eller frontend-komponenter innan en ny abstraktion introduceras.

## Varför blandade JavaScript-repon fortfarande behöver strukturmedveten sökning

Många AI-verktyg för kod behandlar tyst JavaScript som det röriga tillstånd som föregår "riktig" TypeScript. Det missar hur produktionsrepon faktiskt ser ut. JavaScript äger fortfarande byggsteg, plugin-system, webbläsarkod, task-skript och långlivade tjänstevägar som ingen har budgeterat för att skriva om ordentligt.

Det gör att JavaScript-stöd handlar mindre om vacker syntax och mer om historia. Faran är inte att parsa filen. Faran är att redigera en modul eller hjälpfunktion utan att förstå om den hör till CommonJS, ESM, webbläsarkod, eller något äldre lokalt mönster.

## Vad Maguyva faktiskt extraherar i JavaScript

Maguyva täcker `.js`, `.mjs` och `.cjs`, normaliserar medlemsprefixerade anrop, och stöder JSX-komponentheuristik i JavaScript-kodbaser som suddar ut gränsen mellan frontend och backend. Det filtrerar också bort en stor mängd brus från webbläsarens och Nodes standardbibliotek, så att repositoriespecifika relationer förblir synliga.

Det är användbart i äldre eller blandade repon där samma koncept kan existera i mer än en filstil och där exakt namngivning ofta är inkonsekvent.

## Användbara MCP-arbetsflöden för blandade körtidsrepon

Det praktiska arbetsflödet ser oftast ut så här:

- Använd `text_pattern_search` för exakta strängar som `module.exports`, händelsenamn eller gamla konfigurationsmarkörer.
- Använd `intelligent_search` när du behöver sökning efter beteenden som "legacy-uppladdningsflöde" eller "var auth kontrolleras i webbläsarbunten".
- Använd `get_task_context` när namngivningen är inkonsekvent och du vill ha en hopfogad sammanfattning innan agenten redigerar något.

## När den här sidan är användbar

Den här sidan är för repon som fortfarande innehåller en betydande mängd JavaScript-kod, inte för team som låtsas att migreringen redan är klar. Om det aktuella repot mestadels är TypeScript, börja med [TypeScript](/sv/languages/typescript). Om den gamla webbstacken fortfarande sträcker sig in i serverrenderade mallar eller PHP är [PHP-guiden](/sv/languages/php) den mer relevanta följeslagaren.

## Motordetaljer

- JavaScript-stödet täcker `.js`, `.mjs` och `.cjs`, vilket spelar roll när ett och samma repo fortfarande spänner över flera modulstilar.
- Medlemsprefix och anropsargument normaliseras så att upprepade hjälpfunktioner är lättare att jämföra över äldre filer.
- JSX-komponentheuristik stöds, medan den vanliga muren av inbyggda webbläsar- och Node-globaler filtreras bort från relationsbruset.

## Användbara MCP-ingångar

- `text_pattern_search`: Använd för exakta strängar som `module.exports`, händelsenamn eller äldre konfigurationsmarkörer innan du breddar sökningen.
- `intelligent_search`: Använd när namngivningen är inkonsekvent och du behöver hitta ett beteende som "filuppladdningsflöde" snarare än en symbol.
- `get_task_context`: Användbart när repot har glidit iväg och du behöver en sammanfogad sammanfattning innan du rör en gammal kodväg.
