File tree Expand file tree Collapse file tree 2 files changed +26
-16
lines changed
Expand file tree Collapse file tree 2 files changed +26
-16
lines changed Original file line number Diff line number Diff line change 11import { fileURLToPath } from 'node:url'
22import { readFile } from 'node:fs/promises'
3+ import { createRequire } from 'node:module'
34import { basename , join , resolve } from 'pathe'
45import sirv from 'sirv'
56import type { ViteDevServer } from 'vite'
@@ -209,6 +210,31 @@ export default (project: WorkspaceProject, base = '/'): Plugin[] => {
209210 } ,
210211 BrowserContext ( project ) ,
211212 DynamicImport ( ) ,
213+ // TODO: remove this when @testing -library/vue supports ESM
214+ {
215+ name : 'vitest:browser:support-vue-testing-library' ,
216+ config ( ) {
217+ return {
218+ optimizeDeps : {
219+ esbuildOptions : {
220+ plugins : [
221+ {
222+ name : 'test-utils-rewrite' ,
223+ setup ( build ) {
224+ const _require = createRequire ( import . meta. url )
225+ build . onResolve ( { filter : / @ v u e \/ t e s t - u t i l s / } , ( args ) => {
226+ // resolve to CJS instead of the browser because the browser version expects a global Vue object
227+ const resolved = _require . resolve ( args . path , { paths : [ args . importer ] } )
228+ return { path : resolved }
229+ } )
230+ } ,
231+ } ,
232+ ] ,
233+ } ,
234+ } ,
235+ }
236+ } ,
237+ } ,
212238 ]
213239}
214240
Original file line number Diff line number Diff line change 1- import { createRequire } from 'node:module'
21import { resolve } from 'pathe'
32import type { UserConfig } from 'vite'
43import { defineConfig } from 'vite'
@@ -87,21 +86,6 @@ export const config: UserConfig = {
8786 'vue' ,
8887 '@vue/test-utils' ,
8988 ] ,
90- esbuildOptions : {
91- plugins : [
92- {
93- name : 'test-utils-rewrite' ,
94- setup ( build ) {
95- const _require = createRequire ( import . meta. url )
96- build . onResolve ( { filter : / @ v u e \/ t e s t - u t i l s / } , ( args ) => {
97- // resolve to CJS instead of the browser because the browser version expects a global Vue object
98- const resolved = _require . resolve ( args . path , { paths : [ args . importer ] } )
99- return { path : resolved }
100- } )
101- } ,
102- } ,
103- ] ,
104- } ,
10589 } ,
10690 test : {
10791 browser : {
You can’t perform that action at this time.
0 commit comments