# Supporto JavaScript in Maguyva: ricerca IA per repository a runtime misto

Canonical source: https://maguyva.ai/it/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 supporta JavaScript con parsing AST ed estrazione dei simboli, aiutando gli agenti IA a lavorare su servizi Node, codice browser, script, e moduli legacy senza ridursi a una ricerca per stringhe.

## Istantanea del supporto

- Livello: Supporto AST e simboli
- Programmazione
- Estensioni: .cjs, .js, .mjs, .spec.js, .stories.js, .test.js
- Analisi AST reale per ricerca sintattica e contesto strutturale.
- I simboli nominati alimentano la ricerca semantica e i riferimenti incrociati. La navigazione del grafo è disponibile quando è abilitata l’estrazione delle relazioni.
- Questo linguaggio contribuisce con simboli e relazioni alla ricerca basata sul grafo; i tipi di arco supportati variano in base ai suoi costrutti nativi.
- Sono disponibili sia l’analisi AST sia l’estrazione dei simboli.

## Il più adatto per

- Repository Node e browser che non hanno mai finito di convergere su un unico sistema di moduli o una sola generazione di framework.
- Team che mantengono JavaScript legacy mentre introducono gradualmente TypeScript o nuovi confini tra package.
- Workflow ad agenti che hanno bisogno di struttura tra `.js`, `.mjs`, e `.cjs` invece di una ricerca ad hoc nel repository.

## Workflow degli agenti

- Traccia un percorso di richiesta o uno step di build attraverso moduli JavaScript più vecchi prima di modificarlo.
- Confronta implementazioni CommonJS ed ESM dello stesso comportamento nel repository.
- Trova pattern ricorrenti in script, utility, o componenti frontend prima di introdurre una nuova astrazione.

## Perché i repository JavaScript misti hanno ancora bisogno di ricerca consapevole della struttura

Molto tooling IA per il codice tratta silenziosamente JavaScript come lo stato disordinato prima del "vero" TypeScript. Questo non coglie come si presentano davvero i repository in produzione. JavaScript è ancora alla base di build step, sistemi di plugin, codice browser, script di task, e percorsi di servizio di lunga data che nessuno ha stanziato fondi per riscrivere in modo pulito.

Questo rende il supporto JavaScript meno una questione di sintassi elegante e più una questione di storia. Il pericolo non è fare il parsing del file. Il pericolo è modificare un modulo o un helper senza capire se appartiene a CommonJS, ESM, codice browser, o qualche pattern locale più vecchio.

## Cosa estrae davvero Maguyva in JavaScript

Maguyva copre `.js`, `.mjs`, e `.cjs`, normalizza le chiamate con prefisso member, e supporta euristiche per componenti JSX in codebase JavaScript che sfumano i confini tra frontend e backend. Filtra anche una grande quantità di rumore standard di browser e runtime Node così le relazioni specifiche del repository restano visibili.

È utile in repository più vecchi o misti dove lo stesso concetto può esistere in più di uno stile di file e dove la denominazione esatta è spesso incoerente.

## Workflow MCP utili per repository a runtime misto

Il workflow pratico di solito è così:

- Usa `text_pattern_search` per stringhe esatte come `module.exports`, nomi di eventi, o vecchi marcatori di configurazione.
- Usa `intelligent_search` quando hai bisogno di discovery a livello di comportamento come "flusso di upload legacy" o "dove viene controllata l'auth nel bundle del browser".
- Usa `get_task_context` quando la denominazione è incoerente e vuoi un riepilogo ricomposto prima che l'agente modifichi qualcosa.

## Quando questa pagina è utile

Questa pagina è per repository che hanno ancora una quantità significativa di codice JavaScript, non per team che fingono che la migrazione sia già completa. Se il repository attuale è per lo più TypeScript, inizia con [TypeScript](/it/languages/typescript). Se il vecchio stack web sconfina ancora in template lato server o PHP, la [guida PHP](/it/languages/php) è la compagna più rilevante.

## Dettagli del motore

- Il supporto JavaScript copre `.js`, `.mjs` e `.cjs`, il che conta quando un repository copre ancora più stili di modulo.
- I prefissi dei membri e gli argomenti delle chiamate vengono normalizzati così gli helper ripetuti sono più facili da confrontare tra file più vecchi.
- Le euristiche per i componenti JSX sono supportate, mentre i numerosi globali built-in del browser e di Node vengono esclusi dalle relazioni per ridurre il rumore.

## Punti di ingresso MCP utili

- `text_pattern_search`: Usalo per stringhe esatte come `module.exports`, nomi di eventi o marcatori di configurazione legacy prima di allargare la ricerca.
- `intelligent_search`: Usalo quando la denominazione è incoerente e ti serve trovare un comportamento come “flusso di upload dei file” invece di un simbolo.
- `get_task_context`: Utile quando il repository è andato alla deriva e ti serve un riepilogo che riunisce il contesto prima di toccare un percorso legacy.
