@@ -86,11 +86,16 @@ function resolveLazyOptions (options, apiMethods, logger) {
86
86
}
87
87
88
88
/**
89
- * @param {import('../../types/sentry').ResolvedModuleConfiguration } options
89
+ * @param {import('../../types/sentry').ModuleConfiguration['tracing'] } tracing
90
+ * @param {NonNullable<import('../../types/sentry').ModuleConfiguration['config']> } config
90
91
*/
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
+ {
94
99
tracesSampleRate : 1.0 ,
95
100
vueOptions : {
96
101
tracing : true ,
@@ -101,10 +106,11 @@ function resolveTracingOptions (options) {
101
106
} ,
102
107
} ,
103
108
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
108
114
}
109
115
}
110
116
@@ -118,11 +124,11 @@ export async function resolveClientOptions (moduleContainer, moduleOptions, logg
118
124
/** @type {import('../../types/sentry').ResolvedModuleConfiguration } */
119
125
const options = merge ( { } , moduleOptions )
120
126
121
- options . clientConfig = merge ( { } , options . config , options . clientConfig )
127
+ options . config = merge ( { } , options . config , options . clientConfig )
122
128
123
129
const apiMethods = await getApiMethods ( '@sentry/browser' )
124
130
resolveLazyOptions ( options , apiMethods , logger )
125
- resolveTracingOptions ( options )
131
+ resolveTracingOptions ( options . tracing , options . config )
126
132
127
133
for ( const name of Object . keys ( options . clientIntegrations ) ) {
128
134
if ( ! PLUGGABLE_INTEGRATIONS . includes ( name ) && ! BROWSER_INTEGRATIONS . includes ( name ) ) {
@@ -147,7 +153,7 @@ export async function resolveClientOptions (moduleContainer, moduleOptions, logg
147
153
runtimeConfigKey : options . runtimeConfigKey ,
148
154
config : {
149
155
dsn : options . dsn ,
150
- ...options . clientConfig ,
156
+ ...options . config ,
151
157
} ,
152
158
lazy : options . lazy ,
153
159
apiMethods,
@@ -202,17 +208,12 @@ export async function resolveServerOptions (moduleContainer, moduleOptions, logg
202
208
...customIntegrations ,
203
209
] ,
204
210
}
205
- options . config = merge ( defaultConfig , options . config , options . serverConfig )
206
211
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 ) )
212
213
213
214
const apiMethods = await getApiMethods ( '@sentry/node' )
214
215
resolveLazyOptions ( options , apiMethods , logger )
215
- resolveTracingOptions ( options )
216
+ resolveTracingOptions ( options . tracing , options . config )
216
217
217
218
return {
218
219
config : options . config ,
@@ -221,3 +222,16 @@ export async function resolveServerOptions (moduleContainer, moduleOptions, logg
221
222
logMockCalls : options . logMockCalls , // for mocked only
222
223
}
223
224
}
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