@@ -17,6 +17,9 @@ import { PostCSSConfigResult, resolvePostcssConfig } from './postcss';
1717const styleUpdateEvent = ( fileId : string ) =>
1818 `vanilla-extract-style-update:${ fileId } ` ;
1919
20+ const virtualExtCss = '.vanilla.css' ;
21+ const virtualExtJs = '.vanilla.js' ;
22+
2023interface Options {
2124 identifiers ?: IdentifierOption ;
2225 esbuildOptions ?: CompileOptions [ 'esbuildOptions' ] ;
@@ -30,7 +33,7 @@ export function vanillaExtractPlugin({
3033 let postCssConfig : PostCSSConfigResult | null ;
3134 const cssMap = new Map < string , string > ( ) ;
3235
33- let virtualExt : string ;
36+ let forceEmitCssInSsrBuild : boolean = ! ! process . env . VITE_RSC_BUILD ;
3437 let packageName : string ;
3538
3639 const getAbsoluteVirtualFileId = ( source : string ) =>
@@ -65,11 +68,13 @@ export function vanillaExtractPlugin({
6568 postCssConfig = await resolvePostcssConfig ( config ) ;
6669 }
6770
68- virtualExt = `.vanilla.${ config . command === 'serve' ? 'js' : 'css' } ` ;
71+ if ( config . plugins . some ( ( p ) => p . name === 'astro:build' ) ) {
72+ forceEmitCssInSsrBuild = true ;
73+ }
6974 } ,
7075 resolveId ( source ) {
7176 const [ validId , query ] = source . split ( '?' ) ;
72- if ( ! validId . endsWith ( virtualExt ) ) {
77+ if ( ! validId . endsWith ( virtualExtCss ) && ! validId . endsWith ( virtualExtJs ) ) {
7378 return ;
7479 }
7580
@@ -100,7 +105,7 @@ export function vanillaExtractPlugin({
100105 return ;
101106 }
102107
103- if ( ! server || server . config . isProduction ) {
108+ if ( validId . endsWith ( virtualExtCss ) ) {
104109 return css ;
105110 }
106111
@@ -136,7 +141,7 @@ export function vanillaExtractPlugin({
136141 ssr = ssrParam ?. ssr ;
137142 }
138143
139- if ( ssr && ! process . env . VITE_RSC_BUILD ) {
144+ if ( ssr && ! forceEmitCssInSsrBuild ) {
140145 return addFileScope ( {
141146 source : code ,
142147 filePath : normalizePath ( validId ) ,
@@ -165,7 +170,11 @@ export function vanillaExtractPlugin({
165170 identOption :
166171 identifiers ?? ( config . mode === 'production' ? 'short' : 'debug' ) ,
167172 serializeVirtualCssPath : async ( { fileScope, source } ) => {
168- const rootRelativeId = `${ fileScope . filePath } ${ virtualExt } ` ;
173+ const rootRelativeId = `${ fileScope . filePath } ${
174+ config . command === 'build' || ( ssr && forceEmitCssInSsrBuild )
175+ ? virtualExtCss
176+ : virtualExtJs
177+ } `;
169178 const absoluteId = getAbsoluteVirtualFileId ( rootRelativeId ) ;
170179
171180 let cssSource = source ;
0 commit comments