File tree 2 files changed +11
-6
lines changed
packages/vite/src/node/ssr
2 files changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -103,9 +103,11 @@ test('export * from', async () => {
103
103
) ,
104
104
) . toMatchInlineSnapshot ( `
105
105
"const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
106
- const __vite_ssr_import_1__ = await __vite_ssr_import__(\\"react\\");
107
106
__vite_ssr_exportAll__(__vite_ssr_import_0__);
108
- __vite_ssr_exportAll__(__vite_ssr_import_1__);"
107
+ const __vite_ssr_import_1__ = await __vite_ssr_import__(\\"react\\");
108
+ __vite_ssr_exportAll__(__vite_ssr_import_1__);
109
+
110
+ "
109
111
` )
110
112
} )
111
113
@@ -132,7 +134,8 @@ test('export then import minified', async () => {
132
134
) . toMatchInlineSnapshot ( `
133
135
"const __vite_ssr_import_0__ = await __vite_ssr_import__(\\"vue\\");
134
136
const __vite_ssr_import_1__ = await __vite_ssr_import__(\\"vue\\");
135
- __vite_ssr_exportAll__(__vite_ssr_import_1__);"
137
+ __vite_ssr_exportAll__(__vite_ssr_import_1__);
138
+ "
136
139
` )
137
140
} )
138
141
Original file line number Diff line number Diff line change @@ -164,9 +164,10 @@ async function ssrTransformScript(
164
164
if ( node . source ) {
165
165
// export { foo, bar } from './foo'
166
166
const importId = defineImport ( node . source . value as string )
167
+ // hoist re-exports near the defined import so they are immediately exported
167
168
for ( const spec of node . specifiers ) {
168
169
defineExport (
169
- node . end ,
170
+ 0 ,
170
171
spec . exported . name ,
171
172
`${ importId } .${ spec . local . name } ` ,
172
173
)
@@ -213,10 +214,11 @@ async function ssrTransformScript(
213
214
if ( node . type === 'ExportAllDeclaration' ) {
214
215
s . remove ( node . start , node . end )
215
216
const importId = defineImport ( node . source . value as string )
217
+ // hoist re-exports near the defined import so they are immediately exported
216
218
if ( node . exported ) {
217
- defineExport ( node . end , node . exported . name , `${ importId } ` )
219
+ defineExport ( 0 , node . exported . name , `${ importId } ` )
218
220
} else {
219
- s . appendLeft ( node . end , `${ ssrExportAllKey } (${ importId } );` )
221
+ s . appendLeft ( 0 , `${ ssrExportAllKey } (${ importId } );\n ` )
220
222
}
221
223
}
222
224
}
You can’t perform that action at this time.
0 commit comments