@tracescout/nuxt
v1.0.1
Published
TraceScout Nuxt integration — browser-chunk debug-ID injection and private source-map upload for stack-trace symbolication (Nuxt 3/4 Vite builds via module; Nuxt 2 via post-build bin).
Maintainers
Readme
@tracescout/nuxt
TraceScout Nuxt integration — browser-chunk debug-ID injection and private source-map upload for stack-trace symbolication. Supports Nuxt 3 / 4 (Vite builds) via a Nuxt module and Nuxt 2 (webpack 4) via a post-build bin. Browser chunks only — the server/nitro bundle is never uploaded.
Reuses the same shared core as @tracescout/cli, @tracescout/vite-plugin,
@tracescout/webpack-plugin, @tracescout/nextjs, and
@tracescout/esbuild-plugin — no Nuxt-specific upload implementation.
Install
npm install --save-dev @tracescout/nuxtNuxt 3 / 4
// nuxt.config.ts
export default defineNuxtConfig({
modules: [['@tracescout/nuxt', {
project: process.env.TRACESCOUT_PROJECT_ID,
release: process.env.TRACESCOUT_RELEASE,
dist: 'web',
authToken: process.env.TRACESCOUT_AUTH_TOKEN,
}]],
});The module turns on hidden client source maps for you, attaches the TraceScout
Vite plugin to the client build pass only, injects a deterministic debug ID
into every client chunk + map, uploads the maps privately, and deletes the
local .map files after a fully successful upload — nothing map-shaped
deploys. Leave urlPrefix at its default ~/ — Nuxt's client output already
carries the _nuxt/ path segment.
Nuxt 2
Nuxt 2 builds on webpack 4, so run the post-build step instead:
{ "scripts": { "build": "nuxt build && tracescout-nuxt2-sourcemaps" } }// nuxt.config.js — emit client production maps
export default {
build: {
extend(config, { isClient, isDev }) {
if (isClient && !isDev) config.devtool = 'hidden-source-map';
},
},
};The bin injects debug IDs into .nuxt/dist/client, uploads through the same
shared core with the ~/_nuxt URL identity (--url-prefix for a custom
publicPath), then strips comments and deletes the local maps — only after a
fully successful upload. .nuxt/dist/server is never touched. Flags:
--dry-run, --keep-maps, --no-hide, --json, --dir, --url-prefix.
Runtime side
Set the same release on your TraceScout.init():
TraceScout.init('YOUR_PROJECT_ID', { release: 'my-release', dist: 'web' });Notes
- Upload failures never delete or strip anything.
- Dev/watch builds never upload.
- The token is read only from
TRACESCOUT_AUTH_TOKEN(or theauthTokenoption) and is never printed.
Docs: https://docs.tracescout.com/docs/guides/source-maps
License
Apache-2.0. TraceScout names and logos are trademarks of TraceScout — no trademark rights are granted.
