@@ -234,27 +234,32 @@ describe('module runner initialization', async () => {
234234 } )
235235
236236 it . for ( [
237- [ '/fixtures/cyclic2/test1/index.js' , true ] ,
238- [ '/fixtures/cyclic2/test2/index.js' , true ] ,
239- [ '/fixtures/cyclic2/test3/index.js' , true ] ,
240- [ '/fixtures/cyclic2/test4/index.js' , true ] ,
241- [ '/fixtures/cyclic2/test5/index.js' , false ] ,
242- ] as const ) ( `cyclic %s` , async ( [ entry , ok ] , { runner } ) => {
243- if ( ok ) {
244- const mod = await runner . import ( entry )
245- expect ( { ...mod } ) . toEqual ( {
246- dep1 : {
247- ok : true ,
248- } ,
249- dep2 : {
250- ok : true ,
251- } ,
252- } )
253- } else {
254- await expect ( ( ) => runner . import ( entry ) ) . rejects . toMatchObject ( {
255- name : 'ReferenceError' ,
256- } )
257- }
237+ '/fixtures/cyclic2/test1/index.js' ,
238+ '/fixtures/cyclic2/test2/index.js' ,
239+ '/fixtures/cyclic2/test3/index.js' ,
240+ '/fixtures/cyclic2/test4/index.js' ,
241+ ] as const ) ( `cyclic %s` , async ( entry , { runner } ) => {
242+ const mod = await runner . import ( entry )
243+ expect ( { ...mod } ) . toEqual ( {
244+ dep1 : {
245+ ok : true ,
246+ } ,
247+ dep2 : {
248+ ok : true ,
249+ } ,
250+ } )
251+ } )
252+
253+ it ( `cyclic invalid` , async ( { runner } ) => {
254+ // Node also fails but with a different message
255+ // $ node packages/vite/src/node/ssr/runtime/__tests__/fixtures/cyclic2/test5/index.js
256+ // ReferenceError: Cannot access 'dep1' before initialization
257+ await expect ( ( ) =>
258+ runner . import ( '/fixtures/cyclic2/test5/index.js' ) ,
259+ ) . rejects . toMatchObject ( {
260+ name : 'ReferenceError' ,
261+ message : `Cannot access '__vite_ssr_import_1__' before initialization` ,
262+ } )
258263 } )
259264} )
260265
0 commit comments