> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AppSignal para JavaScript

O AppSignal tem ótimo suporte para capturar erros de aplicações JavaScript front-end e enviá-los ao AppSignal. Uma biblioteca `npm` para capturar erros JavaScript está disponível para isso.

<Warning>
  **NOTA:** Exceções não tratadas **não** são capturadas por padrão. [Leia esta
  seção para saber o porquê](/front-end/error-handling#uncaught-exceptions).
  Você pode ativar essa funcionalidade habilitando o plugin
  [`plugin-window-events`](/front-end/plugins/plugin-window-events).
</Warning>

## Navegadores suportados

Este pacote pode ser usado em qualquer navegador compatível com ECMAScript 5. Buscamos compatibilidade até o Internet Explorer 9 [(aproximadamente 0,22% de todos os navegadores em uso hoje)](https://www.w3counter.com/globalstats.php). Todos os navegadores mais antigos do que esse só podem ser suportados em "melhor esforço", e a funcionalidade completa não pode ser garantida.

Ao desenvolver, não se esqueça de verificar o suporte do navegador no [Can I Use?](https://caniuse.com/) e na [ES6 Compatibility Table](https://compat-table.github.io/compat-table/es6/), e forneça os polyfills ou fallbacks apropriados. **Em uma pequena porcentagem de navegadores, um polyfill de `Promise` pode ser necessário para usar esta biblioteca.**

## Outros ambientes suportados

`@appsignal/javascript` é mais do que apenas uma biblioteca de front-end! Ela também foi projetada para funcionar em uma variedade de outros ambientes JavaScript e casos de uso em que a biblioteca `@appsignal/nodejs` pode não ser uma escolha viável. `@appsignal/javascript` suporta:

<div style={{ display: "flex", flexDirection: "column", gap: "0.6rem", marginTop: "1rem", marginBottom: "1.25rem" }}>
  {[
      "Apps Electron",
      "Processos de curta duração",
      "Funções serverless",
      "Apps gerados estaticamente",
      "Apps React Native/Expo",
    ].map((label) => (
      <div key={label} style={{ display: "flex", alignItems: "center", gap: "0.6rem" }}>
        <span style={{
          display: "inline-flex",
          alignItems: "center",
          justifyContent: "center",
          width: "1.4rem",
          height: "1.4rem",
          borderRadius: "0.35rem",
          background: "rgba(34,197,94,0.15)",
          color: "#16a34a",
          fontWeight: 700,
          fontSize: "0.85rem",
          lineHeight: 1,
        }}>✓</span>
        <span>{label}</span>
      </div>
    ))}
</div>
