@@ -8,7 +8,7 @@ import { safeBase64Hash } from '../utils/hash.js';
8
8
import { normalize } from '../utils/id.js' ;
9
9
import * as vite from 'vite' ;
10
10
// @ts -expect-error not typed on vite
11
- const { rolldownVersion} = vite ;
11
+ const { rolldownVersion } = vite ;
12
12
13
13
/**
14
14
* @typedef {NonNullable<import('vite').DepOptimizationOptions['esbuildOptions']> } EsbuildOptions
@@ -25,14 +25,14 @@ const optimizeSvelteModulePluginName = 'vite-plugin-svelte:optimize-module';
25
25
* @param {import('../types/plugin-api.d.ts').PluginAPI } api
26
26
* @returns {import('vite').Plugin }
27
27
*/
28
- export function setupOptimizer ( { options } ) {
28
+ export function setupOptimizer ( api ) {
29
29
/** @type {import('vite').ResolvedConfig } */
30
30
let viteConfig ;
31
31
32
- return {
32
+ return {
33
33
name : 'vite-plugin-svelte:setup-optimizer' ,
34
34
apply : 'serve' ,
35
- config ( ) {
35
+ config ( ) {
36
36
/** @type {import('vite').UserConfig['optimizeDeps'] } */
37
37
const optimizeDeps = { } ;
38
38
// Add optimizer plugins to prebundle Svelte files.
@@ -54,7 +54,7 @@ export function setupOptimizer({options}) {
54
54
]
55
55
} ;
56
56
}
57
- return { optimizeDeps} ;
57
+ return { optimizeDeps } ;
58
58
} ,
59
59
configResolved ( c ) {
60
60
viteConfig = c ;
@@ -66,30 +66,30 @@ export function setupOptimizer({options}) {
66
66
[ optimizeSveltePluginName , optimizeSvelteModulePluginName ] . includes ( p . name )
67
67
) ?? [ ] ;
68
68
for ( const plugin of plugins ) {
69
- patchRolldownOptimizerPlugin ( plugin , options ) ;
69
+ patchRolldownOptimizerPlugin ( plugin , api . options ) ;
70
70
}
71
71
} else {
72
- const plugins = optimizeDeps . esbuildOptions ?. plugins ?. filter ( ( p ) =>
73
- [ optimizeSveltePluginName , optimizeSvelteModulePluginName ] . includes ( p . name )
74
- ) ?? [ ] ;
72
+ const plugins =
73
+ optimizeDeps . esbuildOptions ?. plugins ?. filter ( ( p ) =>
74
+ [ optimizeSveltePluginName , optimizeSvelteModulePluginName ] . includes ( p . name )
75
+ ) ?? [ ] ;
75
76
for ( const plugin of plugins ) {
76
- patchESBuildOptimizerPlugin ( plugin , options ) ;
77
+ patchESBuildOptimizerPlugin ( plugin , api . options ) ;
77
78
}
78
79
}
79
80
} ,
80
81
async buildStart ( ) {
81
- if ( ! options . prebundleSvelteLibraries ) return ;
82
- const changed = await svelteMetadataChanged ( viteConfig . cacheDir , options ) ;
82
+ if ( ! api . options . prebundleSvelteLibraries ) return ;
83
+ const changed = await svelteMetadataChanged ( viteConfig . cacheDir , api . options ) ;
83
84
if ( changed ) {
84
85
// Force Vite to optimize again. Although we mutate the config here, it works because
85
86
// Vite's optimizer runs after `buildStart()`.
86
87
viteConfig . optimizeDeps . force = true ;
87
88
}
88
- } ,
89
+ }
89
90
} ;
90
91
}
91
92
92
-
93
93
/**
94
94
* @param {EsbuildPlugin } plugin
95
95
* @param {import('../types/options.d.ts').ResolvedOptions } options
@@ -231,9 +231,9 @@ async function compileSvelte(options, { filename, code }, statsCollection) {
231
231
232
232
const finalCompileOptions = dynamicCompileOptions
233
233
? {
234
- ...compileOptions ,
235
- ...dynamicCompileOptions
236
- }
234
+ ...compileOptions ,
235
+ ...dynamicCompileOptions
236
+ }
237
237
: compileOptions ;
238
238
const endStat = statsCollection ?. start ( filename ) ;
239
239
const compiled = svelte . compile ( finalCode , finalCompileOptions ) ;
@@ -268,7 +268,6 @@ async function compileSvelteModule(options, { filename, code }, statsCollection)
268
268
} ;
269
269
}
270
270
271
-
272
271
// List of options that changes the prebundling result
273
272
/** @type {(keyof import('../types/options.d.ts').ResolvedOptions)[] } */
274
273
const PREBUNDLE_SENSITIVE_OPTIONS = [
@@ -314,14 +313,14 @@ async function svelteMetadataChanged(cacheDir, options) {
314
313
* @param {string } name
315
314
* @returns {import('vite').Rollup.Plugin }
316
315
*/
317
- function placeholderRolldownOptimizerPlugin ( name ) {
316
+ function placeholderRolldownOptimizerPlugin ( name ) {
318
317
return {
319
318
name,
320
319
options ( ) { } ,
321
320
buildStart ( ) { } ,
322
321
buildEnd ( ) { } ,
323
322
transform : { filter : { id : / ^ $ / } , handler ( ) { } }
324
- }
323
+ } ;
325
324
}
326
325
327
326
/**
@@ -336,4 +335,3 @@ function generateSvelteMetadata(options) {
336
335
}
337
336
return metadata ;
338
337
}
339
-
0 commit comments