@@ -2,7 +2,9 @@ import * as SentryNode from '@sentry/node';
2
2
import type { NodeClient } from '@sentry/node' ;
3
3
import { SDK_VERSION } from '@sentry/node' ;
4
4
import { beforeEach , describe , expect , it , vi } from 'vitest' ;
5
+ import type { SentryNuxtServerOptions } from '../../src/common/types' ;
5
6
import { init } from '../../src/server' ;
7
+ import { mergeRegisterEsmLoaderHooks } from '../../src/server/sdk' ;
6
8
7
9
const nodeInit = vi . spyOn ( SentryNode , 'init' ) ;
8
10
@@ -82,4 +84,42 @@ describe('Nuxt Server SDK', () => {
82
84
) ;
83
85
} ) ;
84
86
} ) ;
87
+
88
+ describe ( 'mergeRegisterEsmLoaderHooks' , ( ) => {
89
+ it ( 'merges exclude array when registerEsmLoaderHooks is an object with an exclude array' , ( ) => {
90
+ const options : SentryNuxtServerOptions = {
91
+ registerEsmLoaderHooks : { exclude : [ / t e s t / ] } ,
92
+ } ;
93
+ const result = mergeRegisterEsmLoaderHooks ( options ) ;
94
+ expect ( result ) . toEqual ( { exclude : [ / t e s t / , / v u e / ] } ) ;
95
+ } ) ;
96
+
97
+ it ( 'sets exclude array when registerEsmLoaderHooks is an object without an exclude array' , ( ) => {
98
+ const options : SentryNuxtServerOptions = {
99
+ registerEsmLoaderHooks : { } ,
100
+ } ;
101
+ const result = mergeRegisterEsmLoaderHooks ( options ) ;
102
+ expect ( result ) . toEqual ( { exclude : [ / v u e / ] } ) ;
103
+ } ) ;
104
+
105
+ it ( 'returns boolean when registerEsmLoaderHooks is a boolean' , ( ) => {
106
+ const options1 : SentryNuxtServerOptions = {
107
+ registerEsmLoaderHooks : true ,
108
+ } ;
109
+ const result1 = mergeRegisterEsmLoaderHooks ( options1 ) ;
110
+ expect ( result1 ) . toBe ( true ) ;
111
+
112
+ const options2 : SentryNuxtServerOptions = {
113
+ registerEsmLoaderHooks : false ,
114
+ } ;
115
+ const result2 = mergeRegisterEsmLoaderHooks ( options2 ) ;
116
+ expect ( result2 ) . toBe ( false ) ;
117
+ } ) ;
118
+
119
+ it ( 'sets exclude array when registerEsmLoaderHooks is undefined' , ( ) => {
120
+ const options : SentryNuxtServerOptions = { } ;
121
+ const result = mergeRegisterEsmLoaderHooks ( options ) ;
122
+ expect ( result ) . toEqual ( { exclude : [ / v u e / ] } ) ;
123
+ } ) ;
124
+ } ) ;
85
125
} ) ;
0 commit comments