# Suporte a JavaScript no Maguyva: Busca com IA para Repositórios de Runtimes Mistos

Canonical source: https://maguyva.ai/pt-br/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).

O Maguyva oferece suporte a JavaScript com parsing de AST e extração de símbolos, ajudando agentes de IA a trabalhar em serviços Node, código de navegador, scripts e módulos legados sem cair em busca por string.

## Panorama de suporte

- Nível: Suporte a AST e símbolos
- Programação
- Extensões: .cjs, .js, .mjs, .spec.js, .stories.js, .test.js
- Parsing real de AST para busca com consciência de sintaxe e contexto estrutural.
- Símbolos nomeados alimentam a busca semântica e as referências cruzadas. A navegação por grafo fica disponível quando a extração de relações está habilitada.
- Esta linguagem fornece símbolos e relações para a busca orientada por grafo; os tipos de aresta compatíveis variam de acordo com seus construtos nativos.
- A análise de AST e a extração de símbolos estão disponíveis.

## Uso ideal

- Repositórios Node e de navegador que nunca terminaram de convergir para um único sistema de módulos ou uma única geração de framework.
- Equipes que mantêm JavaScript legado enquanto introduzem gradualmente TypeScript ou novos limites de pacotes.
- Fluxos de trabalho de agentes que precisam de estrutura entre `.js`, `.mjs` e `.cjs`, em vez de busca ad hoc no repositório.

## Fluxos de trabalho de agente

- Rastrear um caminho de requisição ou uma etapa de build através de módulos JavaScript mais antigos antes de editá-los.
- Comparar implementações em CommonJS e ESM do mesmo comportamento em todo o repositório.
- Encontrar padrões recorrentes em scripts, utilitários ou componentes de frontend antes de introduzir uma nova abstração.

## Por que repositórios JavaScript mistos ainda precisam de busca que leva em conta a estrutura

Muitas ferramentas de IA para código tratam silenciosamente o JavaScript como o estado bagunçado que antecede o TypeScript "de verdade". Isso ignora como os repositórios em produção realmente são. JavaScript ainda é dono de etapas de build, sistemas de plugins, código de navegador, scripts de tarefas e caminhos de serviço de longa vida que ninguém teve orçamento para reescrever de forma limpa.

Isso faz com que o suporte a JavaScript seja menos sobre sintaxe bonita e mais sobre história. O perigo não é fazer parsing do arquivo. O perigo é editar um módulo ou helper sem entender se ele pertence ao CommonJS, ao ESM, a código de navegador ou a algum padrão local mais antigo.

## O que o Maguyva realmente extrai em JavaScript

O Maguyva cobre `.js`, `.mjs` e `.cjs`, normaliza chamadas prefixadas por membro e oferece suporte a heurísticas de componentes JSX em codebases JavaScript que borram os limites entre frontend e backend. Ele também filtra uma grande quantidade de ruído padrão de navegador e de runtime Node, para que os relacionamentos específicos do repositório permaneçam visíveis.

Isso é útil em repositórios antigos ou mistos, em que o mesmo conceito pode existir em mais de um estilo de arquivo e em que a nomenclatura exata costuma ser inconsistente.

## Fluxos de trabalho com MCP úteis para repositórios de runtimes mistos

O fluxo de trabalho prático geralmente é assim:

- Use `text_pattern_search` para strings exatas, como `module.exports`, nomes de eventos ou marcadores antigos de configuração.
- Use `intelligent_search` quando você precisar de descoberta em nível de comportamento, como "fluxo legado de upload" ou "onde a autenticação é verificada no bundle do navegador".
- Use `get_task_context` quando a nomenclatura for inconsistente e você quiser um resumo que reúna o contexto relevante antes de o agente editar qualquer coisa.

## Quando esta página é útil

Esta página é para repositórios que ainda têm uma quantidade relevante de código JavaScript, não para equipes que fingem que a migração já terminou. Se o repositório atual é majoritariamente TypeScript, comece por [TypeScript](/pt-br/languages/typescript). Se a stack web antiga ainda vaza para templates do lado do servidor ou PHP, o [guia de PHP](/pt-br/languages/php) é a companhia mais relevante.

## Detalhes do motor

- O suporte a JavaScript cobre `.js`, `.mjs` e `.cjs`, o que importa quando um repositório ainda mistura vários estilos de módulo.
- Prefixos de membro e argumentos de chamada são normalizados, facilitando comparar helpers repetidos entre arquivos mais antigos.
- Heurísticas de componente JSX são suportadas, enquanto a grande quantidade habitual de símbolos globais nativos do navegador e do Node é excluída para reduzir o ruído nas relações.

## Pontos de entrada MCP úteis

- `text_pattern_search`: Use para strings exatas como `module.exports`, nomes de evento ou marcadores de config legados antes de ampliar a busca.
- `intelligent_search`: Use quando a nomenclatura for inconsistente e você precisar encontrar um comportamento como “fluxo de upload de arquivo”, em vez de um símbolo.
- `get_task_context`: Útil quando o repositório sofreu desvio e você precisa de um resumo que reúna o contexto relevante antes de mexer num caminho legado.
