Skip to content

Commit d6ee456

Browse files
authored
fix: auto-import does not work when using @vitejs/plugin-vue alone (#1412)
1 parent 655ba86 commit d6ee456

File tree

2 files changed

+4
-35
lines changed

2 files changed

+4
-35
lines changed

packages/wxt/src/builtin-modules/unimport.ts

+2-30
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ import type {
66
WxtResolvedUnimportOptions,
77
} from '../types';
88
import { type Unimport, createUnimport } from 'unimport';
9-
import { Plugin } from 'vite';
10-
import { extname } from 'node:path';
9+
import UnimportPlugin from 'unimport/unplugin';
1110

1211
export default defineWxtModule({
1312
name: 'wxt:built-in:unimport',
@@ -53,38 +52,11 @@ export default defineWxtModule({
5352

5453
// Add vite plugin
5554
addViteConfig(wxt, () => ({
56-
plugins: [vitePlugin(unimport)],
55+
plugins: [UnimportPlugin.vite(options)],
5756
}));
5857
},
5958
});
6059

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-
8860
async function getImportsDeclarationEntry(
8961
unimport: Unimport,
9062
): Promise<WxtDirFileEntry> {

packages/wxt/src/testing/wxt-vitest-plugin.ts

+2-5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ import {
77
resolveAppConfig,
88
} from '../core/builders/vite/plugins';
99
import { InlineConfig } from '../types';
10-
import { vitePlugin as unimportPlugin } from '../builtin-modules/unimport';
11-
import { createUnimport } from 'unimport';
10+
import UnimportPlugin from 'unimport/unplugin';
1211
import { registerWxt, wxt } from '../core/wxt';
1312

1413
/**
@@ -39,9 +38,7 @@ export async function WxtVitest(
3938
extensionApiMock(wxt.config),
4039
];
4140
if (wxt.config.imports !== false) {
42-
const unimport = createUnimport(wxt.config.imports);
43-
await unimport.init();
44-
plugins.push(unimportPlugin(unimport));
41+
plugins.push(UnimportPlugin.vite(wxt.config.imports));
4542
}
4643

4744
return plugins;

0 commit comments

Comments
 (0)