File tree 5 files changed +31
-1
lines changed
5 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -305,6 +305,10 @@ AutoImport({
305
305
/* ... */
306
306
],
307
307
308
+ // Include auto-imported packages in Vite's `optimizeDeps` options
309
+ // Recommend to enable
310
+ viteOptimizeDeps: false ,
311
+
308
312
// Inject the imports at the end of other imports
309
313
injectAtEnd: true ,
310
314
Original file line number Diff line number Diff line change @@ -254,6 +254,7 @@ ${dts}`.trim()}\n`
254
254
transform,
255
255
generateDTS,
256
256
generateESLint,
257
+ unimport,
257
258
}
258
259
}
259
260
Original file line number Diff line number Diff line change @@ -22,6 +22,24 @@ export default createUnplugin<Options>((options) => {
22
22
await ctx . writeConfigFiles ( )
23
23
} ,
24
24
vite : {
25
+ async config ( config ) {
26
+ if ( ! options . viteOptimizeDeps )
27
+ return
28
+
29
+ const exclude = config . optimizeDeps ?. exclude || [ ]
30
+
31
+ const imports = new Set ( ( await ctx . unimport . getImports ( ) ) . map ( i => i . from )
32
+ . filter ( i => i . match ( / ^ [ a - z @ ] / ) && ! exclude . includes ( i ) ) )
33
+
34
+ if ( ! imports . size )
35
+ return
36
+
37
+ return {
38
+ optimizeDeps : {
39
+ include : [ ...imports ] ,
40
+ } ,
41
+ }
42
+ } ,
25
43
async handleHotUpdate ( { file } ) {
26
44
if ( ctx . dirs ?. some ( glob => minimatch ( slash ( file ) , slash ( glob ) ) ) )
27
45
await ctx . scanDirs ( )
Original file line number Diff line number Diff line change @@ -168,6 +168,13 @@ export interface Options {
168
168
* Generate corresponding .eslintrc-auto-import.json file.
169
169
*/
170
170
eslintrc ?: ESLintrc
171
+
172
+ /**
173
+ * Include auto-imported packages in Vite's `optimizeDeps` option
174
+ *
175
+ * @default false
176
+ */
177
+ viteOptimizeDeps ?: boolean
171
178
}
172
179
173
180
export { PresetName }
Original file line number Diff line number Diff line change 1
1
{
2
2
"compilerOptions" : {
3
- "target" : " es2017 " ,
3
+ "target" : " es2018 " ,
4
4
"jsx" : " preserve" ,
5
5
"lib" : [" esnext" ],
6
6
"module" : " esnext" ,
You can’t perform that action at this time.
0 commit comments