@@ -6,8 +6,7 @@ import type {
6
6
WxtResolvedUnimportOptions ,
7
7
} from '../types' ;
8
8
import { type Unimport , createUnimport } from 'unimport' ;
9
- import { Plugin } from 'vite' ;
10
- import { extname } from 'node:path' ;
9
+ import UnimportPlugin from 'unimport/unplugin' ;
11
10
12
11
export default defineWxtModule ( {
13
12
name : 'wxt:built-in:unimport' ,
@@ -53,38 +52,11 @@ export default defineWxtModule({
53
52
54
53
// Add vite plugin
55
54
addViteConfig ( wxt , ( ) => ( {
56
- plugins : [ vitePlugin ( unimport ) ] ,
55
+ plugins : [ UnimportPlugin . vite ( options ) ] ,
57
56
} ) ) ;
58
57
} ,
59
58
} ) ;
60
59
61
- export function vitePlugin ( unimport : Unimport ) : Plugin {
62
- const ENABLED_EXTENSIONS = new Set ( [
63
- '.js' ,
64
- '.jsx' ,
65
- '.ts' ,
66
- '.tsx' ,
67
- '.vue' ,
68
- '.svelte' ,
69
- ] ) ;
70
- return {
71
- name : 'wxt:unimport' ,
72
- async transform ( code , id ) {
73
- // Don't transform dependencies
74
- if ( id . includes ( 'node_modules' ) ) return ;
75
-
76
- // Don't transform non-js files
77
- if ( ! ENABLED_EXTENSIONS . has ( extname ( id ) ) ) return ;
78
-
79
- const injected = await unimport . injectImports ( code , id ) ;
80
- return {
81
- code : injected . code ,
82
- map : injected . s . generateMap ( { hires : 'boundary' , source : id } ) ,
83
- } ;
84
- } ,
85
- } ;
86
- }
87
-
88
60
async function getImportsDeclarationEntry (
89
61
unimport : Unimport ,
90
62
) : Promise < WxtDirFileEntry > {
0 commit comments