🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

@grafana/faro-webpack-plugin

Package Overview
Dependencies
Maintainers
23
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@grafana/faro-webpack-plugin

Upload a source map to the Faro source map API from a Webpack build pipeline

0.5.1
latest
Source
npm
Version published
Weekly downloads
11K
18.03%
Maintainers
23
Weekly downloads
 
Created
Source

Faro source map upload plugin - Webpack

This plugin uploads source maps to the Faro collector to enable de-obfuscation of stack traces in the Grafana Cloud Frontend Observability UI.

[!NOTE] The Faro JavaScript bundler plugins work with client-side rendered applications. Server-side rendering isn't yet supported.

Installation

To install the Faro JavaScript bundler plugins for Webpack, use the package manager of your choice.

npm install --save-dev @grafana/faro-webpack-plugin

To install the Webpack plugin with yarn, run:

yarn add --dev @grafana/faro-webpack-plugin

Usage

Details of how to use the plugins with your bundler reside in the Frontend Observability plugin under the "Settings" -> "Source Maps" tab after clicking into your instrumented app.

That tab includes the necessary configuration for the Faro JavaScript bundler plugins, including the appName, appId, and endpoint values that you need for the plugins to work with your app. The details provided below are general instructions for how to use the plugins with your bundler.

To use the Webpack plugin, add the following to your webpack.config.js:

// other imports
import FaroSourceMapUploaderPlugin from "@grafana/faro-webpack-plugin";

module.exports = {
  // other configs
  plugins: [
    // other plugins
    new FaroSourceMapUploaderPlugin({
      appName: "$your-app-name",
      endpoint: "$your-faro-collector-url",
      apiKey: "$your-api-key",
      appId: "$your-app-id",
      stackId: "$your-stack-id",
      gzipContents: true,
    }),
  ],
};

Configuration Options

The following options are available for the Faro JavaScript bundler plugins:

  • appName: string required: The name of your application, it should match the appName value used in your Faro Web SDK configuration
  • endpoint: string required: The URL of your Faro Collector endpoint, found in Frontend Observability under Settings and Web SDK Config
  • apiKey: string required: The API key for your Faro Collector, you can generate a new scope on [grafana.com], refer to the Obtaining API key section
  • appId: string required: The ID of your application, it should match the appId value used in your Faro Web SDK configuration
  • stackId: string required: The ID of the stack, found in Frontend Observability under Settings and Web SDK Config
  • outputFiles: string[] optional: An array of source map files to upload, by default Faro uploads all source maps
  • bundleId: string optional: The ID of the bundle/build, by default auto-generated, or specify an ID to filter by bundle ID in Frontend Observability
  • keepSourcemaps: boolean optional: Whether to keep the source maps in your generated bundle after uploading, default false
  • gzipContents: boolean optional: Whether to archive and compress the source maps before uploading, default true
  • verbose: boolean optional: Whether to log verbose output during the upload process, default false
  • maxUploadSize: number optional: Maximum upload size in bytes, default is 30MB. The Faro API has a 30MB limit for individual file uploads by default. In special circumstances, this limit may be changed by contacting Grafana Cloud support.

After initial configuration, the Faro JavaScript bundler plugins automatically uploads your source maps to Grafana Cloud when you build your application. You can verify that the source maps upload successfully by in the "Settings" -> "Source Maps" tab in the Frontend Observability plugin. From there you are able to see the source maps that you have uploaded.

After you have completed all the required steps, you have finished - the Faro Collector begins processing your source maps and associating them with your telemetry data. The portions of your stack traces with source maps uploaded to the Faro Collector are automatically de-obfuscated and displayed in the Frontend Observability plugin when viewing your error data.

FAQs

Package last updated on 09 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts