Skip to content

Commit 2319f84

Browse files
authoredJan 13, 2025··
fix: allow slots in vitest-browser-vue (#7120)
1 parent cc39efc commit 2319f84

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed
 

‎packages/browser/src/node/plugin.ts

+13-5
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,15 @@ export default (parentServer: ParentBrowserProject, base = '/'): Plugin[] => {
245245
}
246246

247247
// since we override the resolution in the esbuild plugin, Vite can no longer optimizer it
248-
// have ?. until Vitest 3.0 for backwards compatibility
248+
const vue = isPackageExists('vitest-browser-vue', fileRoot)
249+
if (vue) {
250+
// we override them in the esbuild plugin so optimizer can no longer intercept it
251+
include.push(
252+
'vitest-browser-vue',
253+
'vitest-browser-vue > @vue/test-utils',
254+
'vitest-browser-vue > @vue/test-utils > @vue/compiler-core',
255+
)
256+
}
249257
const vueTestUtils = isPackageExists('@vue/test-utils', fileRoot)
250258
if (vueTestUtils) {
251259
include.push('@vue/test-utils')
@@ -522,10 +530,10 @@ body {
522530
{
523531
name: 'test-utils-rewrite',
524532
setup(build) {
525-
build.onResolve({ filter: /^@vue\/test-utils$/ }, (args) => {
526-
const _require = getRequire()
527-
// resolve to CJS instead of the browser because the browser version expects a global Vue object
528-
const resolved = _require.resolve(args.path, {
533+
// test-utils: resolve to CJS instead of the browser because the browser version expects a global Vue object
534+
// compiler-core: only CJS version allows slots as strings
535+
build.onResolve({ filter: /^@vue\/(test-utils|compiler-core)$/ }, (args) => {
536+
const resolved = getRequire().resolve(args.path, {
529537
paths: [args.importer],
530538
})
531539
return { path: resolved }

0 commit comments

Comments
 (0)
Please sign in to comment.