@@ -18,6 +18,7 @@ import { getCoverageProvider } from '../integrations/coverage'
1818import { CONFIG_NAMES , configFiles , workspacesFiles as workspaceFiles } from '../constants'
1919import { rootDir } from '../paths'
2020import { WebSocketReporter } from '../api/setup'
21+ import { version } from '../../package.json'
2122import { createPool } from './pool'
2223import type { ProcessPool , WorkspaceSpec } from './pool'
2324import { createBenchmarkReporters , createReporters } from './reporters/utils'
@@ -39,6 +40,8 @@ export interface VitestOptions {
3940}
4041
4142export class Vitest {
43+ version = version
44+
4245 config : ResolvedConfig = undefined !
4346 configOverride : Partial < ResolvedConfig > = { }
4447
@@ -420,28 +423,36 @@ export class Vitest {
420423 } )
421424 } )
422425
423- const files = blobs . flatMap ( blob => blob . files )
426+ const files = blobs . flatMap ( blob => blob . files ) . sort ( ( f1 , f2 ) => {
427+ const time1 = f1 . result ?. startTime || 0
428+ const time2 = f2 . result ?. startTime || 0
429+ return time1 - time2
430+ } )
424431 const errors = blobs . flatMap ( blob => blob . errors )
425432 this . state . collectFiles ( files )
426433
427- const tasks = files . flatMap ( file => getTasks ( file ) )
434+ await this . report ( 'onCollected' , files . map ( ( file ) => {
435+ return { ...file , result : undefined }
436+ } ) )
437+
438+ for ( const file of files ) {
439+ const logs : UserConsoleLog [ ] = [ ]
440+ const taskPacks : TaskResultPack [ ] = [ ]
428441
429- await this . report ( 'onCollected' , files )
442+ const tasks = getTasks ( file )
443+ for ( const task of tasks ) {
444+ if ( task . logs )
445+ logs . push ( ...task . logs )
446+ taskPacks . push ( [ task . id , task . result , task . meta ] )
447+ }
448+ logs . sort ( ( log1 , log2 ) => log1 . time - log2 . time )
430449
431- const logs : UserConsoleLog [ ] = [ ]
432- const taskPacks : TaskResultPack [ ] = [ ]
450+ for ( const log of logs )
451+ await this . report ( 'onUserConsoleLog' , log )
433452
434- for ( const task of tasks ) {
435- if ( task . logs )
436- logs . push ( ...task . logs )
437- taskPacks . push ( [ task . id , task . result , task . meta ] )
453+ await this . report ( 'onTaskUpdate' , taskPacks )
438454 }
439- logs . sort ( ( log1 , log2 ) => log1 . time - log2 . time )
440-
441- for ( const log of logs )
442- await this . report ( 'onUserConsoleLog' , log )
443455
444- await this . report ( 'onTaskUpdate' , taskPacks )
445456 await this . report ( 'onFinished' , files , errors )
446457 }
447458
0 commit comments