@@ -91,11 +91,11 @@ export class WorkspaceProject {
9191 }
9292
9393 async globTestFiles ( filters : string [ ] = [ ] ) {
94- const { dir, root } = this . config
94+ const dir = this . config . dir || this . config . root
9595
96- const testFiles = await this . globAllTestFiles ( this . config , dir || root )
96+ const testFiles = await this . globAllTestFiles ( this . config , dir )
9797
98- return this . filterFiles ( testFiles , filters )
98+ return this . filterFiles ( testFiles , filters , dir )
9999 }
100100
101101 async globAllTestFiles ( config : ResolvedConfig , cwd : string ) {
@@ -149,12 +149,18 @@ export class WorkspaceProject {
149149 return code . includes ( 'import.meta.vitest' )
150150 }
151151
152- filterFiles ( testFiles : string [ ] , filters : string [ ] = [ ] ) {
152+ filterFiles ( testFiles : string [ ] , filters : string [ ] = [ ] , dir : string ) {
153153 if ( filters . length && process . platform === 'win32' )
154154 filters = filters . map ( f => toNamespacedPath ( f ) )
155155
156- if ( filters . length )
157- return testFiles . filter ( i => filters . some ( f => i . includes ( f ) ) )
156+ if ( filters . length ) {
157+ return testFiles . filter ( ( t ) => {
158+ const testFile = relative ( dir , t )
159+ return filters . some ( ( f ) => {
160+ return testFile . includes ( f ) || testFile . includes ( relative ( dir , f ) )
161+ } )
162+ } )
163+ }
158164
159165 return testFiles
160166 }
@@ -191,9 +197,12 @@ export class WorkspaceProject {
191197 }
192198
193199 async typecheck ( filters : string [ ] = [ ] ) {
194- const { dir, root } = this . config
200+ const dir = this . config . dir || this . config . root
195201 const { include, exclude } = this . config . typecheck
196- const testsFilesList = this . filterFiles ( await this . globFiles ( include , exclude , dir || root ) , filters )
202+
203+ const testFiles = await this . globFiles ( include , exclude , dir )
204+ const testsFilesList = this . filterFiles ( testFiles , filters , dir )
205+
197206 const checker = new Typechecker ( this , testsFilesList )
198207 this . typechecker = checker
199208 checker . onParseEnd ( async ( { files, sourceErrors } ) => {
0 commit comments