@sentry/nuxt 10.58.0 → 10.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ function setupSourceMaps(moduleOptions, nuxt, addVitePlugin) {
8
8
  const isDebug = moduleOptions.debug;
9
9
  const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};
10
10
  const sourceMapsEnabled = moduleOptions.sourcemaps?.disable === true ? false : moduleOptions.sourcemaps?.disable === false ? true : (
11
- // eslint-disable-next-line deprecation/deprecation
11
+ // eslint-disable-next-line typescript/no-deprecated
12
12
  sourceMapsUploadOptions.enabled ?? true
13
13
  );
14
14
  const shouldDeleteFilesFallback = { client: true, server: true };
@@ -19,7 +19,7 @@ function setupSourceMaps(moduleOptions, nuxt, addVitePlugin) {
19
19
  shouldDeleteFilesFallback.server = previousSourceMapSettings.server === "unset";
20
20
  if (isDebug && (shouldDeleteFilesFallback.client || shouldDeleteFilesFallback.server)) {
21
21
  const enabledDeleteFallbacks = shouldDeleteFilesFallback.client && shouldDeleteFilesFallback.server ? "client-side and server-side" : shouldDeleteFilesFallback.server ? "server-side" : "client-side";
22
- if (!moduleOptions.sourcemaps?.filesToDeleteAfterUpload && // eslint-disable-next-line deprecation/deprecation
22
+ if (!moduleOptions.sourcemaps?.filesToDeleteAfterUpload && // eslint-disable-next-line typescript/no-deprecated
23
23
  !sourceMapsUploadOptions.sourcemaps?.filesToDeleteAfterUpload) {
24
24
  console.log(
25
25
  `[Sentry] We enabled \`'hidden'\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be automatically deleted after uploading them to Sentry.`
@@ -75,7 +75,7 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
75
75
  ];
76
76
  const sourcemapsOptions = moduleOptions.sourcemaps || {};
77
77
  const deprecatedSourcemapsOptions = sourceMapsUploadOptions.sourcemaps || {};
78
- const filesToDeleteAfterUpload = sourcemapsOptions.filesToDeleteAfterUpload ?? // eslint-disable-next-line deprecation/deprecation
78
+ const filesToDeleteAfterUpload = sourcemapsOptions.filesToDeleteAfterUpload ?? // eslint-disable-next-line typescript/no-deprecated
79
79
  deprecatedSourcemapsOptions.filesToDeleteAfterUpload;
80
80
  if (typeof filesToDeleteAfterUpload === "undefined" && shouldDeleteFilesAfterUpload && moduleOptions.debug) {
81
81
  console.log(
@@ -84,26 +84,26 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
84
84
  }
85
85
  return {
86
86
  applicationKey: moduleOptions.applicationKey,
87
- // eslint-disable-next-line deprecation/deprecation
87
+ // eslint-disable-next-line typescript/no-deprecated
88
88
  org: moduleOptions.org ?? sourceMapsUploadOptions.org ?? process.env.SENTRY_ORG,
89
- // eslint-disable-next-line deprecation/deprecation
89
+ // eslint-disable-next-line typescript/no-deprecated
90
90
  project: moduleOptions.project ?? sourceMapsUploadOptions.project ?? process.env.SENTRY_PROJECT,
91
- // eslint-disable-next-line deprecation/deprecation
91
+ // eslint-disable-next-line typescript/no-deprecated
92
92
  authToken: moduleOptions.authToken ?? sourceMapsUploadOptions.authToken ?? process.env.SENTRY_AUTH_TOKEN,
93
- // eslint-disable-next-line deprecation/deprecation
93
+ // eslint-disable-next-line typescript/no-deprecated
94
94
  telemetry: moduleOptions.telemetry ?? sourceMapsUploadOptions.telemetry ?? true,
95
- // eslint-disable-next-line deprecation/deprecation
95
+ // eslint-disable-next-line typescript/no-deprecated
96
96
  url: moduleOptions.sentryUrl ?? sourceMapsUploadOptions.url ?? process.env.SENTRY_URL,
97
97
  headers: moduleOptions.headers,
98
98
  debug: moduleOptions.debug ?? false,
99
- // eslint-disable-next-line deprecation/deprecation
99
+ // eslint-disable-next-line typescript/no-deprecated
100
100
  silent: moduleOptions.silent ?? sourceMapsUploadOptions.silent ?? false,
101
- // eslint-disable-next-line deprecation/deprecation
101
+ // eslint-disable-next-line typescript/no-deprecated
102
102
  errorHandler: moduleOptions.errorHandler ?? sourceMapsUploadOptions.errorHandler,
103
103
  bundleSizeOptimizations: moduleOptions.bundleSizeOptimizations,
104
104
  // todo: test if this can be overridden by the user
105
105
  release: {
106
- // eslint-disable-next-line deprecation/deprecation
106
+ // eslint-disable-next-line typescript/no-deprecated
107
107
  name: moduleOptions.release?.name ?? sourceMapsUploadOptions.release?.name,
108
108
  // Support all release options from BuildTimeOptionsBase
109
109
  ...moduleOptions.release,
@@ -120,9 +120,9 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
120
120
  // The server/client files are in different places depending on the nitro preset (e.g. '.output/server' or '.netlify/functions-internal/server')
121
121
  // We cannot determine automatically how the build folder looks like (depends on the preset), so we have to accept that source maps are uploaded multiple times (with the vitePlugin for Nuxt and the rollupPlugin for Nitro).
122
122
  // If we could know where the server/client assets are located, we could do something like this (based on the Nitro preset): isNitro ? ['./.output/server/**/*'] : ['./.output/public/**/*'],
123
- // eslint-disable-next-line deprecation/deprecation
123
+ // eslint-disable-next-line typescript/no-deprecated
124
124
  assets: sourcemapsOptions.assets ?? deprecatedSourcemapsOptions.assets ?? void 0,
125
- // eslint-disable-next-line deprecation/deprecation
125
+ // eslint-disable-next-line typescript/no-deprecated
126
126
  ignore: sourcemapsOptions.ignore ?? deprecatedSourcemapsOptions.ignore ?? void 0,
127
127
  filesToDeleteAfterUpload: filesToDeleteAfterUpload ? filesToDeleteAfterUpload : shouldDeleteFilesFallback?.server || shouldDeleteFilesFallback?.client ? fallbackFilesToDelete : void 0,
128
128
  rewriteSources: sourcemapsOptions.rewriteSources ?? normalizePath,
@@ -1 +1 @@
1
- {"version":3,"file":"sourceMaps.js","sources":["../../../src/vite/sourceMaps.ts"],"sourcesContent":["import type { Nuxt } from '@nuxt/schema';\nimport { sentryRollupPlugin, type SentryRollupPluginOptions } from '@sentry/rollup-plugin';\nimport { sentryVitePlugin, type SentryVitePluginOptions } from '@sentry/vite-plugin';\nimport type { NitroConfig } from 'nitropack';\nimport type { Plugin } from 'vite';\nimport type { SentryNuxtModuleOptions } from '../common/types';\nimport { validateSourceMapsOptionsPlugin } from './sentryVitePlugin';\n\n/**\n * Whether the user enabled (true, 'hidden', 'inline') or disabled (false) source maps\n */\nexport type UserSourceMapSetting = 'enabled' | 'disabled' | 'unset' | undefined;\n\n/** A valid source map setting */\nexport type SourceMapSetting = boolean | 'hidden' | 'inline';\n\n/**\n * Setup source maps for Sentry inside the Nuxt module during build time (in Vite for Nuxt and Rollup for Nitro).\n */\nexport function setupSourceMaps(\n moduleOptions: SentryNuxtModuleOptions,\n nuxt: Nuxt,\n addVitePlugin: (plugin: Plugin[], options?: { dev?: boolean; build?: boolean }) => void,\n): void {\n // TODO(v11): remove deprecated options (also from SentryNuxtModuleOptions type)\n\n const isDebug = moduleOptions.debug;\n\n // eslint-disable-next-line deprecation/deprecation\n const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};\n\n const sourceMapsEnabled =\n moduleOptions.sourcemaps?.disable === true\n ? false\n : moduleOptions.sourcemaps?.disable === false\n ? true\n : // eslint-disable-next-line deprecation/deprecation\n (sourceMapsUploadOptions.enabled ?? true);\n\n // In case we overwrite the source map settings, we default to deleting the files\n const shouldDeleteFilesFallback = { client: true, server: true };\n\n nuxt.hook('modules:done', () => {\n if (sourceMapsEnabled && !nuxt.options.dev && !nuxt.options?._prepare) {\n // Changing this setting will propagate:\n // - for client to viteConfig.build.sourceMap\n // - for server to viteConfig.build.sourceMap and nitro.sourceMap\n // On server, nitro.rollupConfig.output.sourcemap remains unaffected from this change.\n\n // ONLY THIS nuxt.sourcemap.(server/client) setting is the one Sentry will overwrite with 'hidden', if needed.\n const previousSourceMapSettings = changeNuxtSourceMapSettings(nuxt, moduleOptions);\n\n // Mutate in place so the Vite plugin (which captured this object at registration time) sees the updated values\n shouldDeleteFilesFallback.client = previousSourceMapSettings.client === 'unset';\n shouldDeleteFilesFallback.server = previousSourceMapSettings.server === 'unset';\n\n if (isDebug && (shouldDeleteFilesFallback.client || shouldDeleteFilesFallback.server)) {\n const enabledDeleteFallbacks =\n shouldDeleteFilesFallback.client && shouldDeleteFilesFallback.server\n ? 'client-side and server-side'\n : shouldDeleteFilesFallback.server\n ? 'server-side'\n : 'client-side';\n\n if (\n !moduleOptions.sourcemaps?.filesToDeleteAfterUpload &&\n // eslint-disable-next-line deprecation/deprecation\n !sourceMapsUploadOptions.sourcemaps?.filesToDeleteAfterUpload\n ) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] We enabled \\`'hidden'\\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be automatically deleted after uploading them to Sentry.`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] We enabled \\`'hidden'\\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be deleted according to your \\`sourcemaps.filesToDeleteAfterUpload\\` configuration. To use automatic deletion instead, leave \\`filesToDeleteAfterUpload\\` empty.`,\n );\n }\n }\n }\n });\n\n if (sourceMapsEnabled && !nuxt.options.dev && !nuxt.options?._prepare) {\n addVitePlugin(\n [\n validateSourceMapsOptionsPlugin({ nuxt, moduleOptions, sourceMapsEnabled }),\n // Vite plugin is added on the client and server side (plugin runs for both builds)\n ...sentryVitePlugin(getPluginOptions(moduleOptions, shouldDeleteFilesFallback)),\n ],\n { dev: false, build: true }, // Only add source map plugin during build\n );\n }\n\n nuxt.hook('nitro:config', (nitroConfig: NitroConfig) => {\n if (sourceMapsEnabled && !nitroConfig.dev && !nuxt.options?._prepare) {\n if (!nitroConfig.rollupConfig) {\n nitroConfig.rollupConfig = {};\n }\n\n if (nitroConfig.rollupConfig.plugins === null || nitroConfig.rollupConfig.plugins === undefined) {\n nitroConfig.rollupConfig.plugins = [];\n } else if (!Array.isArray(nitroConfig.rollupConfig.plugins)) {\n // `rollupConfig.plugins` can be a single plugin, so we want to put it into an array so that we can push our own plugin\n nitroConfig.rollupConfig.plugins = [nitroConfig.rollupConfig.plugins];\n }\n\n validateNitroSourceMapSettings(nuxt, nitroConfig, moduleOptions);\n\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.log('[Sentry] Adding Sentry Rollup plugin to the server runtime.');\n }\n\n // Add Sentry plugin\n // Runs only on server-side (Nitro)\n nitroConfig.rollupConfig.plugins.push(\n sentryRollupPlugin(getPluginOptions(moduleOptions, shouldDeleteFilesFallback)),\n );\n }\n });\n}\n\n/**\n * Normalizes the beginning of a path from e.g. ../../../ to ./\n */\nfunction normalizePath(path: string): string {\n return path.replace(/^(\\.\\.\\/)+/, './');\n}\n\n/**\n * Generates source maps upload options for the Sentry Vite and Rollup plugin.\n *\n * Only exported for Testing purposes.\n */\n// todo(v11): This \"eslint-disable\" can be removed again once we remove deprecated options.\n// eslint-disable-next-line complexity\nexport function getPluginOptions(\n moduleOptions: SentryNuxtModuleOptions,\n shouldDeleteFilesFallback?: { client: boolean; server: boolean },\n): SentryVitePluginOptions | SentryRollupPluginOptions {\n // eslint-disable-next-line deprecation/deprecation\n const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};\n\n const shouldDeleteFilesAfterUpload = shouldDeleteFilesFallback?.client || shouldDeleteFilesFallback?.server;\n const fallbackFilesToDelete = [\n ...(shouldDeleteFilesFallback?.client ? ['.*/**/public/**/*.map'] : []),\n ...(shouldDeleteFilesFallback?.server\n ? ['.*/**/server/**/*.map', '.*/**/output/**/*.map', '.*/**/function/**/*.map']\n : []),\n ];\n\n // Check for filesToDeleteAfterUpload in new location first, then deprecated location\n const sourcemapsOptions = moduleOptions.sourcemaps || {};\n // eslint-disable-next-line deprecation/deprecation\n const deprecatedSourcemapsOptions = sourceMapsUploadOptions.sourcemaps || {};\n\n const filesToDeleteAfterUpload =\n sourcemapsOptions.filesToDeleteAfterUpload ??\n // eslint-disable-next-line deprecation/deprecation\n deprecatedSourcemapsOptions.filesToDeleteAfterUpload;\n\n if (typeof filesToDeleteAfterUpload === 'undefined' && shouldDeleteFilesAfterUpload && moduleOptions.debug) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] Setting \\`sentry.sourceMapsUploadOptions.sourcemaps.filesToDeleteAfterUpload: [${fallbackFilesToDelete\n // Logging it as strings in the array\n .map(path => `\"${path}\"`)\n .join(', ')}]\\` to delete generated source maps after they were uploaded to Sentry.`,\n );\n }\n\n return {\n applicationKey: moduleOptions.applicationKey,\n // eslint-disable-next-line deprecation/deprecation\n org: moduleOptions.org ?? sourceMapsUploadOptions.org ?? process.env.SENTRY_ORG,\n // eslint-disable-next-line deprecation/deprecation\n project: moduleOptions.project ?? sourceMapsUploadOptions.project ?? process.env.SENTRY_PROJECT,\n // eslint-disable-next-line deprecation/deprecation\n authToken: moduleOptions.authToken ?? sourceMapsUploadOptions.authToken ?? process.env.SENTRY_AUTH_TOKEN,\n // eslint-disable-next-line deprecation/deprecation\n telemetry: moduleOptions.telemetry ?? sourceMapsUploadOptions.telemetry ?? true,\n // eslint-disable-next-line deprecation/deprecation\n url: moduleOptions.sentryUrl ?? sourceMapsUploadOptions.url ?? process.env.SENTRY_URL,\n headers: moduleOptions.headers,\n debug: moduleOptions.debug ?? false,\n // eslint-disable-next-line deprecation/deprecation\n silent: moduleOptions.silent ?? sourceMapsUploadOptions.silent ?? false,\n // eslint-disable-next-line deprecation/deprecation\n errorHandler: moduleOptions.errorHandler ?? sourceMapsUploadOptions.errorHandler,\n bundleSizeOptimizations: moduleOptions.bundleSizeOptimizations, // todo: test if this can be overridden by the user\n release: {\n // eslint-disable-next-line deprecation/deprecation\n name: moduleOptions.release?.name ?? sourceMapsUploadOptions.release?.name,\n // Support all release options from BuildTimeOptionsBase\n ...moduleOptions.release,\n ...moduleOptions?.unstable_sentryBundlerPluginOptions?.release,\n },\n _metaOptions: {\n telemetry: {\n metaFramework: 'nuxt',\n },\n },\n ...moduleOptions?.unstable_sentryBundlerPluginOptions,\n\n sourcemaps: {\n disable: moduleOptions.sourcemaps?.disable,\n // The server/client files are in different places depending on the nitro preset (e.g. '.output/server' or '.netlify/functions-internal/server')\n // We cannot determine automatically how the build folder looks like (depends on the preset), so we have to accept that source maps are uploaded multiple times (with the vitePlugin for Nuxt and the rollupPlugin for Nitro).\n // If we could know where the server/client assets are located, we could do something like this (based on the Nitro preset): isNitro ? ['./.output/server/**/*'] : ['./.output/public/**/*'],\n // eslint-disable-next-line deprecation/deprecation\n assets: sourcemapsOptions.assets ?? deprecatedSourcemapsOptions.assets ?? undefined,\n // eslint-disable-next-line deprecation/deprecation\n ignore: sourcemapsOptions.ignore ?? deprecatedSourcemapsOptions.ignore ?? undefined,\n filesToDeleteAfterUpload: filesToDeleteAfterUpload\n ? filesToDeleteAfterUpload\n : shouldDeleteFilesFallback?.server || shouldDeleteFilesFallback?.client\n ? fallbackFilesToDelete\n : undefined,\n rewriteSources: sourcemapsOptions.rewriteSources ?? normalizePath,\n ...moduleOptions?.unstable_sentryBundlerPluginOptions?.sourcemaps,\n },\n };\n}\n\n/* There are multiple ways to set up source maps (https://github.com/getsentry/sentry-javascript/issues/13993 and https://github.com/getsentry/sentry-javascript/pull/15859)\n 1. User explicitly disabled source maps\n - keep this setting (emit a warning that errors won't be unminified in Sentry)\n - We will not upload anything\n 2. users enabled source map generation (true, hidden, inline).\n - keep this setting (don't do anything - like deletion - besides uploading)\n 3. users did not set source maps generation\n - we enable 'hidden' source maps generation\n - configure `filesToDeleteAfterUpload` to delete all .map files (we emit a log about this)\n\n Users only have to explicitly enable client source maps. Sentry only overwrites the base Nuxt source map settings as they propagate.\n */\n\n/** only exported for tests */\nexport function extractNuxtSourceMapSetting(\n nuxt: { options: { sourcemap?: SourceMapSetting | { server?: SourceMapSetting; client?: SourceMapSetting } } },\n runtime: 'client' | 'server' | undefined,\n): SourceMapSetting | undefined {\n if (!runtime) {\n return undefined;\n } else {\n return typeof nuxt.options?.sourcemap === 'boolean' || typeof nuxt.options?.sourcemap === 'string'\n ? nuxt.options.sourcemap\n : nuxt.options?.sourcemap?.[runtime];\n }\n}\n\n/** only exported for testing */\nexport function changeNuxtSourceMapSettings(\n nuxt: Nuxt,\n sentryModuleOptions: SentryNuxtModuleOptions,\n): { client: UserSourceMapSetting; server: UserSourceMapSetting } {\n nuxt.options.sourcemap = nuxt.options.sourcemap ?? { server: undefined, client: undefined };\n\n let previousUserSourceMapSetting: { client: UserSourceMapSetting; server: UserSourceMapSetting } = {\n client: undefined,\n server: undefined,\n };\n\n const nuxtSourceMap = nuxt.options.sourcemap;\n const isDebug = sentryModuleOptions.debug;\n\n if (typeof nuxtSourceMap === 'string' || typeof nuxtSourceMap === 'boolean' || typeof nuxtSourceMap === 'undefined') {\n switch (nuxtSourceMap) {\n case false:\n warnExplicitlyDisabledSourceMap('sourcemap', isDebug);\n previousUserSourceMapSetting = { client: 'disabled', server: 'disabled' };\n break;\n\n case 'hidden':\n case true:\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap', (nuxtSourceMap as true).toString());\n previousUserSourceMapSetting = { client: 'enabled', server: 'enabled' };\n break;\n case undefined:\n nuxt.options.sourcemap = { server: 'hidden', client: 'hidden' };\n isDebug && logSentryEnablesSourceMap('sourcemap.client', 'hidden');\n isDebug && logSentryEnablesSourceMap('sourcemap.server', 'hidden');\n previousUserSourceMapSetting = { client: 'unset', server: 'unset' };\n break;\n }\n } else {\n if (nuxtSourceMap.client === false) {\n warnExplicitlyDisabledSourceMap('sourcemap.client', isDebug);\n previousUserSourceMapSetting.client = 'disabled';\n } else if (['hidden', true].includes(nuxtSourceMap.client)) {\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap.client', nuxtSourceMap.client.toString());\n previousUserSourceMapSetting.client = 'enabled';\n } else {\n nuxt.options.sourcemap.client = 'hidden';\n isDebug && logSentryEnablesSourceMap('sourcemap.client', 'hidden');\n previousUserSourceMapSetting.client = 'unset';\n }\n\n if (nuxtSourceMap.server === false) {\n warnExplicitlyDisabledSourceMap('sourcemap.server', isDebug);\n previousUserSourceMapSetting.server = 'disabled';\n } else if (['hidden', true].includes(nuxtSourceMap.server)) {\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap.server', nuxtSourceMap.server.toString());\n previousUserSourceMapSetting.server = 'enabled';\n } else {\n nuxt.options.sourcemap.server = 'hidden';\n isDebug && logSentryEnablesSourceMap('sourcemap.server', 'hidden');\n previousUserSourceMapSetting.server = 'unset';\n }\n }\n\n return previousUserSourceMapSetting;\n}\n\n/** Logs warnings about potentially conflicting source map settings.\n * Configures `sourcemapExcludeSources` in Nitro to make source maps usable in Sentry.\n *\n * only exported for testing\n */\nexport function validateNitroSourceMapSettings(\n nuxt: { options: { sourcemap?: SourceMapSetting | { server?: SourceMapSetting } } },\n nitroConfig: NitroConfig,\n sentryModuleOptions: SentryNuxtModuleOptions,\n): void {\n const isDebug = sentryModuleOptions.debug;\n const nuxtSourceMap = extractNuxtSourceMapSetting(nuxt, 'server');\n\n // NITRO CONFIG ---\n\n validateDifferentSourceMapSettings({\n nuxtSettingKey: 'sourcemap.server',\n nuxtSettingValue: nuxtSourceMap,\n otherSettingKey: 'nitro.sourceMap',\n otherSettingValue: nitroConfig.sourceMap,\n });\n\n // ROLLUP CONFIG ---\n\n nitroConfig.rollupConfig = nitroConfig.rollupConfig || {};\n nitroConfig.rollupConfig.output = nitroConfig.rollupConfig.output || { sourcemap: undefined };\n const nitroRollupSourceMap = nitroConfig.rollupConfig.output.sourcemap;\n\n // We don't override nitro.rollupConfig.output.sourcemap (undefined by default, but overrides all other server-side source map settings)\n if (typeof nitroRollupSourceMap !== 'undefined' && ['hidden', 'inline', true, false].includes(nitroRollupSourceMap)) {\n const settingKey = 'nitro.rollupConfig.output.sourcemap';\n\n validateDifferentSourceMapSettings({\n nuxtSettingKey: 'sourcemap.server',\n nuxtSettingValue: nuxtSourceMap,\n otherSettingKey: settingKey,\n otherSettingValue: nitroRollupSourceMap,\n });\n }\n\n nitroConfig.rollupConfig.output.sourcemapExcludeSources = false;\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.log(\n '[Sentry] Set `sourcemapExcludeSources: false` in the Nuxt config (`nitro.rollupConfig.output`). Source maps will now include the actual code to be able to un-minify code snippets in Sentry.',\n );\n }\n}\n\n/**\n * Validates that source map settings are consistent between Nuxt and Vite/Nitro configurations.\n * Logs a warning if conflicting settings are detected.\n *\n * @internal Only exported for testing.\n */\nexport function validateDifferentSourceMapSettings({\n nuxtSettingKey,\n nuxtSettingValue,\n otherSettingKey,\n otherSettingValue,\n}: {\n nuxtSettingKey: string;\n nuxtSettingValue?: SourceMapSetting;\n otherSettingKey: string;\n otherSettingValue?: SourceMapSetting;\n}): void {\n if (nuxtSettingValue !== otherSettingValue) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Source map generation settings are conflicting. Sentry uses \\`${nuxtSettingKey}: ${nuxtSettingValue}\\`. However, a conflicting setting was discovered (\\`${otherSettingKey}: ${otherSettingValue}\\`). This setting was probably explicitly set in your configuration. Sentry won't override this setting but it may affect source maps generation and upload. Without source maps, code snippets on the Sentry Issues page will remain minified.`,\n );\n }\n}\n\nfunction logKeepEnabledSourceMapSetting(\n sentryNuxtModuleOptions: SentryNuxtModuleOptions,\n settingKey: string,\n settingValue: string,\n): void {\n if (sentryNuxtModuleOptions.debug) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] \\`${settingKey}\\` is enabled with \\`${settingValue}\\`. This will correctly un-minify the code snippet on the Sentry Issue Details page.`,\n );\n }\n}\n\nfunction warnExplicitlyDisabledSourceMap(settingKey: string, isDebug: boolean | undefined): void {\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Source map generation is currently disabled in your Vite configuration (\\`${settingKey}: false \\`). This setting is either a default setting or was explicitly set in your configuration. Sentry won't override this setting. Without source maps, code snippets on the Sentry Issues page will remain minified. To show unminified code, enable source maps in \\`${settingKey}\\` (e.g. by setting them to \\`hidden\\`).`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.warn(`[Sentry] Source map generation (\\`${settingKey}\\`) is disabled in your Vite configuration.`);\n }\n}\n\nfunction logSentryEnablesSourceMap(settingKey: string, settingValue: string): void {\n // eslint-disable-next-line no-console\n console.log(`[Sentry] Enabled source map generation in the build options with \\`${settingKey}: ${settingValue}\\`.`);\n}\n"],"names":["validateSourceMapsOptionsPlugin","sentryVitePlugin","sentryRollupPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"sourceMaps.js","sources":["../../../src/vite/sourceMaps.ts"],"sourcesContent":["import type { Nuxt } from '@nuxt/schema';\nimport { sentryRollupPlugin, type SentryRollupPluginOptions } from '@sentry/rollup-plugin';\nimport { sentryVitePlugin, type SentryVitePluginOptions } from '@sentry/vite-plugin';\nimport type { NitroConfig } from 'nitropack';\nimport type { Plugin } from 'vite';\nimport type { SentryNuxtModuleOptions } from '../common/types';\nimport { validateSourceMapsOptionsPlugin } from './sentryVitePlugin';\n\n/**\n * Whether the user enabled (true, 'hidden', 'inline') or disabled (false) source maps\n */\nexport type UserSourceMapSetting = 'enabled' | 'disabled' | 'unset' | undefined;\n\n/** A valid source map setting */\nexport type SourceMapSetting = boolean | 'hidden' | 'inline';\n\n/**\n * Setup source maps for Sentry inside the Nuxt module during build time (in Vite for Nuxt and Rollup for Nitro).\n */\nexport function setupSourceMaps(\n moduleOptions: SentryNuxtModuleOptions,\n nuxt: Nuxt,\n addVitePlugin: (plugin: Plugin[], options?: { dev?: boolean; build?: boolean }) => void,\n): void {\n // TODO(v11): remove deprecated options (also from SentryNuxtModuleOptions type)\n\n const isDebug = moduleOptions.debug;\n\n // eslint-disable-next-line typescript/no-deprecated\n const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};\n\n const sourceMapsEnabled =\n moduleOptions.sourcemaps?.disable === true\n ? false\n : moduleOptions.sourcemaps?.disable === false\n ? true\n : // eslint-disable-next-line typescript/no-deprecated\n (sourceMapsUploadOptions.enabled ?? true);\n\n // In case we overwrite the source map settings, we default to deleting the files\n const shouldDeleteFilesFallback = { client: true, server: true };\n\n nuxt.hook('modules:done', () => {\n if (sourceMapsEnabled && !nuxt.options.dev && !nuxt.options?._prepare) {\n // Changing this setting will propagate:\n // - for client to viteConfig.build.sourceMap\n // - for server to viteConfig.build.sourceMap and nitro.sourceMap\n // On server, nitro.rollupConfig.output.sourcemap remains unaffected from this change.\n\n // ONLY THIS nuxt.sourcemap.(server/client) setting is the one Sentry will overwrite with 'hidden', if needed.\n const previousSourceMapSettings = changeNuxtSourceMapSettings(nuxt, moduleOptions);\n\n // Mutate in place so the Vite plugin (which captured this object at registration time) sees the updated values\n shouldDeleteFilesFallback.client = previousSourceMapSettings.client === 'unset';\n shouldDeleteFilesFallback.server = previousSourceMapSettings.server === 'unset';\n\n if (isDebug && (shouldDeleteFilesFallback.client || shouldDeleteFilesFallback.server)) {\n const enabledDeleteFallbacks =\n shouldDeleteFilesFallback.client && shouldDeleteFilesFallback.server\n ? 'client-side and server-side'\n : shouldDeleteFilesFallback.server\n ? 'server-side'\n : 'client-side';\n\n if (\n !moduleOptions.sourcemaps?.filesToDeleteAfterUpload &&\n // eslint-disable-next-line typescript/no-deprecated\n !sourceMapsUploadOptions.sourcemaps?.filesToDeleteAfterUpload\n ) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] We enabled \\`'hidden'\\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be automatically deleted after uploading them to Sentry.`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] We enabled \\`'hidden'\\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be deleted according to your \\`sourcemaps.filesToDeleteAfterUpload\\` configuration. To use automatic deletion instead, leave \\`filesToDeleteAfterUpload\\` empty.`,\n );\n }\n }\n }\n });\n\n if (sourceMapsEnabled && !nuxt.options.dev && !nuxt.options?._prepare) {\n addVitePlugin(\n [\n validateSourceMapsOptionsPlugin({ nuxt, moduleOptions, sourceMapsEnabled }),\n // Vite plugin is added on the client and server side (plugin runs for both builds)\n ...sentryVitePlugin(getPluginOptions(moduleOptions, shouldDeleteFilesFallback)),\n ],\n { dev: false, build: true }, // Only add source map plugin during build\n );\n }\n\n nuxt.hook('nitro:config', (nitroConfig: NitroConfig) => {\n if (sourceMapsEnabled && !nitroConfig.dev && !nuxt.options?._prepare) {\n if (!nitroConfig.rollupConfig) {\n nitroConfig.rollupConfig = {};\n }\n\n if (nitroConfig.rollupConfig.plugins === null || nitroConfig.rollupConfig.plugins === undefined) {\n nitroConfig.rollupConfig.plugins = [];\n } else if (!Array.isArray(nitroConfig.rollupConfig.plugins)) {\n // `rollupConfig.plugins` can be a single plugin, so we want to put it into an array so that we can push our own plugin\n nitroConfig.rollupConfig.plugins = [nitroConfig.rollupConfig.plugins];\n }\n\n validateNitroSourceMapSettings(nuxt, nitroConfig, moduleOptions);\n\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.log('[Sentry] Adding Sentry Rollup plugin to the server runtime.');\n }\n\n // Add Sentry plugin\n // Runs only on server-side (Nitro)\n nitroConfig.rollupConfig.plugins.push(\n sentryRollupPlugin(getPluginOptions(moduleOptions, shouldDeleteFilesFallback)),\n );\n }\n });\n}\n\n/**\n * Normalizes the beginning of a path from e.g. ../../../ to ./\n */\nfunction normalizePath(path: string): string {\n return path.replace(/^(\\.\\.\\/)+/, './');\n}\n\n/**\n * Generates source maps upload options for the Sentry Vite and Rollup plugin.\n *\n * Only exported for Testing purposes.\n */\n// todo(v11): This \"eslint-disable\" can be removed again once we remove deprecated options.\n// eslint-disable-next-line complexity\nexport function getPluginOptions(\n moduleOptions: SentryNuxtModuleOptions,\n shouldDeleteFilesFallback?: { client: boolean; server: boolean },\n): SentryVitePluginOptions | SentryRollupPluginOptions {\n // eslint-disable-next-line typescript/no-deprecated\n const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};\n\n const shouldDeleteFilesAfterUpload = shouldDeleteFilesFallback?.client || shouldDeleteFilesFallback?.server;\n const fallbackFilesToDelete = [\n ...(shouldDeleteFilesFallback?.client ? ['.*/**/public/**/*.map'] : []),\n ...(shouldDeleteFilesFallback?.server\n ? ['.*/**/server/**/*.map', '.*/**/output/**/*.map', '.*/**/function/**/*.map']\n : []),\n ];\n\n // Check for filesToDeleteAfterUpload in new location first, then deprecated location\n const sourcemapsOptions = moduleOptions.sourcemaps || {};\n // eslint-disable-next-line typescript/no-deprecated\n const deprecatedSourcemapsOptions = sourceMapsUploadOptions.sourcemaps || {};\n\n const filesToDeleteAfterUpload =\n sourcemapsOptions.filesToDeleteAfterUpload ??\n // eslint-disable-next-line typescript/no-deprecated\n deprecatedSourcemapsOptions.filesToDeleteAfterUpload;\n\n if (typeof filesToDeleteAfterUpload === 'undefined' && shouldDeleteFilesAfterUpload && moduleOptions.debug) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] Setting \\`sentry.sourceMapsUploadOptions.sourcemaps.filesToDeleteAfterUpload: [${fallbackFilesToDelete\n // Logging it as strings in the array\n .map(path => `\"${path}\"`)\n .join(', ')}]\\` to delete generated source maps after they were uploaded to Sentry.`,\n );\n }\n\n return {\n applicationKey: moduleOptions.applicationKey,\n // eslint-disable-next-line typescript/no-deprecated\n org: moduleOptions.org ?? sourceMapsUploadOptions.org ?? process.env.SENTRY_ORG,\n // eslint-disable-next-line typescript/no-deprecated\n project: moduleOptions.project ?? sourceMapsUploadOptions.project ?? process.env.SENTRY_PROJECT,\n // eslint-disable-next-line typescript/no-deprecated\n authToken: moduleOptions.authToken ?? sourceMapsUploadOptions.authToken ?? process.env.SENTRY_AUTH_TOKEN,\n // eslint-disable-next-line typescript/no-deprecated\n telemetry: moduleOptions.telemetry ?? sourceMapsUploadOptions.telemetry ?? true,\n // eslint-disable-next-line typescript/no-deprecated\n url: moduleOptions.sentryUrl ?? sourceMapsUploadOptions.url ?? process.env.SENTRY_URL,\n headers: moduleOptions.headers,\n debug: moduleOptions.debug ?? false,\n // eslint-disable-next-line typescript/no-deprecated\n silent: moduleOptions.silent ?? sourceMapsUploadOptions.silent ?? false,\n // eslint-disable-next-line typescript/no-deprecated\n errorHandler: moduleOptions.errorHandler ?? sourceMapsUploadOptions.errorHandler,\n bundleSizeOptimizations: moduleOptions.bundleSizeOptimizations, // todo: test if this can be overridden by the user\n release: {\n // eslint-disable-next-line typescript/no-deprecated\n name: moduleOptions.release?.name ?? sourceMapsUploadOptions.release?.name,\n // Support all release options from BuildTimeOptionsBase\n ...moduleOptions.release,\n ...moduleOptions?.unstable_sentryBundlerPluginOptions?.release,\n },\n _metaOptions: {\n telemetry: {\n metaFramework: 'nuxt',\n },\n },\n ...moduleOptions?.unstable_sentryBundlerPluginOptions,\n\n sourcemaps: {\n disable: moduleOptions.sourcemaps?.disable,\n // The server/client files are in different places depending on the nitro preset (e.g. '.output/server' or '.netlify/functions-internal/server')\n // We cannot determine automatically how the build folder looks like (depends on the preset), so we have to accept that source maps are uploaded multiple times (with the vitePlugin for Nuxt and the rollupPlugin for Nitro).\n // If we could know where the server/client assets are located, we could do something like this (based on the Nitro preset): isNitro ? ['./.output/server/**/*'] : ['./.output/public/**/*'],\n // eslint-disable-next-line typescript/no-deprecated\n assets: sourcemapsOptions.assets ?? deprecatedSourcemapsOptions.assets ?? undefined,\n // eslint-disable-next-line typescript/no-deprecated\n ignore: sourcemapsOptions.ignore ?? deprecatedSourcemapsOptions.ignore ?? undefined,\n filesToDeleteAfterUpload: filesToDeleteAfterUpload\n ? filesToDeleteAfterUpload\n : shouldDeleteFilesFallback?.server || shouldDeleteFilesFallback?.client\n ? fallbackFilesToDelete\n : undefined,\n rewriteSources: sourcemapsOptions.rewriteSources ?? normalizePath,\n ...moduleOptions?.unstable_sentryBundlerPluginOptions?.sourcemaps,\n },\n };\n}\n\n/* There are multiple ways to set up source maps (https://github.com/getsentry/sentry-javascript/issues/13993 and https://github.com/getsentry/sentry-javascript/pull/15859)\n 1. User explicitly disabled source maps\n - keep this setting (emit a warning that errors won't be unminified in Sentry)\n - We will not upload anything\n 2. users enabled source map generation (true, hidden, inline).\n - keep this setting (don't do anything - like deletion - besides uploading)\n 3. users did not set source maps generation\n - we enable 'hidden' source maps generation\n - configure `filesToDeleteAfterUpload` to delete all .map files (we emit a log about this)\n\n Users only have to explicitly enable client source maps. Sentry only overwrites the base Nuxt source map settings as they propagate.\n */\n\n/** only exported for tests */\nexport function extractNuxtSourceMapSetting(\n nuxt: { options: { sourcemap?: SourceMapSetting | { server?: SourceMapSetting; client?: SourceMapSetting } } },\n runtime: 'client' | 'server' | undefined,\n): SourceMapSetting | undefined {\n if (!runtime) {\n return undefined;\n } else {\n return typeof nuxt.options?.sourcemap === 'boolean' || typeof nuxt.options?.sourcemap === 'string'\n ? nuxt.options.sourcemap\n : nuxt.options?.sourcemap?.[runtime];\n }\n}\n\n/** only exported for testing */\nexport function changeNuxtSourceMapSettings(\n nuxt: Nuxt,\n sentryModuleOptions: SentryNuxtModuleOptions,\n): { client: UserSourceMapSetting; server: UserSourceMapSetting } {\n nuxt.options.sourcemap = nuxt.options.sourcemap ?? { server: undefined, client: undefined };\n\n let previousUserSourceMapSetting: { client: UserSourceMapSetting; server: UserSourceMapSetting } = {\n client: undefined,\n server: undefined,\n };\n\n const nuxtSourceMap = nuxt.options.sourcemap;\n const isDebug = sentryModuleOptions.debug;\n\n if (typeof nuxtSourceMap === 'string' || typeof nuxtSourceMap === 'boolean' || typeof nuxtSourceMap === 'undefined') {\n switch (nuxtSourceMap) {\n case false:\n warnExplicitlyDisabledSourceMap('sourcemap', isDebug);\n previousUserSourceMapSetting = { client: 'disabled', server: 'disabled' };\n break;\n\n case 'hidden':\n case true:\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap', (nuxtSourceMap as true).toString());\n previousUserSourceMapSetting = { client: 'enabled', server: 'enabled' };\n break;\n case undefined:\n nuxt.options.sourcemap = { server: 'hidden', client: 'hidden' };\n isDebug && logSentryEnablesSourceMap('sourcemap.client', 'hidden');\n isDebug && logSentryEnablesSourceMap('sourcemap.server', 'hidden');\n previousUserSourceMapSetting = { client: 'unset', server: 'unset' };\n break;\n }\n } else {\n if (nuxtSourceMap.client === false) {\n warnExplicitlyDisabledSourceMap('sourcemap.client', isDebug);\n previousUserSourceMapSetting.client = 'disabled';\n } else if (['hidden', true].includes(nuxtSourceMap.client)) {\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap.client', nuxtSourceMap.client.toString());\n previousUserSourceMapSetting.client = 'enabled';\n } else {\n nuxt.options.sourcemap.client = 'hidden';\n isDebug && logSentryEnablesSourceMap('sourcemap.client', 'hidden');\n previousUserSourceMapSetting.client = 'unset';\n }\n\n if (nuxtSourceMap.server === false) {\n warnExplicitlyDisabledSourceMap('sourcemap.server', isDebug);\n previousUserSourceMapSetting.server = 'disabled';\n } else if (['hidden', true].includes(nuxtSourceMap.server)) {\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap.server', nuxtSourceMap.server.toString());\n previousUserSourceMapSetting.server = 'enabled';\n } else {\n nuxt.options.sourcemap.server = 'hidden';\n isDebug && logSentryEnablesSourceMap('sourcemap.server', 'hidden');\n previousUserSourceMapSetting.server = 'unset';\n }\n }\n\n return previousUserSourceMapSetting;\n}\n\n/** Logs warnings about potentially conflicting source map settings.\n * Configures `sourcemapExcludeSources` in Nitro to make source maps usable in Sentry.\n *\n * only exported for testing\n */\nexport function validateNitroSourceMapSettings(\n nuxt: { options: { sourcemap?: SourceMapSetting | { server?: SourceMapSetting } } },\n nitroConfig: NitroConfig,\n sentryModuleOptions: SentryNuxtModuleOptions,\n): void {\n const isDebug = sentryModuleOptions.debug;\n const nuxtSourceMap = extractNuxtSourceMapSetting(nuxt, 'server');\n\n // NITRO CONFIG ---\n\n validateDifferentSourceMapSettings({\n nuxtSettingKey: 'sourcemap.server',\n nuxtSettingValue: nuxtSourceMap,\n otherSettingKey: 'nitro.sourceMap',\n otherSettingValue: nitroConfig.sourceMap,\n });\n\n // ROLLUP CONFIG ---\n\n nitroConfig.rollupConfig = nitroConfig.rollupConfig || {};\n nitroConfig.rollupConfig.output = nitroConfig.rollupConfig.output || { sourcemap: undefined };\n const nitroRollupSourceMap = nitroConfig.rollupConfig.output.sourcemap;\n\n // We don't override nitro.rollupConfig.output.sourcemap (undefined by default, but overrides all other server-side source map settings)\n if (typeof nitroRollupSourceMap !== 'undefined' && ['hidden', 'inline', true, false].includes(nitroRollupSourceMap)) {\n const settingKey = 'nitro.rollupConfig.output.sourcemap';\n\n validateDifferentSourceMapSettings({\n nuxtSettingKey: 'sourcemap.server',\n nuxtSettingValue: nuxtSourceMap,\n otherSettingKey: settingKey,\n otherSettingValue: nitroRollupSourceMap,\n });\n }\n\n nitroConfig.rollupConfig.output.sourcemapExcludeSources = false;\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.log(\n '[Sentry] Set `sourcemapExcludeSources: false` in the Nuxt config (`nitro.rollupConfig.output`). Source maps will now include the actual code to be able to un-minify code snippets in Sentry.',\n );\n }\n}\n\n/**\n * Validates that source map settings are consistent between Nuxt and Vite/Nitro configurations.\n * Logs a warning if conflicting settings are detected.\n *\n * @internal Only exported for testing.\n */\nexport function validateDifferentSourceMapSettings({\n nuxtSettingKey,\n nuxtSettingValue,\n otherSettingKey,\n otherSettingValue,\n}: {\n nuxtSettingKey: string;\n nuxtSettingValue?: SourceMapSetting;\n otherSettingKey: string;\n otherSettingValue?: SourceMapSetting;\n}): void {\n if (nuxtSettingValue !== otherSettingValue) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Source map generation settings are conflicting. Sentry uses \\`${nuxtSettingKey}: ${nuxtSettingValue}\\`. However, a conflicting setting was discovered (\\`${otherSettingKey}: ${otherSettingValue}\\`). This setting was probably explicitly set in your configuration. Sentry won't override this setting but it may affect source maps generation and upload. Without source maps, code snippets on the Sentry Issues page will remain minified.`,\n );\n }\n}\n\nfunction logKeepEnabledSourceMapSetting(\n sentryNuxtModuleOptions: SentryNuxtModuleOptions,\n settingKey: string,\n settingValue: string,\n): void {\n if (sentryNuxtModuleOptions.debug) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] \\`${settingKey}\\` is enabled with \\`${settingValue}\\`. This will correctly un-minify the code snippet on the Sentry Issue Details page.`,\n );\n }\n}\n\nfunction warnExplicitlyDisabledSourceMap(settingKey: string, isDebug: boolean | undefined): void {\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Source map generation is currently disabled in your Vite configuration (\\`${settingKey}: false \\`). This setting is either a default setting or was explicitly set in your configuration. Sentry won't override this setting. Without source maps, code snippets on the Sentry Issues page will remain minified. To show unminified code, enable source maps in \\`${settingKey}\\` (e.g. by setting them to \\`hidden\\`).`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.warn(`[Sentry] Source map generation (\\`${settingKey}\\`) is disabled in your Vite configuration.`);\n }\n}\n\nfunction logSentryEnablesSourceMap(settingKey: string, settingValue: string): void {\n // eslint-disable-next-line no-console\n console.log(`[Sentry] Enabled source map generation in the build options with \\`${settingKey}: ${settingValue}\\`.`);\n}\n"],"names":["validateSourceMapsOptionsPlugin","sentryVitePlugin","sentryRollupPlugin"],"mappings":";;;;;;AAmBO,SAAS,eAAA,CACd,aAAA,EACA,IAAA,EACA,aAAA,EACM;AAGN,EAAA,MAAM,UAAU,aAAA,CAAc,KAAA;AAG9B,EAAA,MAAM,uBAAA,GAA0B,aAAA,CAAc,uBAAA,IAA2B,EAAC;AAE1E,EAAA,MAAM,iBAAA,GACJ,cAAc,UAAA,EAAY,OAAA,KAAY,OAClC,KAAA,GACA,aAAA,CAAc,UAAA,EAAY,OAAA,KAAY,KAAA,GACpC,IAAA;AAAA;AAAA,IAEC,wBAAwB,OAAA,IAAW;AAAA,GAAA;AAG5C,EAAA,MAAM,yBAAA,GAA4B,EAAE,MAAA,EAAQ,IAAA,EAAM,QAAQ,IAAA,EAAK;AAE/D,EAAA,IAAA,CAAK,IAAA,CAAK,gBAAgB,MAAM;AAC9B,IAAA,IAAI,iBAAA,IAAqB,CAAC,IAAA,CAAK,OAAA,CAAQ,OAAO,CAAC,IAAA,CAAK,SAAS,QAAA,EAAU;AAOrE,MAAA,MAAM,yBAAA,GAA4B,2BAAA,CAA4B,IAAA,EAAM,aAAa,CAAA;AAGjF,MAAA,yBAAA,CAA0B,MAAA,GAAS,0BAA0B,MAAA,KAAW,OAAA;AACxE,MAAA,yBAAA,CAA0B,MAAA,GAAS,0BAA0B,MAAA,KAAW,OAAA;AAExE,MAAA,IAAI,OAAA,KAAY,yBAAA,CAA0B,MAAA,IAAU,yBAAA,CAA0B,MAAA,CAAA,EAAS;AACrF,QAAA,MAAM,sBAAA,GACJ,0BAA0B,MAAA,IAAU,yBAAA,CAA0B,SAC1D,6BAAA,GACA,yBAAA,CAA0B,SACxB,aAAA,GACA,aAAA;AAER,QAAA,IACE,CAAC,cAAc,UAAA,EAAY,wBAAA;AAAA,QAE3B,CAAC,uBAAA,CAAwB,UAAA,EAAY,wBAAA,EACrC;AAEA,UAAA,OAAA,CAAQ,GAAA;AAAA,YACN,yDAAyD,sBAAsB,CAAA,sFAAA;AAAA,WACjF;AAAA,QACF,CAAA,MAAO;AAEL,UAAA,OAAA,CAAQ,GAAA;AAAA,YACN,yDAAyD,sBAAsB,CAAA,8LAAA;AAAA,WACjF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AAED,EAAA,IAAI,iBAAA,IAAqB,CAAC,IAAA,CAAK,OAAA,CAAQ,OAAO,CAAC,IAAA,CAAK,SAAS,QAAA,EAAU;AACrE,IAAA,aAAA;AAAA,MACE;AAAA,QACEA,gDAAA,CAAgC,EAAE,IAAA,EAAM,aAAA,EAAe,mBAAmB,CAAA;AAAA;AAAA,QAE1E,GAAGC,2BAAA,CAAiB,gBAAA,CAAiB,aAAA,EAAe,yBAAyB,CAAC;AAAA,OAChF;AAAA,MACA,EAAE,GAAA,EAAK,KAAA,EAAO,KAAA,EAAO,IAAA;AAAK;AAAA,KAC5B;AAAA,EACF;AAEA,EAAA,IAAA,CAAK,IAAA,CAAK,cAAA,EAAgB,CAAC,WAAA,KAA6B;AACtD,IAAA,IAAI,qBAAqB,CAAC,WAAA,CAAY,OAAO,CAAC,IAAA,CAAK,SAAS,QAAA,EAAU;AACpE,MAAA,IAAI,CAAC,YAAY,YAAA,EAAc;AAC7B,QAAA,WAAA,CAAY,eAAe,EAAC;AAAA,MAC9B;AAEA,MAAA,IAAI,YAAY,YAAA,CAAa,OAAA,KAAY,QAAQ,WAAA,CAAY,YAAA,CAAa,YAAY,MAAA,EAAW;AAC/F,QAAA,WAAA,CAAY,YAAA,CAAa,UAAU,EAAC;AAAA,MACtC,WAAW,CAAC,KAAA,CAAM,QAAQ,WAAA,CAAY,YAAA,CAAa,OAAO,CAAA,EAAG;AAE3D,QAAA,WAAA,CAAY,YAAA,CAAa,OAAA,GAAU,CAAC,WAAA,CAAY,aAAa,OAAO,CAAA;AAAA,MACtE;AAEA,MAAA,8BAAA,CAA+B,IAAA,EAAM,aAAa,aAAa,CAAA;AAE/D,MAAA,IAAI,OAAA,EAAS;AAEX,QAAA,OAAA,CAAQ,IAAI,6DAA6D,CAAA;AAAA,MAC3E;AAIA,MAAA,WAAA,CAAY,aAAa,OAAA,CAAQ,IAAA;AAAA,QAC/BC,+BAAA,CAAmB,gBAAA,CAAiB,aAAA,EAAe,yBAAyB,CAAC;AAAA,OAC/E;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AACH;AAKA,SAAS,cAAc,IAAA,EAAsB;AAC3C,EAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,YAAA,EAAc,IAAI,CAAA;AACxC;AASO,SAAS,gBAAA,CACd,eACA,yBAAA,EACqD;AAErD,EAAA,MAAM,uBAAA,GAA0B,aAAA,CAAc,uBAAA,IAA2B,EAAC;AAE1E,EAAA,MAAM,4BAAA,GAA+B,yBAAA,EAA2B,MAAA,IAAU,yBAAA,EAA2B,MAAA;AACrG,EAAA,MAAM,qBAAA,GAAwB;AAAA,IAC5B,GAAI,yBAAA,EAA2B,MAAA,GAAS,CAAC,uBAAuB,IAAI,EAAC;AAAA,IACrE,GAAI,2BAA2B,MAAA,GAC3B,CAAC,yBAAyB,uBAAA,EAAyB,yBAAyB,IAC5E;AAAC,GACP;AAGA,EAAA,MAAM,iBAAA,GAAoB,aAAA,CAAc,UAAA,IAAc,EAAC;AAEvD,EAAA,MAAM,2BAAA,GAA8B,uBAAA,CAAwB,UAAA,IAAc,EAAC;AAE3E,EAAA,MAAM,2BACJ,iBAAA,CAAkB,wBAAA;AAAA,EAElB,2BAAA,CAA4B,wBAAA;AAE9B,EAAA,IAAI,OAAO,wBAAA,KAA6B,WAAA,IAAe,4BAAA,IAAgC,cAAc,KAAA,EAAO;AAE1G,IAAA,OAAA,CAAQ,GAAA;AAAA,MACN,CAAA,wFAAA,EAA2F,qBAAA,CAExF,GAAA,CAAI,CAAA,IAAA,KAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,CAAG,CAAA,CACvB,IAAA,CAAK,IAAI,CAAC,CAAA,uEAAA;AAAA,KACf;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,gBAAgB,aAAA,CAAc,cAAA;AAAA;AAAA,IAE9B,KAAK,aAAA,CAAc,GAAA,IAAO,uBAAA,CAAwB,GAAA,IAAO,QAAQ,GAAA,CAAI,UAAA;AAAA;AAAA,IAErE,SAAS,aAAA,CAAc,OAAA,IAAW,uBAAA,CAAwB,OAAA,IAAW,QAAQ,GAAA,CAAI,cAAA;AAAA;AAAA,IAEjF,WAAW,aAAA,CAAc,SAAA,IAAa,uBAAA,CAAwB,SAAA,IAAa,QAAQ,GAAA,CAAI,iBAAA;AAAA;AAAA,IAEvF,SAAA,EAAW,aAAA,CAAc,SAAA,IAAa,uBAAA,CAAwB,SAAA,IAAa,IAAA;AAAA;AAAA,IAE3E,KAAK,aAAA,CAAc,SAAA,IAAa,uBAAA,CAAwB,GAAA,IAAO,QAAQ,GAAA,CAAI,UAAA;AAAA,IAC3E,SAAS,aAAA,CAAc,OAAA;AAAA,IACvB,KAAA,EAAO,cAAc,KAAA,IAAS,KAAA;AAAA;AAAA,IAE9B,MAAA,EAAQ,aAAA,CAAc,MAAA,IAAU,uBAAA,CAAwB,MAAA,IAAU,KAAA;AAAA;AAAA,IAElE,YAAA,EAAc,aAAA,CAAc,YAAA,IAAgB,uBAAA,CAAwB,YAAA;AAAA,IACpE,yBAAyB,aAAA,CAAc,uBAAA;AAAA;AAAA,IACvC,OAAA,EAAS;AAAA;AAAA,MAEP,IAAA,EAAM,aAAA,CAAc,OAAA,EAAS,IAAA,IAAQ,wBAAwB,OAAA,EAAS,IAAA;AAAA;AAAA,MAEtE,GAAG,aAAA,CAAc,OAAA;AAAA,MACjB,GAAG,eAAe,mCAAA,EAAqC;AAAA,KACzD;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,SAAA,EAAW;AAAA,QACT,aAAA,EAAe;AAAA;AACjB,KACF;AAAA,IACA,GAAG,aAAA,EAAe,mCAAA;AAAA,IAElB,UAAA,EAAY;AAAA,MACV,OAAA,EAAS,cAAc,UAAA,EAAY,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAKnC,MAAA,EAAQ,iBAAA,CAAkB,MAAA,IAAU,2BAAA,CAA4B,MAAA,IAAU,MAAA;AAAA;AAAA,MAE1E,MAAA,EAAQ,iBAAA,CAAkB,MAAA,IAAU,2BAAA,CAA4B,MAAA,IAAU,MAAA;AAAA,MAC1E,0BAA0B,wBAAA,GACtB,wBAAA,GACA,2BAA2B,MAAA,IAAU,yBAAA,EAA2B,SAC9D,qBAAA,GACA,MAAA;AAAA,MACN,cAAA,EAAgB,kBAAkB,cAAA,IAAkB,aAAA;AAAA,MACpD,GAAG,eAAe,mCAAA,EAAqC;AAAA;AACzD,GACF;AACF;AAgBO,SAAS,2BAAA,CACd,MACA,OAAA,EAC8B;AAC9B,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,OAAO,OAAO,IAAA,CAAK,OAAA,EAAS,SAAA,KAAc,SAAA,IAAa,OAAO,IAAA,CAAK,OAAA,EAAS,SAAA,KAAc,QAAA,GACtF,KAAK,OAAA,CAAQ,SAAA,GACb,IAAA,CAAK,OAAA,EAAS,YAAY,OAAO,CAAA;AAAA,EACvC;AACF;AAGO,SAAS,2BAAA,CACd,MACA,mBAAA,EACgE;AAChE,EAAA,IAAA,CAAK,OAAA,CAAQ,YAAY,IAAA,CAAK,OAAA,CAAQ,aAAa,EAAE,MAAA,EAAQ,MAAA,EAAW,MAAA,EAAQ,MAAA,EAAU;AAE1F,EAAA,IAAI,4BAAA,GAA+F;AAAA,IACjG,MAAA,EAAQ,MAAA;AAAA,IACR,MAAA,EAAQ;AAAA,GACV;AAEA,EAAA,MAAM,aAAA,GAAgB,KAAK,OAAA,CAAQ,SAAA;AACnC,EAAA,MAAM,UAAU,mBAAA,CAAoB,KAAA;AAEpC,EAAA,IAAI,OAAO,kBAAkB,QAAA,IAAY,OAAO,kBAAkB,SAAA,IAAa,OAAO,kBAAkB,WAAA,EAAa;AACnH,IAAA,QAAQ,aAAA;AAAe,MACrB,KAAK,KAAA;AACH,QAAA,+BAAA,CAAgC,aAAa,OAAO,CAAA;AACpD,QAAA,4BAAA,GAA+B,EAAE,MAAA,EAAQ,UAAA,EAAY,MAAA,EAAQ,UAAA,EAAW;AACxE,QAAA;AAAA,MAEF,KAAK,QAAA;AAAA,MACL,KAAK,IAAA;AACH,QAAA,8BAAA,CAA+B,mBAAA,EAAqB,WAAA,EAAc,aAAA,CAAuB,QAAA,EAAU,CAAA;AACnG,QAAA,4BAAA,GAA+B,EAAE,MAAA,EAAQ,SAAA,EAAW,MAAA,EAAQ,SAAA,EAAU;AACtE,QAAA;AAAA,MACF,KAAK,MAAA;AACH,QAAA,IAAA,CAAK,QAAQ,SAAA,GAAY,EAAE,MAAA,EAAQ,QAAA,EAAU,QAAQ,QAAA,EAAS;AAC9D,QAAA,OAAA,IAAW,yBAAA,CAA0B,oBAAoB,QAAQ,CAAA;AACjE,QAAA,OAAA,IAAW,yBAAA,CAA0B,oBAAoB,QAAQ,CAAA;AACjE,QAAA,4BAAA,GAA+B,EAAE,MAAA,EAAQ,OAAA,EAAS,MAAA,EAAQ,OAAA,EAAQ;AAClE,QAAA;AAAA;AACJ,EACF,CAAA,MAAO;AACL,IAAA,IAAI,aAAA,CAAc,WAAW,KAAA,EAAO;AAClC,MAAA,+BAAA,CAAgC,oBAAoB,OAAO,CAAA;AAC3D,MAAA,4BAAA,CAA6B,MAAA,GAAS,UAAA;AAAA,IACxC,CAAA,MAAA,IAAW,CAAC,QAAA,EAAU,IAAI,EAAE,QAAA,CAAS,aAAA,CAAc,MAAM,CAAA,EAAG;AAC1D,MAAA,8BAAA,CAA+B,mBAAA,EAAqB,kBAAA,EAAoB,aAAA,CAAc,MAAA,CAAO,UAAU,CAAA;AACvG,MAAA,4BAAA,CAA6B,MAAA,GAAS,SAAA;AAAA,IACxC,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,OAAA,CAAQ,UAAU,MAAA,GAAS,QAAA;AAChC,MAAA,OAAA,IAAW,yBAAA,CAA0B,oBAAoB,QAAQ,CAAA;AACjE,MAAA,4BAAA,CAA6B,MAAA,GAAS,OAAA;AAAA,IACxC;AAEA,IAAA,IAAI,aAAA,CAAc,WAAW,KAAA,EAAO;AAClC,MAAA,+BAAA,CAAgC,oBAAoB,OAAO,CAAA;AAC3D,MAAA,4BAAA,CAA6B,MAAA,GAAS,UAAA;AAAA,IACxC,CAAA,MAAA,IAAW,CAAC,QAAA,EAAU,IAAI,EAAE,QAAA,CAAS,aAAA,CAAc,MAAM,CAAA,EAAG;AAC1D,MAAA,8BAAA,CAA+B,mBAAA,EAAqB,kBAAA,EAAoB,aAAA,CAAc,MAAA,CAAO,UAAU,CAAA;AACvG,MAAA,4BAAA,CAA6B,MAAA,GAAS,SAAA;AAAA,IACxC,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,OAAA,CAAQ,UAAU,MAAA,GAAS,QAAA;AAChC,MAAA,OAAA,IAAW,yBAAA,CAA0B,oBAAoB,QAAQ,CAAA;AACjE,MAAA,4BAAA,CAA6B,MAAA,GAAS,OAAA;AAAA,IACxC;AAAA,EACF;AAEA,EAAA,OAAO,4BAAA;AACT;AAOO,SAAS,8BAAA,CACd,IAAA,EACA,WAAA,EACA,mBAAA,EACM;AACN,EAAA,MAAM,UAAU,mBAAA,CAAoB,KAAA;AACpC,EAAA,MAAM,aAAA,GAAgB,2BAAA,CAA4B,IAAA,EAAM,QAAQ,CAAA;AAIhE,EAAA,kCAAA,CAAmC;AAAA,IACjC,cAAA,EAAgB,kBAAA;AAAA,IAChB,gBAAA,EAAkB,aAAA;AAAA,IAClB,eAAA,EAAiB,iBAAA;AAAA,IACjB,mBAAmB,WAAA,CAAY;AAAA,GAChC,CAAA;AAID,EAAA,WAAA,CAAY,YAAA,GAAe,WAAA,CAAY,YAAA,IAAgB,EAAC;AACxD,EAAA,WAAA,CAAY,aAAa,MAAA,GAAS,WAAA,CAAY,aAAa,MAAA,IAAU,EAAE,WAAW,MAAA,EAAU;AAC5F,EAAA,MAAM,oBAAA,GAAuB,WAAA,CAAY,YAAA,CAAa,MAAA,CAAO,SAAA;AAG7D,EAAA,IAAI,OAAO,oBAAA,KAAyB,WAAA,IAAe,CAAC,QAAA,EAAU,QAAA,EAAU,IAAA,EAAM,KAAK,CAAA,CAAE,QAAA,CAAS,oBAAoB,CAAA,EAAG;AACnH,IAAA,MAAM,UAAA,GAAa,qCAAA;AAEnB,IAAA,kCAAA,CAAmC;AAAA,MACjC,cAAA,EAAgB,kBAAA;AAAA,MAChB,gBAAA,EAAkB,aAAA;AAAA,MAClB,eAAA,EAAiB,UAAA;AAAA,MACjB,iBAAA,EAAmB;AAAA,KACpB,CAAA;AAAA,EACH;AAEA,EAAA,WAAA,CAAY,YAAA,CAAa,OAAO,uBAAA,GAA0B,KAAA;AAC1D,EAAA,IAAI,OAAA,EAAS;AAEX,IAAA,OAAA,CAAQ,GAAA;AAAA,MACN;AAAA,KACF;AAAA,EACF;AACF;AAQO,SAAS,kCAAA,CAAmC;AAAA,EACjD,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA,EAKS;AACP,EAAA,IAAI,qBAAqB,iBAAA,EAAmB;AAE1C,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN,0EAA0E,cAAc,CAAA,EAAA,EAAK,gBAAgB,CAAA,qDAAA,EAAwD,eAAe,KAAK,iBAAiB,CAAA,+OAAA;AAAA,KAC5M;AAAA,EACF;AACF;AAEA,SAAS,8BAAA,CACP,uBAAA,EACA,UAAA,EACA,YAAA,EACM;AACN,EAAA,IAAI,wBAAwB,KAAA,EAAO;AAEjC,IAAA,OAAA,CAAQ,GAAA;AAAA,MACN,CAAA,WAAA,EAAc,UAAU,CAAA,qBAAA,EAAwB,YAAY,CAAA,oFAAA;AAAA,KAC9D;AAAA,EACF;AACF;AAEA,SAAS,+BAAA,CAAgC,YAAoB,OAAA,EAAoC;AAC/F,EAAA,IAAI,OAAA,EAAS;AAEX,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN,CAAA,mFAAA,EAAsF,UAAU,CAAA,2QAAA,EAA8Q,UAAU,CAAA,wCAAA;AAAA,KAC1X;AAAA,EACF,CAAA,MAAO;AAEL,IAAA,OAAA,CAAQ,IAAA,CAAK,CAAA,kCAAA,EAAqC,UAAU,CAAA,2CAAA,CAA6C,CAAA;AAAA,EAC3G;AACF;AAEA,SAAS,yBAAA,CAA0B,YAAoB,YAAA,EAA4B;AAEjF,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,mEAAA,EAAsE,UAAU,CAAA,EAAA,EAAK,YAAY,CAAA,GAAA,CAAK,CAAA;AACpH;;;;;;;;;"}
@@ -1 +1 @@
1
- {"type":"module","version":"10.58.0"}
1
+ {"type":"module","version":"10.60.0"}
@@ -6,7 +6,7 @@ function setupSourceMaps(moduleOptions, nuxt, addVitePlugin) {
6
6
  const isDebug = moduleOptions.debug;
7
7
  const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};
8
8
  const sourceMapsEnabled = moduleOptions.sourcemaps?.disable === true ? false : moduleOptions.sourcemaps?.disable === false ? true : (
9
- // eslint-disable-next-line deprecation/deprecation
9
+ // eslint-disable-next-line typescript/no-deprecated
10
10
  sourceMapsUploadOptions.enabled ?? true
11
11
  );
12
12
  const shouldDeleteFilesFallback = { client: true, server: true };
@@ -17,7 +17,7 @@ function setupSourceMaps(moduleOptions, nuxt, addVitePlugin) {
17
17
  shouldDeleteFilesFallback.server = previousSourceMapSettings.server === "unset";
18
18
  if (isDebug && (shouldDeleteFilesFallback.client || shouldDeleteFilesFallback.server)) {
19
19
  const enabledDeleteFallbacks = shouldDeleteFilesFallback.client && shouldDeleteFilesFallback.server ? "client-side and server-side" : shouldDeleteFilesFallback.server ? "server-side" : "client-side";
20
- if (!moduleOptions.sourcemaps?.filesToDeleteAfterUpload && // eslint-disable-next-line deprecation/deprecation
20
+ if (!moduleOptions.sourcemaps?.filesToDeleteAfterUpload && // eslint-disable-next-line typescript/no-deprecated
21
21
  !sourceMapsUploadOptions.sourcemaps?.filesToDeleteAfterUpload) {
22
22
  console.log(
23
23
  `[Sentry] We enabled \`'hidden'\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be automatically deleted after uploading them to Sentry.`
@@ -73,7 +73,7 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
73
73
  ];
74
74
  const sourcemapsOptions = moduleOptions.sourcemaps || {};
75
75
  const deprecatedSourcemapsOptions = sourceMapsUploadOptions.sourcemaps || {};
76
- const filesToDeleteAfterUpload = sourcemapsOptions.filesToDeleteAfterUpload ?? // eslint-disable-next-line deprecation/deprecation
76
+ const filesToDeleteAfterUpload = sourcemapsOptions.filesToDeleteAfterUpload ?? // eslint-disable-next-line typescript/no-deprecated
77
77
  deprecatedSourcemapsOptions.filesToDeleteAfterUpload;
78
78
  if (typeof filesToDeleteAfterUpload === "undefined" && shouldDeleteFilesAfterUpload && moduleOptions.debug) {
79
79
  console.log(
@@ -82,26 +82,26 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
82
82
  }
83
83
  return {
84
84
  applicationKey: moduleOptions.applicationKey,
85
- // eslint-disable-next-line deprecation/deprecation
85
+ // eslint-disable-next-line typescript/no-deprecated
86
86
  org: moduleOptions.org ?? sourceMapsUploadOptions.org ?? process.env.SENTRY_ORG,
87
- // eslint-disable-next-line deprecation/deprecation
87
+ // eslint-disable-next-line typescript/no-deprecated
88
88
  project: moduleOptions.project ?? sourceMapsUploadOptions.project ?? process.env.SENTRY_PROJECT,
89
- // eslint-disable-next-line deprecation/deprecation
89
+ // eslint-disable-next-line typescript/no-deprecated
90
90
  authToken: moduleOptions.authToken ?? sourceMapsUploadOptions.authToken ?? process.env.SENTRY_AUTH_TOKEN,
91
- // eslint-disable-next-line deprecation/deprecation
91
+ // eslint-disable-next-line typescript/no-deprecated
92
92
  telemetry: moduleOptions.telemetry ?? sourceMapsUploadOptions.telemetry ?? true,
93
- // eslint-disable-next-line deprecation/deprecation
93
+ // eslint-disable-next-line typescript/no-deprecated
94
94
  url: moduleOptions.sentryUrl ?? sourceMapsUploadOptions.url ?? process.env.SENTRY_URL,
95
95
  headers: moduleOptions.headers,
96
96
  debug: moduleOptions.debug ?? false,
97
- // eslint-disable-next-line deprecation/deprecation
97
+ // eslint-disable-next-line typescript/no-deprecated
98
98
  silent: moduleOptions.silent ?? sourceMapsUploadOptions.silent ?? false,
99
- // eslint-disable-next-line deprecation/deprecation
99
+ // eslint-disable-next-line typescript/no-deprecated
100
100
  errorHandler: moduleOptions.errorHandler ?? sourceMapsUploadOptions.errorHandler,
101
101
  bundleSizeOptimizations: moduleOptions.bundleSizeOptimizations,
102
102
  // todo: test if this can be overridden by the user
103
103
  release: {
104
- // eslint-disable-next-line deprecation/deprecation
104
+ // eslint-disable-next-line typescript/no-deprecated
105
105
  name: moduleOptions.release?.name ?? sourceMapsUploadOptions.release?.name,
106
106
  // Support all release options from BuildTimeOptionsBase
107
107
  ...moduleOptions.release,
@@ -118,9 +118,9 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
118
118
  // The server/client files are in different places depending on the nitro preset (e.g. '.output/server' or '.netlify/functions-internal/server')
119
119
  // We cannot determine automatically how the build folder looks like (depends on the preset), so we have to accept that source maps are uploaded multiple times (with the vitePlugin for Nuxt and the rollupPlugin for Nitro).
120
120
  // If we could know where the server/client assets are located, we could do something like this (based on the Nitro preset): isNitro ? ['./.output/server/**/*'] : ['./.output/public/**/*'],
121
- // eslint-disable-next-line deprecation/deprecation
121
+ // eslint-disable-next-line typescript/no-deprecated
122
122
  assets: sourcemapsOptions.assets ?? deprecatedSourcemapsOptions.assets ?? void 0,
123
- // eslint-disable-next-line deprecation/deprecation
123
+ // eslint-disable-next-line typescript/no-deprecated
124
124
  ignore: sourcemapsOptions.ignore ?? deprecatedSourcemapsOptions.ignore ?? void 0,
125
125
  filesToDeleteAfterUpload: filesToDeleteAfterUpload ? filesToDeleteAfterUpload : shouldDeleteFilesFallback?.server || shouldDeleteFilesFallback?.client ? fallbackFilesToDelete : void 0,
126
126
  rewriteSources: sourcemapsOptions.rewriteSources ?? normalizePath,
@@ -1 +1 @@
1
- {"version":3,"file":"sourceMaps.js","sources":["../../../src/vite/sourceMaps.ts"],"sourcesContent":["import type { Nuxt } from '@nuxt/schema';\nimport { sentryRollupPlugin, type SentryRollupPluginOptions } from '@sentry/rollup-plugin';\nimport { sentryVitePlugin, type SentryVitePluginOptions } from '@sentry/vite-plugin';\nimport type { NitroConfig } from 'nitropack';\nimport type { Plugin } from 'vite';\nimport type { SentryNuxtModuleOptions } from '../common/types';\nimport { validateSourceMapsOptionsPlugin } from './sentryVitePlugin';\n\n/**\n * Whether the user enabled (true, 'hidden', 'inline') or disabled (false) source maps\n */\nexport type UserSourceMapSetting = 'enabled' | 'disabled' | 'unset' | undefined;\n\n/** A valid source map setting */\nexport type SourceMapSetting = boolean | 'hidden' | 'inline';\n\n/**\n * Setup source maps for Sentry inside the Nuxt module during build time (in Vite for Nuxt and Rollup for Nitro).\n */\nexport function setupSourceMaps(\n moduleOptions: SentryNuxtModuleOptions,\n nuxt: Nuxt,\n addVitePlugin: (plugin: Plugin[], options?: { dev?: boolean; build?: boolean }) => void,\n): void {\n // TODO(v11): remove deprecated options (also from SentryNuxtModuleOptions type)\n\n const isDebug = moduleOptions.debug;\n\n // eslint-disable-next-line deprecation/deprecation\n const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};\n\n const sourceMapsEnabled =\n moduleOptions.sourcemaps?.disable === true\n ? false\n : moduleOptions.sourcemaps?.disable === false\n ? true\n : // eslint-disable-next-line deprecation/deprecation\n (sourceMapsUploadOptions.enabled ?? true);\n\n // In case we overwrite the source map settings, we default to deleting the files\n const shouldDeleteFilesFallback = { client: true, server: true };\n\n nuxt.hook('modules:done', () => {\n if (sourceMapsEnabled && !nuxt.options.dev && !nuxt.options?._prepare) {\n // Changing this setting will propagate:\n // - for client to viteConfig.build.sourceMap\n // - for server to viteConfig.build.sourceMap and nitro.sourceMap\n // On server, nitro.rollupConfig.output.sourcemap remains unaffected from this change.\n\n // ONLY THIS nuxt.sourcemap.(server/client) setting is the one Sentry will overwrite with 'hidden', if needed.\n const previousSourceMapSettings = changeNuxtSourceMapSettings(nuxt, moduleOptions);\n\n // Mutate in place so the Vite plugin (which captured this object at registration time) sees the updated values\n shouldDeleteFilesFallback.client = previousSourceMapSettings.client === 'unset';\n shouldDeleteFilesFallback.server = previousSourceMapSettings.server === 'unset';\n\n if (isDebug && (shouldDeleteFilesFallback.client || shouldDeleteFilesFallback.server)) {\n const enabledDeleteFallbacks =\n shouldDeleteFilesFallback.client && shouldDeleteFilesFallback.server\n ? 'client-side and server-side'\n : shouldDeleteFilesFallback.server\n ? 'server-side'\n : 'client-side';\n\n if (\n !moduleOptions.sourcemaps?.filesToDeleteAfterUpload &&\n // eslint-disable-next-line deprecation/deprecation\n !sourceMapsUploadOptions.sourcemaps?.filesToDeleteAfterUpload\n ) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] We enabled \\`'hidden'\\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be automatically deleted after uploading them to Sentry.`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] We enabled \\`'hidden'\\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be deleted according to your \\`sourcemaps.filesToDeleteAfterUpload\\` configuration. To use automatic deletion instead, leave \\`filesToDeleteAfterUpload\\` empty.`,\n );\n }\n }\n }\n });\n\n if (sourceMapsEnabled && !nuxt.options.dev && !nuxt.options?._prepare) {\n addVitePlugin(\n [\n validateSourceMapsOptionsPlugin({ nuxt, moduleOptions, sourceMapsEnabled }),\n // Vite plugin is added on the client and server side (plugin runs for both builds)\n ...sentryVitePlugin(getPluginOptions(moduleOptions, shouldDeleteFilesFallback)),\n ],\n { dev: false, build: true }, // Only add source map plugin during build\n );\n }\n\n nuxt.hook('nitro:config', (nitroConfig: NitroConfig) => {\n if (sourceMapsEnabled && !nitroConfig.dev && !nuxt.options?._prepare) {\n if (!nitroConfig.rollupConfig) {\n nitroConfig.rollupConfig = {};\n }\n\n if (nitroConfig.rollupConfig.plugins === null || nitroConfig.rollupConfig.plugins === undefined) {\n nitroConfig.rollupConfig.plugins = [];\n } else if (!Array.isArray(nitroConfig.rollupConfig.plugins)) {\n // `rollupConfig.plugins` can be a single plugin, so we want to put it into an array so that we can push our own plugin\n nitroConfig.rollupConfig.plugins = [nitroConfig.rollupConfig.plugins];\n }\n\n validateNitroSourceMapSettings(nuxt, nitroConfig, moduleOptions);\n\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.log('[Sentry] Adding Sentry Rollup plugin to the server runtime.');\n }\n\n // Add Sentry plugin\n // Runs only on server-side (Nitro)\n nitroConfig.rollupConfig.plugins.push(\n sentryRollupPlugin(getPluginOptions(moduleOptions, shouldDeleteFilesFallback)),\n );\n }\n });\n}\n\n/**\n * Normalizes the beginning of a path from e.g. ../../../ to ./\n */\nfunction normalizePath(path: string): string {\n return path.replace(/^(\\.\\.\\/)+/, './');\n}\n\n/**\n * Generates source maps upload options for the Sentry Vite and Rollup plugin.\n *\n * Only exported for Testing purposes.\n */\n// todo(v11): This \"eslint-disable\" can be removed again once we remove deprecated options.\n// eslint-disable-next-line complexity\nexport function getPluginOptions(\n moduleOptions: SentryNuxtModuleOptions,\n shouldDeleteFilesFallback?: { client: boolean; server: boolean },\n): SentryVitePluginOptions | SentryRollupPluginOptions {\n // eslint-disable-next-line deprecation/deprecation\n const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};\n\n const shouldDeleteFilesAfterUpload = shouldDeleteFilesFallback?.client || shouldDeleteFilesFallback?.server;\n const fallbackFilesToDelete = [\n ...(shouldDeleteFilesFallback?.client ? ['.*/**/public/**/*.map'] : []),\n ...(shouldDeleteFilesFallback?.server\n ? ['.*/**/server/**/*.map', '.*/**/output/**/*.map', '.*/**/function/**/*.map']\n : []),\n ];\n\n // Check for filesToDeleteAfterUpload in new location first, then deprecated location\n const sourcemapsOptions = moduleOptions.sourcemaps || {};\n // eslint-disable-next-line deprecation/deprecation\n const deprecatedSourcemapsOptions = sourceMapsUploadOptions.sourcemaps || {};\n\n const filesToDeleteAfterUpload =\n sourcemapsOptions.filesToDeleteAfterUpload ??\n // eslint-disable-next-line deprecation/deprecation\n deprecatedSourcemapsOptions.filesToDeleteAfterUpload;\n\n if (typeof filesToDeleteAfterUpload === 'undefined' && shouldDeleteFilesAfterUpload && moduleOptions.debug) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] Setting \\`sentry.sourceMapsUploadOptions.sourcemaps.filesToDeleteAfterUpload: [${fallbackFilesToDelete\n // Logging it as strings in the array\n .map(path => `\"${path}\"`)\n .join(', ')}]\\` to delete generated source maps after they were uploaded to Sentry.`,\n );\n }\n\n return {\n applicationKey: moduleOptions.applicationKey,\n // eslint-disable-next-line deprecation/deprecation\n org: moduleOptions.org ?? sourceMapsUploadOptions.org ?? process.env.SENTRY_ORG,\n // eslint-disable-next-line deprecation/deprecation\n project: moduleOptions.project ?? sourceMapsUploadOptions.project ?? process.env.SENTRY_PROJECT,\n // eslint-disable-next-line deprecation/deprecation\n authToken: moduleOptions.authToken ?? sourceMapsUploadOptions.authToken ?? process.env.SENTRY_AUTH_TOKEN,\n // eslint-disable-next-line deprecation/deprecation\n telemetry: moduleOptions.telemetry ?? sourceMapsUploadOptions.telemetry ?? true,\n // eslint-disable-next-line deprecation/deprecation\n url: moduleOptions.sentryUrl ?? sourceMapsUploadOptions.url ?? process.env.SENTRY_URL,\n headers: moduleOptions.headers,\n debug: moduleOptions.debug ?? false,\n // eslint-disable-next-line deprecation/deprecation\n silent: moduleOptions.silent ?? sourceMapsUploadOptions.silent ?? false,\n // eslint-disable-next-line deprecation/deprecation\n errorHandler: moduleOptions.errorHandler ?? sourceMapsUploadOptions.errorHandler,\n bundleSizeOptimizations: moduleOptions.bundleSizeOptimizations, // todo: test if this can be overridden by the user\n release: {\n // eslint-disable-next-line deprecation/deprecation\n name: moduleOptions.release?.name ?? sourceMapsUploadOptions.release?.name,\n // Support all release options from BuildTimeOptionsBase\n ...moduleOptions.release,\n ...moduleOptions?.unstable_sentryBundlerPluginOptions?.release,\n },\n _metaOptions: {\n telemetry: {\n metaFramework: 'nuxt',\n },\n },\n ...moduleOptions?.unstable_sentryBundlerPluginOptions,\n\n sourcemaps: {\n disable: moduleOptions.sourcemaps?.disable,\n // The server/client files are in different places depending on the nitro preset (e.g. '.output/server' or '.netlify/functions-internal/server')\n // We cannot determine automatically how the build folder looks like (depends on the preset), so we have to accept that source maps are uploaded multiple times (with the vitePlugin for Nuxt and the rollupPlugin for Nitro).\n // If we could know where the server/client assets are located, we could do something like this (based on the Nitro preset): isNitro ? ['./.output/server/**/*'] : ['./.output/public/**/*'],\n // eslint-disable-next-line deprecation/deprecation\n assets: sourcemapsOptions.assets ?? deprecatedSourcemapsOptions.assets ?? undefined,\n // eslint-disable-next-line deprecation/deprecation\n ignore: sourcemapsOptions.ignore ?? deprecatedSourcemapsOptions.ignore ?? undefined,\n filesToDeleteAfterUpload: filesToDeleteAfterUpload\n ? filesToDeleteAfterUpload\n : shouldDeleteFilesFallback?.server || shouldDeleteFilesFallback?.client\n ? fallbackFilesToDelete\n : undefined,\n rewriteSources: sourcemapsOptions.rewriteSources ?? normalizePath,\n ...moduleOptions?.unstable_sentryBundlerPluginOptions?.sourcemaps,\n },\n };\n}\n\n/* There are multiple ways to set up source maps (https://github.com/getsentry/sentry-javascript/issues/13993 and https://github.com/getsentry/sentry-javascript/pull/15859)\n 1. User explicitly disabled source maps\n - keep this setting (emit a warning that errors won't be unminified in Sentry)\n - We will not upload anything\n 2. users enabled source map generation (true, hidden, inline).\n - keep this setting (don't do anything - like deletion - besides uploading)\n 3. users did not set source maps generation\n - we enable 'hidden' source maps generation\n - configure `filesToDeleteAfterUpload` to delete all .map files (we emit a log about this)\n\n Users only have to explicitly enable client source maps. Sentry only overwrites the base Nuxt source map settings as they propagate.\n */\n\n/** only exported for tests */\nexport function extractNuxtSourceMapSetting(\n nuxt: { options: { sourcemap?: SourceMapSetting | { server?: SourceMapSetting; client?: SourceMapSetting } } },\n runtime: 'client' | 'server' | undefined,\n): SourceMapSetting | undefined {\n if (!runtime) {\n return undefined;\n } else {\n return typeof nuxt.options?.sourcemap === 'boolean' || typeof nuxt.options?.sourcemap === 'string'\n ? nuxt.options.sourcemap\n : nuxt.options?.sourcemap?.[runtime];\n }\n}\n\n/** only exported for testing */\nexport function changeNuxtSourceMapSettings(\n nuxt: Nuxt,\n sentryModuleOptions: SentryNuxtModuleOptions,\n): { client: UserSourceMapSetting; server: UserSourceMapSetting } {\n nuxt.options.sourcemap = nuxt.options.sourcemap ?? { server: undefined, client: undefined };\n\n let previousUserSourceMapSetting: { client: UserSourceMapSetting; server: UserSourceMapSetting } = {\n client: undefined,\n server: undefined,\n };\n\n const nuxtSourceMap = nuxt.options.sourcemap;\n const isDebug = sentryModuleOptions.debug;\n\n if (typeof nuxtSourceMap === 'string' || typeof nuxtSourceMap === 'boolean' || typeof nuxtSourceMap === 'undefined') {\n switch (nuxtSourceMap) {\n case false:\n warnExplicitlyDisabledSourceMap('sourcemap', isDebug);\n previousUserSourceMapSetting = { client: 'disabled', server: 'disabled' };\n break;\n\n case 'hidden':\n case true:\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap', (nuxtSourceMap as true).toString());\n previousUserSourceMapSetting = { client: 'enabled', server: 'enabled' };\n break;\n case undefined:\n nuxt.options.sourcemap = { server: 'hidden', client: 'hidden' };\n isDebug && logSentryEnablesSourceMap('sourcemap.client', 'hidden');\n isDebug && logSentryEnablesSourceMap('sourcemap.server', 'hidden');\n previousUserSourceMapSetting = { client: 'unset', server: 'unset' };\n break;\n }\n } else {\n if (nuxtSourceMap.client === false) {\n warnExplicitlyDisabledSourceMap('sourcemap.client', isDebug);\n previousUserSourceMapSetting.client = 'disabled';\n } else if (['hidden', true].includes(nuxtSourceMap.client)) {\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap.client', nuxtSourceMap.client.toString());\n previousUserSourceMapSetting.client = 'enabled';\n } else {\n nuxt.options.sourcemap.client = 'hidden';\n isDebug && logSentryEnablesSourceMap('sourcemap.client', 'hidden');\n previousUserSourceMapSetting.client = 'unset';\n }\n\n if (nuxtSourceMap.server === false) {\n warnExplicitlyDisabledSourceMap('sourcemap.server', isDebug);\n previousUserSourceMapSetting.server = 'disabled';\n } else if (['hidden', true].includes(nuxtSourceMap.server)) {\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap.server', nuxtSourceMap.server.toString());\n previousUserSourceMapSetting.server = 'enabled';\n } else {\n nuxt.options.sourcemap.server = 'hidden';\n isDebug && logSentryEnablesSourceMap('sourcemap.server', 'hidden');\n previousUserSourceMapSetting.server = 'unset';\n }\n }\n\n return previousUserSourceMapSetting;\n}\n\n/** Logs warnings about potentially conflicting source map settings.\n * Configures `sourcemapExcludeSources` in Nitro to make source maps usable in Sentry.\n *\n * only exported for testing\n */\nexport function validateNitroSourceMapSettings(\n nuxt: { options: { sourcemap?: SourceMapSetting | { server?: SourceMapSetting } } },\n nitroConfig: NitroConfig,\n sentryModuleOptions: SentryNuxtModuleOptions,\n): void {\n const isDebug = sentryModuleOptions.debug;\n const nuxtSourceMap = extractNuxtSourceMapSetting(nuxt, 'server');\n\n // NITRO CONFIG ---\n\n validateDifferentSourceMapSettings({\n nuxtSettingKey: 'sourcemap.server',\n nuxtSettingValue: nuxtSourceMap,\n otherSettingKey: 'nitro.sourceMap',\n otherSettingValue: nitroConfig.sourceMap,\n });\n\n // ROLLUP CONFIG ---\n\n nitroConfig.rollupConfig = nitroConfig.rollupConfig || {};\n nitroConfig.rollupConfig.output = nitroConfig.rollupConfig.output || { sourcemap: undefined };\n const nitroRollupSourceMap = nitroConfig.rollupConfig.output.sourcemap;\n\n // We don't override nitro.rollupConfig.output.sourcemap (undefined by default, but overrides all other server-side source map settings)\n if (typeof nitroRollupSourceMap !== 'undefined' && ['hidden', 'inline', true, false].includes(nitroRollupSourceMap)) {\n const settingKey = 'nitro.rollupConfig.output.sourcemap';\n\n validateDifferentSourceMapSettings({\n nuxtSettingKey: 'sourcemap.server',\n nuxtSettingValue: nuxtSourceMap,\n otherSettingKey: settingKey,\n otherSettingValue: nitroRollupSourceMap,\n });\n }\n\n nitroConfig.rollupConfig.output.sourcemapExcludeSources = false;\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.log(\n '[Sentry] Set `sourcemapExcludeSources: false` in the Nuxt config (`nitro.rollupConfig.output`). Source maps will now include the actual code to be able to un-minify code snippets in Sentry.',\n );\n }\n}\n\n/**\n * Validates that source map settings are consistent between Nuxt and Vite/Nitro configurations.\n * Logs a warning if conflicting settings are detected.\n *\n * @internal Only exported for testing.\n */\nexport function validateDifferentSourceMapSettings({\n nuxtSettingKey,\n nuxtSettingValue,\n otherSettingKey,\n otherSettingValue,\n}: {\n nuxtSettingKey: string;\n nuxtSettingValue?: SourceMapSetting;\n otherSettingKey: string;\n otherSettingValue?: SourceMapSetting;\n}): void {\n if (nuxtSettingValue !== otherSettingValue) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Source map generation settings are conflicting. Sentry uses \\`${nuxtSettingKey}: ${nuxtSettingValue}\\`. However, a conflicting setting was discovered (\\`${otherSettingKey}: ${otherSettingValue}\\`). This setting was probably explicitly set in your configuration. Sentry won't override this setting but it may affect source maps generation and upload. Without source maps, code snippets on the Sentry Issues page will remain minified.`,\n );\n }\n}\n\nfunction logKeepEnabledSourceMapSetting(\n sentryNuxtModuleOptions: SentryNuxtModuleOptions,\n settingKey: string,\n settingValue: string,\n): void {\n if (sentryNuxtModuleOptions.debug) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] \\`${settingKey}\\` is enabled with \\`${settingValue}\\`. This will correctly un-minify the code snippet on the Sentry Issue Details page.`,\n );\n }\n}\n\nfunction warnExplicitlyDisabledSourceMap(settingKey: string, isDebug: boolean | undefined): void {\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Source map generation is currently disabled in your Vite configuration (\\`${settingKey}: false \\`). This setting is either a default setting or was explicitly set in your configuration. Sentry won't override this setting. Without source maps, code snippets on the Sentry Issues page will remain minified. To show unminified code, enable source maps in \\`${settingKey}\\` (e.g. by setting them to \\`hidden\\`).`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.warn(`[Sentry] Source map generation (\\`${settingKey}\\`) is disabled in your Vite configuration.`);\n }\n}\n\nfunction logSentryEnablesSourceMap(settingKey: string, settingValue: string): void {\n // eslint-disable-next-line no-console\n console.log(`[Sentry] Enabled source map generation in the build options with \\`${settingKey}: ${settingValue}\\`.`);\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceMaps.js","sources":["../../../src/vite/sourceMaps.ts"],"sourcesContent":["import type { Nuxt } from '@nuxt/schema';\nimport { sentryRollupPlugin, type SentryRollupPluginOptions } from '@sentry/rollup-plugin';\nimport { sentryVitePlugin, type SentryVitePluginOptions } from '@sentry/vite-plugin';\nimport type { NitroConfig } from 'nitropack';\nimport type { Plugin } from 'vite';\nimport type { SentryNuxtModuleOptions } from '../common/types';\nimport { validateSourceMapsOptionsPlugin } from './sentryVitePlugin';\n\n/**\n * Whether the user enabled (true, 'hidden', 'inline') or disabled (false) source maps\n */\nexport type UserSourceMapSetting = 'enabled' | 'disabled' | 'unset' | undefined;\n\n/** A valid source map setting */\nexport type SourceMapSetting = boolean | 'hidden' | 'inline';\n\n/**\n * Setup source maps for Sentry inside the Nuxt module during build time (in Vite for Nuxt and Rollup for Nitro).\n */\nexport function setupSourceMaps(\n moduleOptions: SentryNuxtModuleOptions,\n nuxt: Nuxt,\n addVitePlugin: (plugin: Plugin[], options?: { dev?: boolean; build?: boolean }) => void,\n): void {\n // TODO(v11): remove deprecated options (also from SentryNuxtModuleOptions type)\n\n const isDebug = moduleOptions.debug;\n\n // eslint-disable-next-line typescript/no-deprecated\n const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};\n\n const sourceMapsEnabled =\n moduleOptions.sourcemaps?.disable === true\n ? false\n : moduleOptions.sourcemaps?.disable === false\n ? true\n : // eslint-disable-next-line typescript/no-deprecated\n (sourceMapsUploadOptions.enabled ?? true);\n\n // In case we overwrite the source map settings, we default to deleting the files\n const shouldDeleteFilesFallback = { client: true, server: true };\n\n nuxt.hook('modules:done', () => {\n if (sourceMapsEnabled && !nuxt.options.dev && !nuxt.options?._prepare) {\n // Changing this setting will propagate:\n // - for client to viteConfig.build.sourceMap\n // - for server to viteConfig.build.sourceMap and nitro.sourceMap\n // On server, nitro.rollupConfig.output.sourcemap remains unaffected from this change.\n\n // ONLY THIS nuxt.sourcemap.(server/client) setting is the one Sentry will overwrite with 'hidden', if needed.\n const previousSourceMapSettings = changeNuxtSourceMapSettings(nuxt, moduleOptions);\n\n // Mutate in place so the Vite plugin (which captured this object at registration time) sees the updated values\n shouldDeleteFilesFallback.client = previousSourceMapSettings.client === 'unset';\n shouldDeleteFilesFallback.server = previousSourceMapSettings.server === 'unset';\n\n if (isDebug && (shouldDeleteFilesFallback.client || shouldDeleteFilesFallback.server)) {\n const enabledDeleteFallbacks =\n shouldDeleteFilesFallback.client && shouldDeleteFilesFallback.server\n ? 'client-side and server-side'\n : shouldDeleteFilesFallback.server\n ? 'server-side'\n : 'client-side';\n\n if (\n !moduleOptions.sourcemaps?.filesToDeleteAfterUpload &&\n // eslint-disable-next-line typescript/no-deprecated\n !sourceMapsUploadOptions.sourcemaps?.filesToDeleteAfterUpload\n ) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] We enabled \\`'hidden'\\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be automatically deleted after uploading them to Sentry.`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] We enabled \\`'hidden'\\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be deleted according to your \\`sourcemaps.filesToDeleteAfterUpload\\` configuration. To use automatic deletion instead, leave \\`filesToDeleteAfterUpload\\` empty.`,\n );\n }\n }\n }\n });\n\n if (sourceMapsEnabled && !nuxt.options.dev && !nuxt.options?._prepare) {\n addVitePlugin(\n [\n validateSourceMapsOptionsPlugin({ nuxt, moduleOptions, sourceMapsEnabled }),\n // Vite plugin is added on the client and server side (plugin runs for both builds)\n ...sentryVitePlugin(getPluginOptions(moduleOptions, shouldDeleteFilesFallback)),\n ],\n { dev: false, build: true }, // Only add source map plugin during build\n );\n }\n\n nuxt.hook('nitro:config', (nitroConfig: NitroConfig) => {\n if (sourceMapsEnabled && !nitroConfig.dev && !nuxt.options?._prepare) {\n if (!nitroConfig.rollupConfig) {\n nitroConfig.rollupConfig = {};\n }\n\n if (nitroConfig.rollupConfig.plugins === null || nitroConfig.rollupConfig.plugins === undefined) {\n nitroConfig.rollupConfig.plugins = [];\n } else if (!Array.isArray(nitroConfig.rollupConfig.plugins)) {\n // `rollupConfig.plugins` can be a single plugin, so we want to put it into an array so that we can push our own plugin\n nitroConfig.rollupConfig.plugins = [nitroConfig.rollupConfig.plugins];\n }\n\n validateNitroSourceMapSettings(nuxt, nitroConfig, moduleOptions);\n\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.log('[Sentry] Adding Sentry Rollup plugin to the server runtime.');\n }\n\n // Add Sentry plugin\n // Runs only on server-side (Nitro)\n nitroConfig.rollupConfig.plugins.push(\n sentryRollupPlugin(getPluginOptions(moduleOptions, shouldDeleteFilesFallback)),\n );\n }\n });\n}\n\n/**\n * Normalizes the beginning of a path from e.g. ../../../ to ./\n */\nfunction normalizePath(path: string): string {\n return path.replace(/^(\\.\\.\\/)+/, './');\n}\n\n/**\n * Generates source maps upload options for the Sentry Vite and Rollup plugin.\n *\n * Only exported for Testing purposes.\n */\n// todo(v11): This \"eslint-disable\" can be removed again once we remove deprecated options.\n// eslint-disable-next-line complexity\nexport function getPluginOptions(\n moduleOptions: SentryNuxtModuleOptions,\n shouldDeleteFilesFallback?: { client: boolean; server: boolean },\n): SentryVitePluginOptions | SentryRollupPluginOptions {\n // eslint-disable-next-line typescript/no-deprecated\n const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};\n\n const shouldDeleteFilesAfterUpload = shouldDeleteFilesFallback?.client || shouldDeleteFilesFallback?.server;\n const fallbackFilesToDelete = [\n ...(shouldDeleteFilesFallback?.client ? ['.*/**/public/**/*.map'] : []),\n ...(shouldDeleteFilesFallback?.server\n ? ['.*/**/server/**/*.map', '.*/**/output/**/*.map', '.*/**/function/**/*.map']\n : []),\n ];\n\n // Check for filesToDeleteAfterUpload in new location first, then deprecated location\n const sourcemapsOptions = moduleOptions.sourcemaps || {};\n // eslint-disable-next-line typescript/no-deprecated\n const deprecatedSourcemapsOptions = sourceMapsUploadOptions.sourcemaps || {};\n\n const filesToDeleteAfterUpload =\n sourcemapsOptions.filesToDeleteAfterUpload ??\n // eslint-disable-next-line typescript/no-deprecated\n deprecatedSourcemapsOptions.filesToDeleteAfterUpload;\n\n if (typeof filesToDeleteAfterUpload === 'undefined' && shouldDeleteFilesAfterUpload && moduleOptions.debug) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] Setting \\`sentry.sourceMapsUploadOptions.sourcemaps.filesToDeleteAfterUpload: [${fallbackFilesToDelete\n // Logging it as strings in the array\n .map(path => `\"${path}\"`)\n .join(', ')}]\\` to delete generated source maps after they were uploaded to Sentry.`,\n );\n }\n\n return {\n applicationKey: moduleOptions.applicationKey,\n // eslint-disable-next-line typescript/no-deprecated\n org: moduleOptions.org ?? sourceMapsUploadOptions.org ?? process.env.SENTRY_ORG,\n // eslint-disable-next-line typescript/no-deprecated\n project: moduleOptions.project ?? sourceMapsUploadOptions.project ?? process.env.SENTRY_PROJECT,\n // eslint-disable-next-line typescript/no-deprecated\n authToken: moduleOptions.authToken ?? sourceMapsUploadOptions.authToken ?? process.env.SENTRY_AUTH_TOKEN,\n // eslint-disable-next-line typescript/no-deprecated\n telemetry: moduleOptions.telemetry ?? sourceMapsUploadOptions.telemetry ?? true,\n // eslint-disable-next-line typescript/no-deprecated\n url: moduleOptions.sentryUrl ?? sourceMapsUploadOptions.url ?? process.env.SENTRY_URL,\n headers: moduleOptions.headers,\n debug: moduleOptions.debug ?? false,\n // eslint-disable-next-line typescript/no-deprecated\n silent: moduleOptions.silent ?? sourceMapsUploadOptions.silent ?? false,\n // eslint-disable-next-line typescript/no-deprecated\n errorHandler: moduleOptions.errorHandler ?? sourceMapsUploadOptions.errorHandler,\n bundleSizeOptimizations: moduleOptions.bundleSizeOptimizations, // todo: test if this can be overridden by the user\n release: {\n // eslint-disable-next-line typescript/no-deprecated\n name: moduleOptions.release?.name ?? sourceMapsUploadOptions.release?.name,\n // Support all release options from BuildTimeOptionsBase\n ...moduleOptions.release,\n ...moduleOptions?.unstable_sentryBundlerPluginOptions?.release,\n },\n _metaOptions: {\n telemetry: {\n metaFramework: 'nuxt',\n },\n },\n ...moduleOptions?.unstable_sentryBundlerPluginOptions,\n\n sourcemaps: {\n disable: moduleOptions.sourcemaps?.disable,\n // The server/client files are in different places depending on the nitro preset (e.g. '.output/server' or '.netlify/functions-internal/server')\n // We cannot determine automatically how the build folder looks like (depends on the preset), so we have to accept that source maps are uploaded multiple times (with the vitePlugin for Nuxt and the rollupPlugin for Nitro).\n // If we could know where the server/client assets are located, we could do something like this (based on the Nitro preset): isNitro ? ['./.output/server/**/*'] : ['./.output/public/**/*'],\n // eslint-disable-next-line typescript/no-deprecated\n assets: sourcemapsOptions.assets ?? deprecatedSourcemapsOptions.assets ?? undefined,\n // eslint-disable-next-line typescript/no-deprecated\n ignore: sourcemapsOptions.ignore ?? deprecatedSourcemapsOptions.ignore ?? undefined,\n filesToDeleteAfterUpload: filesToDeleteAfterUpload\n ? filesToDeleteAfterUpload\n : shouldDeleteFilesFallback?.server || shouldDeleteFilesFallback?.client\n ? fallbackFilesToDelete\n : undefined,\n rewriteSources: sourcemapsOptions.rewriteSources ?? normalizePath,\n ...moduleOptions?.unstable_sentryBundlerPluginOptions?.sourcemaps,\n },\n };\n}\n\n/* There are multiple ways to set up source maps (https://github.com/getsentry/sentry-javascript/issues/13993 and https://github.com/getsentry/sentry-javascript/pull/15859)\n 1. User explicitly disabled source maps\n - keep this setting (emit a warning that errors won't be unminified in Sentry)\n - We will not upload anything\n 2. users enabled source map generation (true, hidden, inline).\n - keep this setting (don't do anything - like deletion - besides uploading)\n 3. users did not set source maps generation\n - we enable 'hidden' source maps generation\n - configure `filesToDeleteAfterUpload` to delete all .map files (we emit a log about this)\n\n Users only have to explicitly enable client source maps. Sentry only overwrites the base Nuxt source map settings as they propagate.\n */\n\n/** only exported for tests */\nexport function extractNuxtSourceMapSetting(\n nuxt: { options: { sourcemap?: SourceMapSetting | { server?: SourceMapSetting; client?: SourceMapSetting } } },\n runtime: 'client' | 'server' | undefined,\n): SourceMapSetting | undefined {\n if (!runtime) {\n return undefined;\n } else {\n return typeof nuxt.options?.sourcemap === 'boolean' || typeof nuxt.options?.sourcemap === 'string'\n ? nuxt.options.sourcemap\n : nuxt.options?.sourcemap?.[runtime];\n }\n}\n\n/** only exported for testing */\nexport function changeNuxtSourceMapSettings(\n nuxt: Nuxt,\n sentryModuleOptions: SentryNuxtModuleOptions,\n): { client: UserSourceMapSetting; server: UserSourceMapSetting } {\n nuxt.options.sourcemap = nuxt.options.sourcemap ?? { server: undefined, client: undefined };\n\n let previousUserSourceMapSetting: { client: UserSourceMapSetting; server: UserSourceMapSetting } = {\n client: undefined,\n server: undefined,\n };\n\n const nuxtSourceMap = nuxt.options.sourcemap;\n const isDebug = sentryModuleOptions.debug;\n\n if (typeof nuxtSourceMap === 'string' || typeof nuxtSourceMap === 'boolean' || typeof nuxtSourceMap === 'undefined') {\n switch (nuxtSourceMap) {\n case false:\n warnExplicitlyDisabledSourceMap('sourcemap', isDebug);\n previousUserSourceMapSetting = { client: 'disabled', server: 'disabled' };\n break;\n\n case 'hidden':\n case true:\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap', (nuxtSourceMap as true).toString());\n previousUserSourceMapSetting = { client: 'enabled', server: 'enabled' };\n break;\n case undefined:\n nuxt.options.sourcemap = { server: 'hidden', client: 'hidden' };\n isDebug && logSentryEnablesSourceMap('sourcemap.client', 'hidden');\n isDebug && logSentryEnablesSourceMap('sourcemap.server', 'hidden');\n previousUserSourceMapSetting = { client: 'unset', server: 'unset' };\n break;\n }\n } else {\n if (nuxtSourceMap.client === false) {\n warnExplicitlyDisabledSourceMap('sourcemap.client', isDebug);\n previousUserSourceMapSetting.client = 'disabled';\n } else if (['hidden', true].includes(nuxtSourceMap.client)) {\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap.client', nuxtSourceMap.client.toString());\n previousUserSourceMapSetting.client = 'enabled';\n } else {\n nuxt.options.sourcemap.client = 'hidden';\n isDebug && logSentryEnablesSourceMap('sourcemap.client', 'hidden');\n previousUserSourceMapSetting.client = 'unset';\n }\n\n if (nuxtSourceMap.server === false) {\n warnExplicitlyDisabledSourceMap('sourcemap.server', isDebug);\n previousUserSourceMapSetting.server = 'disabled';\n } else if (['hidden', true].includes(nuxtSourceMap.server)) {\n logKeepEnabledSourceMapSetting(sentryModuleOptions, 'sourcemap.server', nuxtSourceMap.server.toString());\n previousUserSourceMapSetting.server = 'enabled';\n } else {\n nuxt.options.sourcemap.server = 'hidden';\n isDebug && logSentryEnablesSourceMap('sourcemap.server', 'hidden');\n previousUserSourceMapSetting.server = 'unset';\n }\n }\n\n return previousUserSourceMapSetting;\n}\n\n/** Logs warnings about potentially conflicting source map settings.\n * Configures `sourcemapExcludeSources` in Nitro to make source maps usable in Sentry.\n *\n * only exported for testing\n */\nexport function validateNitroSourceMapSettings(\n nuxt: { options: { sourcemap?: SourceMapSetting | { server?: SourceMapSetting } } },\n nitroConfig: NitroConfig,\n sentryModuleOptions: SentryNuxtModuleOptions,\n): void {\n const isDebug = sentryModuleOptions.debug;\n const nuxtSourceMap = extractNuxtSourceMapSetting(nuxt, 'server');\n\n // NITRO CONFIG ---\n\n validateDifferentSourceMapSettings({\n nuxtSettingKey: 'sourcemap.server',\n nuxtSettingValue: nuxtSourceMap,\n otherSettingKey: 'nitro.sourceMap',\n otherSettingValue: nitroConfig.sourceMap,\n });\n\n // ROLLUP CONFIG ---\n\n nitroConfig.rollupConfig = nitroConfig.rollupConfig || {};\n nitroConfig.rollupConfig.output = nitroConfig.rollupConfig.output || { sourcemap: undefined };\n const nitroRollupSourceMap = nitroConfig.rollupConfig.output.sourcemap;\n\n // We don't override nitro.rollupConfig.output.sourcemap (undefined by default, but overrides all other server-side source map settings)\n if (typeof nitroRollupSourceMap !== 'undefined' && ['hidden', 'inline', true, false].includes(nitroRollupSourceMap)) {\n const settingKey = 'nitro.rollupConfig.output.sourcemap';\n\n validateDifferentSourceMapSettings({\n nuxtSettingKey: 'sourcemap.server',\n nuxtSettingValue: nuxtSourceMap,\n otherSettingKey: settingKey,\n otherSettingValue: nitroRollupSourceMap,\n });\n }\n\n nitroConfig.rollupConfig.output.sourcemapExcludeSources = false;\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.log(\n '[Sentry] Set `sourcemapExcludeSources: false` in the Nuxt config (`nitro.rollupConfig.output`). Source maps will now include the actual code to be able to un-minify code snippets in Sentry.',\n );\n }\n}\n\n/**\n * Validates that source map settings are consistent between Nuxt and Vite/Nitro configurations.\n * Logs a warning if conflicting settings are detected.\n *\n * @internal Only exported for testing.\n */\nexport function validateDifferentSourceMapSettings({\n nuxtSettingKey,\n nuxtSettingValue,\n otherSettingKey,\n otherSettingValue,\n}: {\n nuxtSettingKey: string;\n nuxtSettingValue?: SourceMapSetting;\n otherSettingKey: string;\n otherSettingValue?: SourceMapSetting;\n}): void {\n if (nuxtSettingValue !== otherSettingValue) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Source map generation settings are conflicting. Sentry uses \\`${nuxtSettingKey}: ${nuxtSettingValue}\\`. However, a conflicting setting was discovered (\\`${otherSettingKey}: ${otherSettingValue}\\`). This setting was probably explicitly set in your configuration. Sentry won't override this setting but it may affect source maps generation and upload. Without source maps, code snippets on the Sentry Issues page will remain minified.`,\n );\n }\n}\n\nfunction logKeepEnabledSourceMapSetting(\n sentryNuxtModuleOptions: SentryNuxtModuleOptions,\n settingKey: string,\n settingValue: string,\n): void {\n if (sentryNuxtModuleOptions.debug) {\n // eslint-disable-next-line no-console\n console.log(\n `[Sentry] \\`${settingKey}\\` is enabled with \\`${settingValue}\\`. This will correctly un-minify the code snippet on the Sentry Issue Details page.`,\n );\n }\n}\n\nfunction warnExplicitlyDisabledSourceMap(settingKey: string, isDebug: boolean | undefined): void {\n if (isDebug) {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] Source map generation is currently disabled in your Vite configuration (\\`${settingKey}: false \\`). This setting is either a default setting or was explicitly set in your configuration. Sentry won't override this setting. Without source maps, code snippets on the Sentry Issues page will remain minified. To show unminified code, enable source maps in \\`${settingKey}\\` (e.g. by setting them to \\`hidden\\`).`,\n );\n } else {\n // eslint-disable-next-line no-console\n console.warn(`[Sentry] Source map generation (\\`${settingKey}\\`) is disabled in your Vite configuration.`);\n }\n}\n\nfunction logSentryEnablesSourceMap(settingKey: string, settingValue: string): void {\n // eslint-disable-next-line no-console\n console.log(`[Sentry] Enabled source map generation in the build options with \\`${settingKey}: ${settingValue}\\`.`);\n}\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.7.0"
6
6
  },
7
- "version": "10.58.0",
7
+ "version": "10.60.0",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "0.8.4",
10
10
  "unbuild": "2.0.0"
@@ -390,7 +390,7 @@ function setupSourceMaps(moduleOptions, nuxt, addVitePlugin) {
390
390
  const isDebug = moduleOptions.debug;
391
391
  const sourceMapsUploadOptions = moduleOptions.sourceMapsUploadOptions || {};
392
392
  const sourceMapsEnabled = moduleOptions.sourcemaps?.disable === true ? false : moduleOptions.sourcemaps?.disable === false ? true : (
393
- // eslint-disable-next-line deprecation/deprecation
393
+ // eslint-disable-next-line typescript/no-deprecated
394
394
  sourceMapsUploadOptions.enabled ?? true
395
395
  );
396
396
  const shouldDeleteFilesFallback = { client: true, server: true };
@@ -401,7 +401,7 @@ function setupSourceMaps(moduleOptions, nuxt, addVitePlugin) {
401
401
  shouldDeleteFilesFallback.server = previousSourceMapSettings.server === "unset";
402
402
  if (isDebug && (shouldDeleteFilesFallback.client || shouldDeleteFilesFallback.server)) {
403
403
  const enabledDeleteFallbacks = shouldDeleteFilesFallback.client && shouldDeleteFilesFallback.server ? "client-side and server-side" : shouldDeleteFilesFallback.server ? "server-side" : "client-side";
404
- if (!moduleOptions.sourcemaps?.filesToDeleteAfterUpload && // eslint-disable-next-line deprecation/deprecation
404
+ if (!moduleOptions.sourcemaps?.filesToDeleteAfterUpload && // eslint-disable-next-line typescript/no-deprecated
405
405
  !sourceMapsUploadOptions.sourcemaps?.filesToDeleteAfterUpload) {
406
406
  console.log(
407
407
  `[Sentry] We enabled \`'hidden'\` source maps for your ${enabledDeleteFallbacks} build. Source map files will be automatically deleted after uploading them to Sentry.`
@@ -457,7 +457,7 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
457
457
  ];
458
458
  const sourcemapsOptions = moduleOptions.sourcemaps || {};
459
459
  const deprecatedSourcemapsOptions = sourceMapsUploadOptions.sourcemaps || {};
460
- const filesToDeleteAfterUpload = sourcemapsOptions.filesToDeleteAfterUpload ?? // eslint-disable-next-line deprecation/deprecation
460
+ const filesToDeleteAfterUpload = sourcemapsOptions.filesToDeleteAfterUpload ?? // eslint-disable-next-line typescript/no-deprecated
461
461
  deprecatedSourcemapsOptions.filesToDeleteAfterUpload;
462
462
  if (typeof filesToDeleteAfterUpload === "undefined" && shouldDeleteFilesAfterUpload && moduleOptions.debug) {
463
463
  console.log(
@@ -466,26 +466,26 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
466
466
  }
467
467
  return {
468
468
  applicationKey: moduleOptions.applicationKey,
469
- // eslint-disable-next-line deprecation/deprecation
469
+ // eslint-disable-next-line typescript/no-deprecated
470
470
  org: moduleOptions.org ?? sourceMapsUploadOptions.org ?? process.env.SENTRY_ORG,
471
- // eslint-disable-next-line deprecation/deprecation
471
+ // eslint-disable-next-line typescript/no-deprecated
472
472
  project: moduleOptions.project ?? sourceMapsUploadOptions.project ?? process.env.SENTRY_PROJECT,
473
- // eslint-disable-next-line deprecation/deprecation
473
+ // eslint-disable-next-line typescript/no-deprecated
474
474
  authToken: moduleOptions.authToken ?? sourceMapsUploadOptions.authToken ?? process.env.SENTRY_AUTH_TOKEN,
475
- // eslint-disable-next-line deprecation/deprecation
475
+ // eslint-disable-next-line typescript/no-deprecated
476
476
  telemetry: moduleOptions.telemetry ?? sourceMapsUploadOptions.telemetry ?? true,
477
- // eslint-disable-next-line deprecation/deprecation
477
+ // eslint-disable-next-line typescript/no-deprecated
478
478
  url: moduleOptions.sentryUrl ?? sourceMapsUploadOptions.url ?? process.env.SENTRY_URL,
479
479
  headers: moduleOptions.headers,
480
480
  debug: moduleOptions.debug ?? false,
481
- // eslint-disable-next-line deprecation/deprecation
481
+ // eslint-disable-next-line typescript/no-deprecated
482
482
  silent: moduleOptions.silent ?? sourceMapsUploadOptions.silent ?? false,
483
- // eslint-disable-next-line deprecation/deprecation
483
+ // eslint-disable-next-line typescript/no-deprecated
484
484
  errorHandler: moduleOptions.errorHandler ?? sourceMapsUploadOptions.errorHandler,
485
485
  bundleSizeOptimizations: moduleOptions.bundleSizeOptimizations,
486
486
  // todo: test if this can be overridden by the user
487
487
  release: {
488
- // eslint-disable-next-line deprecation/deprecation
488
+ // eslint-disable-next-line typescript/no-deprecated
489
489
  name: moduleOptions.release?.name ?? sourceMapsUploadOptions.release?.name,
490
490
  // Support all release options from BuildTimeOptionsBase
491
491
  ...moduleOptions.release,
@@ -502,9 +502,9 @@ function getPluginOptions(moduleOptions, shouldDeleteFilesFallback) {
502
502
  // The server/client files are in different places depending on the nitro preset (e.g. '.output/server' or '.netlify/functions-internal/server')
503
503
  // We cannot determine automatically how the build folder looks like (depends on the preset), so we have to accept that source maps are uploaded multiple times (with the vitePlugin for Nuxt and the rollupPlugin for Nitro).
504
504
  // If we could know where the server/client assets are located, we could do something like this (based on the Nitro preset): isNitro ? ['./.output/server/**/*'] : ['./.output/public/**/*'],
505
- // eslint-disable-next-line deprecation/deprecation
505
+ // eslint-disable-next-line typescript/no-deprecated
506
506
  assets: sourcemapsOptions.assets ?? deprecatedSourcemapsOptions.assets ?? void 0,
507
- // eslint-disable-next-line deprecation/deprecation
507
+ // eslint-disable-next-line typescript/no-deprecated
508
508
  ignore: sourcemapsOptions.ignore ?? deprecatedSourcemapsOptions.ignore ?? void 0,
509
509
  filesToDeleteAfterUpload: filesToDeleteAfterUpload ? filesToDeleteAfterUpload : shouldDeleteFilesFallback?.server || shouldDeleteFilesFallback?.client ? fallbackFilesToDelete : void 0,
510
510
  rewriteSources: sourcemapsOptions.rewriteSources ?? normalizePath,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/nuxt",
3
- "version": "10.58.0",
3
+ "version": "10.60.0",
4
4
  "description": "Official Sentry SDK for Nuxt",
5
5
  "repository": "git://github.com/getsentry/sentry-javascript.git",
6
6
  "homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/nuxt",
@@ -55,14 +55,14 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@nuxt/kit": "^3.13.2",
58
- "@sentry/browser": "10.58.0",
59
- "@sentry/cloudflare": "10.58.0",
60
- "@sentry/core": "10.58.0",
61
- "@sentry/node": "10.58.0",
62
- "@sentry/node-core": "10.58.0",
58
+ "@sentry/browser": "10.60.0",
59
+ "@sentry/cloudflare": "10.60.0",
60
+ "@sentry/core": "10.60.0",
61
+ "@sentry/node": "10.60.0",
62
+ "@sentry/node-core": "10.60.0",
63
63
  "@sentry/rollup-plugin": "^5.3.0",
64
64
  "@sentry/vite-plugin": "^5.3.0",
65
- "@sentry/vue": "10.58.0",
65
+ "@sentry/vue": "10.60.0",
66
66
  "local-pkg": "^1.1.2"
67
67
  },
68
68
  "devDependencies": {
@@ -71,7 +71,7 @@
71
71
  "nitro": "^3.0.260311-beta",
72
72
  "nuxi": "^3.25.1",
73
73
  "nuxt": "3.17.7",
74
- "vite": "^5.4.11"
74
+ "vite": "^6.4.3"
75
75
  },
76
76
  "scripts": {
77
77
  "build": "run-s build:types build:transpile",