@@ -91,11 +91,11 @@ export class WorkspaceProject {
91
91
}
92
92
93
93
async globTestFiles ( filters : string [ ] = [ ] ) {
94
- const { dir, root } = this . config
94
+ const dir = this . config . dir || this . config . root
95
95
96
- const testFiles = await this . globAllTestFiles ( this . config , dir || root )
96
+ const testFiles = await this . globAllTestFiles ( this . config , dir )
97
97
98
- return this . filterFiles ( testFiles , filters )
98
+ return this . filterFiles ( testFiles , filters , dir )
99
99
}
100
100
101
101
async globAllTestFiles ( config : ResolvedConfig , cwd : string ) {
@@ -149,12 +149,18 @@ export class WorkspaceProject {
149
149
return code . includes ( 'import.meta.vitest' )
150
150
}
151
151
152
- filterFiles ( testFiles : string [ ] , filters : string [ ] = [ ] ) {
152
+ filterFiles ( testFiles : string [ ] , filters : string [ ] = [ ] , dir : string ) {
153
153
if ( filters . length && process . platform === 'win32' )
154
154
filters = filters . map ( f => toNamespacedPath ( f ) )
155
155
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
+ }
158
164
159
165
return testFiles
160
166
}
@@ -191,9 +197,12 @@ export class WorkspaceProject {
191
197
}
192
198
193
199
async typecheck ( filters : string [ ] = [ ] ) {
194
- const { dir, root } = this . config
200
+ const dir = this . config . dir || this . config . root
195
201
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
+
197
206
const checker = new Typechecker ( this , testsFilesList )
198
207
this . typechecker = checker
199
208
checker . onParseEnd ( async ( { files, sourceErrors } ) => {
0 commit comments