@@ -103,8 +103,8 @@ test('export * from', async () => {
103
103
) ,
104
104
) . toMatchInlineSnapshot ( `
105
105
"const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
106
- __vite_ssr_exportAll__(__vite_ssr_import_0__);
107
106
const __vite_ssr_import_1__ = await __vite_ssr_import__(\\"react\\");
107
+ __vite_ssr_exportAll__(__vite_ssr_import_0__);
108
108
__vite_ssr_exportAll__(__vite_ssr_import_1__);"
109
109
` )
110
110
} )
@@ -130,9 +130,20 @@ test('export then import minified', async () => {
130
130
`export * from 'vue';import {createApp} from 'vue';` ,
131
131
) ,
132
132
) . toMatchInlineSnapshot ( `
133
- "const __vite_ssr_import_1__ = await __vite_ssr_import__(\\"vue\\");
134
- __vite_ssr_exportAll__(__vite_ssr_import_1__);const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
135
- "
133
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
134
+ const __vite_ssr_import_1__ = await __vite_ssr_import__(\\"vue\\");
135
+ __vite_ssr_exportAll__(__vite_ssr_import_1__);"
136
+ ` )
137
+ } )
138
+
139
+ test ( 'hoist import to top' , async ( ) => {
140
+ expect (
141
+ await ssrTransformSimpleCode (
142
+ `path.resolve('server.js');import path from 'node:path';` ,
143
+ ) ,
144
+ ) . toMatchInlineSnapshot ( `
145
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"node:path\\");
146
+ __vite_ssr_import_0__.default.resolve('server.js');"
136
147
` )
137
148
} )
138
149
@@ -369,8 +380,8 @@ function c({ _ = bar() + foo() }) {}
369
380
` ,
370
381
) ,
371
382
) . toMatchInlineSnapshot ( `
372
- "
373
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
383
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
384
+
374
385
375
386
const a = ({ _ = __vite_ssr_import_0__.foo() }) => {}
376
387
function b({ _ = __vite_ssr_import_0__.bar() }) {}
@@ -391,8 +402,8 @@ const a = () => {
391
402
` ,
392
403
) ,
393
404
) . toMatchInlineSnapshot ( `
394
- "
395
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
405
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
406
+
396
407
397
408
const a = () => {
398
409
const { type: n = 'bar' } = {}
@@ -414,8 +425,8 @@ const foo = {}
414
425
` ,
415
426
) ,
416
427
) . toMatchInlineSnapshot ( `
417
- "
418
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
428
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
429
+
419
430
420
431
const foo = {}
421
432
@@ -457,8 +468,8 @@ objRest()
457
468
` ,
458
469
) ,
459
470
) . toMatchInlineSnapshot ( `
460
- "
461
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
471
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
472
+
462
473
463
474
464
475
function a() {
@@ -507,8 +518,8 @@ const obj = {
507
518
` ,
508
519
) ,
509
520
) . toMatchInlineSnapshot ( `
510
- "
511
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
521
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
522
+
512
523
513
524
514
525
const bar = 'bar'
@@ -539,8 +550,8 @@ class A {
539
550
` ,
540
551
) ,
541
552
) . toMatchInlineSnapshot ( `
542
- "
543
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
553
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
554
+
544
555
545
556
546
557
const add = __vite_ssr_import_0__.add;
@@ -571,8 +582,8 @@ class A {
571
582
` ,
572
583
) ,
573
584
) . toMatchInlineSnapshot ( `
574
- "
575
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
585
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foo\\");
586
+
576
587
577
588
578
589
const bar = 'bar'
@@ -617,8 +628,8 @@ bbb()
617
628
` ,
618
629
) ,
619
630
) . toMatchInlineSnapshot ( `
620
- "
621
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
631
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
632
+
622
633
623
634
624
635
function foobar() {
@@ -662,15 +673,15 @@ test('jsx', async () => {
662
673
const result = await transformWithEsbuild ( code , id )
663
674
expect ( await ssrTransformSimpleCode ( result . code , '/foo.jsx' ) )
664
675
. toMatchInlineSnapshot ( `
665
- "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"react\\");
676
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"react\\");
677
+ const __vite_ssr_import_1__ = await __vite_ssr_import__(\\"foo\\");
666
678
667
- const __vite_ssr_import_1__ = await __vite_ssr_import__(\\"foo\\");
668
679
669
- function Bar({ Slot: Slot2 = /* @__PURE__ */ __vite_ssr_import_0__.default.createElement(__vite_ssr_import_1__.Foo, null) }) {
670
- return /* @__PURE__ */ __vite_ssr_import_0__.default.createElement(__vite_ssr_import_0__.default.Fragment, null, /* @__PURE__ */ __vite_ssr_import_0__.default.createElement(Slot2, null));
671
- }
672
- "
673
- ` )
680
+ function Bar({ Slot: Slot2 = /* @__PURE__ */ __vite_ssr_import_0__.default.createElement(__vite_ssr_import_1__.Foo, null) }) {
681
+ return /* @__PURE__ */ __vite_ssr_import_0__.default.createElement(__vite_ssr_import_0__.default.Fragment, null, /* @__PURE__ */ __vite_ssr_import_0__.default.createElement(Slot2, null));
682
+ }
683
+ "
684
+ ` )
674
685
} )
675
686
676
687
test ( 'continuous exports' , async ( ) => {
@@ -801,8 +812,8 @@ function test() {
801
812
return [foo, bar]
802
813
}` ) ,
803
814
) . toMatchInlineSnapshot ( `
804
- "
805
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foobar\\");
815
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foobar\\");
816
+
806
817
807
818
function test() {
808
819
if (true) {
@@ -828,8 +839,8 @@ function test() {
828
839
return bar;
829
840
}` ) ,
830
841
) . toMatchInlineSnapshot ( `
831
- "
832
- const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foobar\\");
842
+ "const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"foobar\\");
843
+
833
844
834
845
function test() {
835
846
[__vite_ssr_import_0__.foo];
0 commit comments