> ## 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/stimulus

## Installation

### Avec npm ou yarn

Ajoutez les packages `@appsignal/stimulus` et `@appsignal/javascript` à votre `package.json`. Ensuite, exécutez `yarn install`/`npm install`.

Vous pouvez également ajouter ces packages à votre `package.json` en ligne de commande :

<CodeGroup>
  ```bash Bash theme={null}
  yarn add @appsignal/javascript @appsignal/stimulus
  npm install @appsignal/javascript @appsignal/stimulus
  ```
</CodeGroup>

### Avec les import maps JSPM.io

Avec le [générateur d'import maps JSPM.io](https://generator.jspm.io/), vous pouvez générer une import map pour les dépendances de votre application.

Ajoutez `@appsignal/javascript` et `@appsignal/stimulus` à la liste des dépendances dans le générateur, puis ajoutez l'import map générée et les shims des modules ES au code de votre application.

### Avec `rails-importmap`

Utilisez la commande suivante pour ajouter ces packages aux import maps de votre application Rails :

<CodeGroup>
  ```sh Shell theme={null}
  ./bin/importmap pin @appsignal/javascript @appsignal/stimulus
  ```
</CodeGroup>

## Utilisation

### `Application.handleError`

L'intégration Stimulus par défaut est une fonction qui se lie à la propriété `Application.handleError`. Dans une nouvelle application créée avec `rails new $APP_NAME --webpack=stimulus`, par exemple, votre fichier `javascript/controllers/index.js` ressemblerait à ceci :

<CodeGroup>
  ```js JavaScript theme={null}
  import { Application } from "stimulus";
  import { definitionsFromContext } from "stimulus/webpack-helpers";

  import { appsignal } from "./appsignal";
  import { installErrorHandler } from "@appsignal/stimulus";

  const application = Application.start();
  installErrorHandler(appsignal, application);
  const context = require.context("controllers", true, /_controller\.js$/);
  application.load(definitionsFromContext(context));
  ```
</CodeGroup>
