@@ -86,11 +86,16 @@ function resolveLazyOptions (options, apiMethods, logger) {
8686}
8787
8888/**
89- * @param {import('../../types/sentry').ResolvedModuleConfiguration } options
89+ * @param {import('../../types/sentry').ModuleConfiguration['tracing'] } tracing
90+ * @param {NonNullable<import('../../types/sentry').ModuleConfiguration['config']> } config
9091 */
91- function resolveTracingOptions ( options ) {
92- if ( options . tracing ) {
93- options . tracing = merge ( {
92+ function resolveTracingOptions ( tracing , config ) {
93+ if ( ! tracing ) {
94+ return
95+ }
96+ /** @type {NonNullable<import('../../types/sentry').TracingConfiguration> } */
97+ const tracingOptions = merge (
98+ {
9499 tracesSampleRate : 1.0 ,
95100 vueOptions : {
96101 tracing : true ,
@@ -101,10 +106,11 @@ function resolveTracingOptions (options) {
101106 } ,
102107 } ,
103108 browserOptions : { } ,
104- } , typeof options . tracing === 'boolean' ? { } : options . tracing )
105- if ( ! options . config . tracesSampleRate ) {
106- options . config . tracesSampleRate = options . tracing . tracesSampleRate
107- }
109+ } ,
110+ typeof tracing === 'boolean' ? { } : tracing ,
111+ )
112+ if ( tracingOptions && ! config . tracesSampleRate ) {
113+ config . tracesSampleRate = tracingOptions . tracesSampleRate
108114 }
109115}
110116
@@ -118,11 +124,11 @@ export async function resolveClientOptions (moduleContainer, moduleOptions, logg
118124 /** @type {import('../../types/sentry').ResolvedModuleConfiguration } */
119125 const options = merge ( { } , moduleOptions )
120126
121- options . clientConfig = merge ( { } , options . config , options . clientConfig )
127+ options . config = merge ( { } , options . config , options . clientConfig )
122128
123129 const apiMethods = await getApiMethods ( '@sentry/browser' )
124130 resolveLazyOptions ( options , apiMethods , logger )
125- resolveTracingOptions ( options )
131+ resolveTracingOptions ( options . tracing , options . config )
126132
127133 for ( const name of Object . keys ( options . clientIntegrations ) ) {
128134 if ( ! PLUGGABLE_INTEGRATIONS . includes ( name ) && ! BROWSER_INTEGRATIONS . includes ( name ) ) {
@@ -147,7 +153,7 @@ export async function resolveClientOptions (moduleContainer, moduleOptions, logg
147153 runtimeConfigKey : options . runtimeConfigKey ,
148154 config : {
149155 dsn : options . dsn ,
150- ...options . clientConfig ,
156+ ...options . config ,
151157 } ,
152158 lazy : options . lazy ,
153159 apiMethods,
@@ -202,17 +208,12 @@ export async function resolveServerOptions (moduleContainer, moduleOptions, logg
202208 ...customIntegrations ,
203209 ] ,
204210 }
205- options . config = merge ( defaultConfig , options . config , options . serverConfig )
206211
207- const { publicRuntimeConfig } = moduleContainer . options
208- const { runtimeConfigKey } = options
209- if ( typeof ( publicRuntimeConfig ) !== 'function' && runtimeConfigKey && runtimeConfigKey in publicRuntimeConfig ) {
210- merge ( options . config , publicRuntimeConfig [ runtimeConfigKey ] . config , publicRuntimeConfig [ runtimeConfigKey ] . serverConfig )
211- }
212+ options . config = merge ( defaultConfig , options . config , options . serverConfig , getRuntimeConfig ( moduleContainer , options ) )
212213
213214 const apiMethods = await getApiMethods ( '@sentry/node' )
214215 resolveLazyOptions ( options , apiMethods , logger )
215- resolveTracingOptions ( options )
216+ resolveTracingOptions ( options . tracing , options . config )
216217
217218 return {
218219 config : options . config ,
@@ -221,3 +222,16 @@ export async function resolveServerOptions (moduleContainer, moduleOptions, logg
221222 logMockCalls : options . logMockCalls , // for mocked only
222223 }
223224}
225+
226+ /**
227+ * @param {ThisParameterType<import('@nuxt/types').Module> } moduleContainer
228+ * @param {import('../../types/sentry').ResolvedModuleConfiguration } options
229+ * @return {import('../../types/sentry').ModuleConfiguration['config'] }
230+ */
231+ function getRuntimeConfig ( moduleContainer , options ) {
232+ const { publicRuntimeConfig } = moduleContainer . options
233+ const { runtimeConfigKey } = options
234+ if ( typeof ( publicRuntimeConfig ) !== 'function' && runtimeConfigKey in publicRuntimeConfig ) {
235+ return merge ( options . config , publicRuntimeConfig [ runtimeConfigKey ] . config , publicRuntimeConfig [ runtimeConfigKey ] . serverConfig )
236+ }
237+ }
0 commit comments