@@ -18,10 +18,6 @@ import { saveSvelteMetadata } from './utils/optimizer.js';
1818import { VitePluginSvelteCache } from './utils/vite-plugin-svelte-cache.js' ;
1919import { loadRaw } from './utils/load-raw.js' ;
2020import * as svelteCompiler from 'svelte/compiler' ;
21- import {
22- VITE_CLIENT_RESOLVE_CONDITIONS ,
23- VITE_SERVER_RESOLVE_CONDITIONS
24- } from './utils/constants.js' ;
2521
2622/**
2723 * @param {Partial<import('./public.d.ts').Options> } [inlineOptions]
@@ -67,14 +63,31 @@ export function svelte(inlineOptions) {
6763 log . debug ( 'additional vite config' , extraViteConfig , 'config' ) ;
6864 return extraViteConfig ;
6965 } ,
70- // @ts -ignore Allow exist in vite 6
71- configEnvironment ( name , config ) {
66+
67+ // @ts -ignore This hook only works in Vite 6
68+ async configEnvironment ( name , config , opts ) {
7269 config . resolve ??= { } ;
70+
71+ // Emulate Vite default fallback for `resolve.mainFields` if not set
72+ if ( config . resolve . mainFields == null ) {
73+ // These exports only exist in Vite 6
74+ const { defaultClientMainFields, defaultServerMainFields } = await import ( 'vite' ) ;
75+ if ( name === 'client' || opts . isSsrTargetWebworker ) {
76+ config . resolve . mainFields = [ ...defaultClientMainFields ] ;
77+ } else {
78+ config . resolve . mainFields = [ ...defaultServerMainFields ] ;
79+ }
80+ }
81+ config . resolve . mainFields . unshift ( 'svelte' ) ;
82+
83+ // Emulate Vite default fallback for `resolve.conditions` if not set
7384 if ( config . resolve . conditions == null ) {
74- if ( name === 'client' ) {
75- config . resolve . conditions = [ ...VITE_CLIENT_RESOLVE_CONDITIONS ] ;
85+ // These exports only exist in Vite 6
86+ const { defaultClientConditions, defaultServerConditions } = await import ( 'vite' ) ;
87+ if ( name === 'client' || opts . isSsrTargetWebworker ) {
88+ config . resolve . conditions = [ ...defaultClientConditions ] ;
7689 } else {
77- config . resolve . conditions = [ ...VITE_SERVER_RESOLVE_CONDITIONS ] ;
90+ config . resolve . conditions = [ ...defaultServerConditions ] ;
7891 }
7992 }
8093 config . resolve . conditions . push ( 'svelte' ) ;
0 commit comments