> ## 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.

# Opções de configuração do AppSignal para JavaScript

export const Compatibility = ({versions = [], label = "Available in"}) => {
  if (!Array.isArray(versions) || versions.length === 0) {
    return null;
  }
  const defaultPillStyle = {
    borderColor: "#d4d4d8",
    background: "#f4f4f5",
    color: "#3f3f46"
  };
  const pillStyles = {
    "AppSignal for Elixir": {
      background: "#f3e8ff",
      borderColor: "#d8b4fe",
      color: "#6b21a8"
    },
    "AppSignal for Front-end": {
      background: "#fef9c3",
      borderColor: "#fde047",
      color: "#854d0e"
    },
    "AppSignal for Go": {
      background: "#ccfbf1",
      borderColor: "#5eead4",
      color: "#115e59"
    },
    "AppSignal for JavaScript": {
      background: "#fef9c3",
      borderColor: "#fde047",
      color: "#854d0e"
    },
    "AppSignal for Node.js": {
      background: "#dcfce7",
      borderColor: "#86efac",
      color: "#166534"
    },
    "AppSignal for Python": {
      background: "#dbeafe",
      borderColor: "#93c5fd",
      color: "#1e40af"
    },
    "AppSignal for Ruby": {
      background: "#fee2e2",
      borderColor: "#fca5a5",
      color: "#991b1b"
    },
    "AppSignal for Rust": {
      background: "#ffedd5",
      borderColor: "#fdba74",
      color: "#9a3412"
    }
  };
  const getPillStyle = name => ({
    ...defaultPillStyle,
    ...pillStyles[name] || ({})
  });
  return <div className="not-prose my-4 rounded-lg border border-zinc-200 bg-zinc-50 px-4 py-3 text-sm dark:border-white/10 dark:bg-white/5">
      <div className="flex flex-wrap items-center gap-x-2 gap-y-1">
        <span className="font-semibold text-zinc-700 dark:text-zinc-200">
          {label}:
        </span>
        {versions.map((v, i) => <span key={`${v.name}-${v.version}-${i}`} className="inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-xs font-medium" style={getPillStyle(v.name)}>
            <span>{v.name}</span>
            <span className="opacity-70">
              {v.version}
              {v.exact ? "" : "+"}
            </span>
          </span>)}
      </div>
    </div>;
};

A lista a seguir inclui todas as opções de configuração com o nome da variável de ambiente e o nome da chave no arquivo de configuração.

Para mais informações sobre como configurar o AppSignal com um arquivo de configuração, consulte o tópico [Configuração](/front-end/configuration).

## `key`

* **Tipo:** `string`

<Tip>
  Esta opção de configuração é **obrigatória** para enviar dados ao AppSignal. Se esta
  opção de configuração não for definida, o AppSignal para JavaScript será executado em
  modo de desenvolvimento, e nenhum dado será enviado ao AppSignal.
</Tip>

A chave da API de monitoramento de erros de front-end da sua aplicação. Você pode encontrar essa chave de API em "Front-end error monitoring" na seção ["Push & Deploy"](https://appsignal.com/redirect-to/app?to=api_keys) das configurações da sua aplicação.

Esta **não** é a mesma chave de API no nível da organização ou da aplicação, que é usada para monitoramento em nossas integrações de back-end.

## `namespace`

* **Tipo:** `string`
* **Valor padrão:** `"frontend"`

O namespace padrão a ser usado para relatar erros ao AppSignal. Saiba mais no nosso [guia de namespaces](/guides/namespaces).

## `revision`

* **Tipo:** `string`

Define a revisão da aplicação para a versão atualmente em execução do seu app. Isso é usado para criar marcadores de deploy e marcar todos os dados recebidos como pertencentes a um deploy específico. Saiba mais no nosso [guia de marcadores de deploy](/application/markers/deploy-markers).

## `ignoreErrors`

* **Tipo:** `RegExp[]`

Um array de expressões regulares para verificar em relação à propriedade `message` de qualquer erro relatado ao AppSignal. Se qualquer uma das expressões regulares corresponder, o erro será ignorado. Saiba mais no nosso [guia de como ignorar erros](/guides/filter-data/ignore-actions).

## `matchBacktracePaths`

<Compatibility versions={[{ name: "AppSignal for JavaScript", version: "1.5.0" }]} />

* **Tipo:** `RegExp[]`

<Warning>
  Esta opção de configuração é útil ao desenvolver aplicações para ambientes desktop e
  mobile, ou ao implantar o mesmo ambiente de aplicação em múltiplos domínios.
  **A maioria das aplicações não precisará usar esta opção de configuração.**

  **Usar esta opção de configuração quebrará a [detecção pública de
  sourcemaps](/front-end/sourcemaps#public-sourcemaps).** Para usar esta
  opção de configuração com uma base de código com sourcemaps, você deve fazer upload de
  sourcemaps privados para sua aplicação.

  Esta opção de configuração é **experimental** e pode mudar em versões futuras.
</Warning>

Um array de expressões regulares com um ou mais grupos de captura. Essas expressões regulares serão verificadas contra os caminhos das linhas de backtrace dos erros relatados ao AppSignal. Se qualquer uma das expressões regulares corresponder com um ou mais grupos de captura não vazios, o caminho na linha de backtrace é substituído pelo resultado da concatenação dos grupos de captura.

Isso é útil quando o caminho onde sua aplicação é implantada não é conhecido antecipadamente. Por exemplo, o caminho para uma
aplicação Electron pode ser diferente na máquina de cada usuário. Você pode buscar pela parte desse caminho que é conhecida por representar
sua aplicação.

Por exemplo, se o código-fonte da sua aplicação estiver localizado em um caminho como o seguinte, onde `${USERNAME}` muda para cada usuário:

<CodeGroup>
  ```sh Shell theme={null}
  /Users/${USERNAME}/Applications/MyApp.app/Contents/Resources/bundle/app.js`
  ```
</CodeGroup>

Então você pode usar esta opção de configuração da seguinte forma:

<CodeGroup>
  ```javascript JavaScript theme={null}
  const appsignal = new Appsignal({
    // ... other configuration options ...
    matchBacktracePaths: [new RegExp("MyApp.app/Contents/Resources/(.*)")],
  });
  ```
</CodeGroup>

Quando um erro for relatado, os caminhos das linhas de backtrace serão substituídos pelo resultado do grupo de captura, que neste exemplo será `bundle/app.js`.

Isso garante que os erros relatados ao AppSignal sejam agrupados corretamente ao usar o agrupamento por linha de backtrace e permite que [sourcemaps privados](/api/sourcemaps) sejam enviados para o caminho limpo.
