Upload source maps for Node.js

Last updated:

|Edit this page|
  1. Install the PostHog CLI

    Required

    Install posthog-cli:

    npm install -g @posthog/cli
  2. Authenticate the PostHog CLI

    Required

    To authenticate the CLI, you can call the login command and follow the instructions:

    Terminal
    posthog-cli login

    If you are using the CLI in a CI/CD environment such as GitHub Actions, you can set environment variables to authenticate:

    Environment VariableDescriptionSource
    POSTHOG_CLI_ENV_IDPostHog project IDEnvironment settings
    POSTHOG_CLI_TOKENPersonal API key with error tracking write scopeAPI key settings

    Use the --host option in subsequent commands to specify a different PostHog instance / or region. For EU users:

    Terminal
    posthog-cli --host https://eu.posthog.com [CMD]
  3. Output source maps for Node.js

    Required
    Your goal in this step: Configure your build to generate source maps.

    If you serve minified bundles in production, PostHog requires source maps to generate accurate stack traces. Here are instructions to enable source map generation for popular build tools:

    For other build tools, consult their documentation to enable source maps.

  4. Inject source map

    Required

    Once you've built your application and have bundled assets, inject the context required by PostHog to associate the maps with the served code.

    Terminal
    # Inject metadata in files to resolve errors
    posthog-cli sourcemap inject --directory ./path/to/assets
  5. Verify source map injection

    Checkpoint

    Confirm that the served files are injected with the correct source map comment in production in dev tools:

    JavaScript
    //# chunkId=0197e6db-9a73-7b91-9e80-4e1b7158db5c
  6. Upload source map

    Required

    You will then need to upload the modified assets to PostHog.

    Terminal
    # Upload assets to posthog
    posthog-cli sourcemap upload --directory ./path/to/assets

    💡 Tip: You can use --delete-after option to clean up sourcemaps after uploading them.

    Serve injected assets

    You must serve the injected assets in deployed production app. The injected metadata is used during error capture to identify the correct source map to use. We suggest you upload source maps right after your production build in CI.

    If you serve a copy of the bundled assets as they were prior to running posthog-cli sourcemap inject, we won't be able to use the uploaded sourcemap to unminify or demangle your stack traces.

  7. Verify source map upload

    Checkpoint

    Confirm that source maps are successfully uploaded to PostHog.

    Check symbol sets in PostHog

Questions? Ask Max AI.

It's easier than reading through 698 pages of documentation

Community questions

Was this page useful?

Next article

Upload source maps with CLI

Once you've built your application and have bundled assets, inject the context required by PostHog to associate the maps with the served code. You can verify that the metadata has been injected by checking for the //# chunkId=... comment in the minified code. You will then need to upload the modified assets to PostHog. You must serve the injected assets in deployed production app. The injected metadata is used during error capture to identify the correct source map to use. If you…

Read next article