@@ -15,8 +15,8 @@ const runtimeFilePath = require.resolve('solid-refresh/dist/solid-refresh.mjs');
1515const runtimeCode = readFileSync ( runtimeFilePath , 'utf-8' ) ;
1616
1717const viteVersionMajor = + version . split ( '.' ) [ 0 ] ;
18- const isVite6 = viteVersionMajor >= 6 ;
19- const isVite8 = viteVersionMajor >= 8 ;
18+ const isVite6OrNewer = viteVersionMajor >= 6 ;
19+ const isVite8OrNewer = viteVersionMajor >= 8 ;
2020
2121/** Possible options for the extensions property */
2222export interface ExtensionOptions {
@@ -266,7 +266,7 @@ export default function solidPlugin(options: Partial<Options> = {}): Plugin {
266266 */
267267 // esbuild: { include: /\.ts$/ },
268268 resolve : {
269- conditions : isVite6
269+ conditions : isVite6OrNewer
270270 ? undefined
271271 : [
272272 'solid' ,
@@ -283,11 +283,11 @@ export default function solidPlugin(options: Partial<Options> = {}): Plugin {
283283 // React's automatic JSX runtime for .tsx files, injecting a
284284 // react/jsx-dev-runtime import. Tell it to preserve JSX as-is since
285285 // this plugin handles JSX transformation via babel-preset-solid.
286- ...( isVite8
286+ ...( isVite8OrNewer
287287 ? { rolldownOptions : { transform : { jsx : 'preserve' as const } } }
288288 : { } ) ,
289289 } ,
290- ...( ! isVite6 ? { ssr : solidPkgsConfig . ssr } : { } ) ,
290+ ...( ! isVite6OrNewer ? { ssr : solidPkgsConfig . ssr } : { } ) ,
291291 ...( test . server ? { test } : { } ) ,
292292 } ;
293293 } ,
@@ -314,7 +314,7 @@ export default function solidPlugin(options: Partial<Options> = {}): Plugin {
314314
315315 // Set resolve.noExternal and resolve.external for SSR environment (Vite 6+)
316316 // Only set resolve.external if noExternal is not true (to avoid conflicts with plugins like Cloudflare)
317- if ( isVite6 && name === 'ssr' && solidPkgsConfig ) {
317+ if ( isVite6OrNewer && name === 'ssr' && solidPkgsConfig ) {
318318 if ( config . resolve . noExternal !== true ) {
319319 config . resolve . noExternal = [
320320 ...( Array . isArray ( config . resolve . noExternal ) ? config . resolve . noExternal : [ ] ) ,
@@ -341,7 +341,9 @@ export default function solidPlugin(options: Partial<Options> = {}): Plugin {
341341 } ,
342342
343343 async transform ( source , id , transformOptions ) {
344- const isSsr = transformOptions && transformOptions . ssr ;
344+ const isSsr = this . environment
345+ ? this . environment . config . consumer === 'server'
346+ : Boolean ( transformOptions ?. ssr ) ;
345347 const currentFileExtension = getExtension ( id ) ;
346348
347349 const extensionsToWatch = options . extensions || [ ] ;
0 commit comments