Sourcemaps
highlight.io has first-party support for enhancing minified stacktraces in JavaScript. We also support options for sending sourcemaps to us in the case that your sourcemaps aren't public.
Browser JavaScript Sourcemaps
Read more about it in our getting started doc
Node.js Backend Sourcemaps
Depending on your backend code implementation, your sourcemap setup may vary. The following instructions should work for
most bundlers that convert source written in Typescript to .js
files:
Typescript
If you build your .ts
files into node.js .js
bundles with tsc
, the only configuration change required is in
the tsconfig.json
file.
Add the following to the compilerOptions
object:
{ "compilerOptions": { "sourceMap": true, "inlineSources": true } }
sourceMap
enables typescript generation of .js.map
files, while inlineSources
populates the sourcesContent
key
in the .map
files to embed the source code of your application into the map. These sourcemaps, once uploaded to
highlight, allow us to convert your minified errors back to their source line, showing a preview of the typescript code
that encountered the error.
Uploading sourcemaps
Let's assume you run the sourcemap uploader from your repository root, your bundled backend node.js code is written
to ./backend/dist
, and the code is deployed to lambda where it runs from /var/run/dist/
. You'll want to use
the @highlight-run/sourcemap-uploader
package as so:
yarn @highlight-run/sourcemap-uploader upload --apiKey "${HIGHLIGHT_API_KEY}" --appVersion "${APP_VERSION}" --path ./backend/dist --basePath /var/run/dist/
The HIGHLIGHT_API_KEY
environment variable will correspond to the API key for highlight, found in
the project settings. The APP_VERSION
environment variable will
correspond to the serviceName
and serviceVersion
, separated by -
. For example, if your node.js application
calls H.init
with service_name: 'express', serviceVersion: 'abc123'
, the APP_VERSION
should be set
to express-abc123
.