@@ -229,3 +229,55 @@ describe('server correctly caches data', () => {
229229 expect ( webFiles ) . toHaveLength ( 1 )
230230 } )
231231} )
232+
233+ describe ( 'externalize' , ( ) => {
234+ describe ( 'by default' , ( ) => {
235+ test ( 'should externalize vite\'s cached dependencies' , async ( ) => {
236+ const vnServer = new ViteNodeServer ( {
237+ config : {
238+ root : '/' ,
239+ cacheDir : '/node_modules/.vite' ,
240+ } ,
241+ } as any , { } )
242+
243+ const externalize = await vnServer . shouldExternalize ( '/node_modules/.vite/cached.js' )
244+ expect ( externalize ) . toBeTruthy ( )
245+ } )
246+ } )
247+
248+ describe ( 'with server.deps.inline: true' , ( ) => {
249+ test ( 'should not externalize vite\'s cached dependencies' , async ( ) => {
250+ const vnServer = new ViteNodeServer ( {
251+ config : {
252+ root : '/' ,
253+ cacheDir : '/node_modules/.vite' ,
254+ } ,
255+ } as any , {
256+ deps : {
257+ inline : true ,
258+ } ,
259+ } )
260+
261+ const externalize = await vnServer . shouldExternalize ( '/node_modules/.vite/cached.js' )
262+ expect ( externalize ) . toBeFalsy ( )
263+ } )
264+ } )
265+
266+ describe ( 'with server.deps.inline including the cache dir' , ( ) => {
267+ test ( 'should not externalize vite\'s cached dependencies' , async ( ) => {
268+ const vnServer = new ViteNodeServer ( {
269+ config : {
270+ root : '/' ,
271+ cacheDir : '/node_modules/.vite' ,
272+ } ,
273+ } as any , {
274+ deps : {
275+ inline : [ / n o d e _ m o d u l e s \/ \. v i t e / ] ,
276+ } ,
277+ } )
278+
279+ const externalize = await vnServer . shouldExternalize ( '/node_modules/.vite/cached.js' )
280+ expect ( externalize ) . toBeFalsy ( )
281+ } )
282+ } )
283+ } )
0 commit comments