Files

@hanzo/webpack-plugin

Webpack plugin for uploading source maps to Insights for error tracking.

SEE FULL DOCS

Installation

npm install @hanzo/webpack-plugin --save-dev

Usage

Add the plugin to your webpack configuration:

import { InsightsWebpackPlugin } from '@hanzo/webpack-plugin'

export default {
    // ... your webpack config
    plugins: [
        new InsightsWebpackPlugin({
            personalApiKey: process.env.INSIGHTS_PERSONAL_API_KEY,
            projectId: process.env.INSIGHTS_PROJECT_ID,
            sourcemaps: {
                enabled: true,
                releaseName: 'my-app',
                releaseVersion: '1.0.0',
            },
        }),
    ],
}

Configuration Options

Option Type Required Default Description
personalApiKey string Yes - Your Insights personal API key
projectId string Yes - Your Insights project/environment ID
envId string No - Deprecated alias for projectId
host string No https://us.i.insights.hanzo.ai Insights instance host
logLevel 'debug' | 'info' | 'warn' | 'error' | 'silent' No 'info' Logging verbosity
cliBinaryPath string No Auto-detected Path to the Insights CLI binary
sourcemaps.enabled boolean No true in production Enable source map processing
sourcemaps.releaseName string No - Release name for source map grouping
sourcemaps.releaseVersion string No - Version identifier for the release
sourcemaps.deleteAfterUpload boolean No true Delete source maps after upload
sourcemaps.batchSize number No - Number of source maps to upload in parallel

Full Example

import path from 'node:path'
import webpack from 'webpack'
import { InsightsWebpackPlugin } from '@hanzo/webpack-plugin'
import packageJson from './package.json'

const config: webpack.Configuration = {
    mode: 'production',
    entry: './src/index.ts',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist'),
    },
    plugins: [
        new InsightsWebpackPlugin({
            personalApiKey: process.env.INSIGHTS_PERSONAL_API_KEY,
            projectId: process.env.INSIGHTS_PROJECT_ID,
            host: process.env.INSIGHTS_API_HOST,
            logLevel: 'error',
            sourcemaps: {
                enabled: true,
                releaseName: packageJson.name,
                releaseVersion: packageJson.version,
                deleteAfterUpload: true,
            },
        }),
    ],
}

export default config

Questions?

Check out our community page.