@@ -36,10 +36,10 @@ type FullstackPluginOptions = {
3636 * @default true
3737 */
3838 serverHandler ?: boolean ;
39- // / **
40- // * @default ["ssr"]
41- // */
42- // serverEnvironments?: string[];
39+ /**
40+ * @default ["ssr"]
41+ */
42+ serverEnvironments ?: string [ ] ;
4343} ;
4444
4545type ImportAssetsMeta = {
@@ -68,8 +68,9 @@ export function serverHandlerPlugin(
6868 } ;
6969 } ,
7070 configureServer ( server ) {
71- assert ( isRunnableDevEnvironment ( server . environments . ssr ) ) ;
72- const environment = server . environments . ssr ;
71+ const name = ( pluginOpts ?. serverEnvironments ?? [ "ssr" ] ) [ 0 ] ! ;
72+ const environment = server . environments [ name ] ! ;
73+ assert ( isRunnableDevEnvironment ( environment ) ) ;
7374 const runner = environment . runner ;
7475 return ( ) => {
7576 server . middlewares . use ( async ( req , res , next ) => {
@@ -88,7 +89,7 @@ export function serverHandlerPlugin(
8889 ] ;
8990}
9091
91- export function assetsPlugin ( _pluginOpts ?: FullstackPluginOptions ) : Plugin [ ] {
92+ export function assetsPlugin ( pluginOpts ?: FullstackPluginOptions ) : Plugin [ ] {
9293 let server : ViteDevServer ;
9394 let resolvedConfig : ResolvedConfig ;
9495 const importAssetsMetaMap : {
@@ -107,6 +108,15 @@ export function assetsPlugin(_pluginOpts?: FullstackPluginOptions): Plugin[] {
107108 configResolved ( config ) {
108109 resolvedConfig = config ;
109110 } ,
111+ configEnvironment ( name ) {
112+ if ( pluginOpts ?. serverEnvironments ?. includes ( name ) ) {
113+ return {
114+ build : {
115+ emitAssets : true ,
116+ } ,
117+ } ;
118+ }
119+ } ,
110120 /**
111121 * [Transform input]
112122 * const assets = import.meta.vite.assets(...)
0 commit comments