From 78563968be1ade2244a4765697800dc197737777 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 8 Nov 2022 17:30:43 +0800 Subject: [PATCH 1/2] fix: default reporter regression --- packages/vitest/src/node/core.ts | 9 ++++++--- packages/vitest/src/node/reporters/default.ts | 7 +++---- packages/vitest/src/typecheck/collect.ts | 2 +- packages/vitest/src/typecheck/typechecker.ts | 8 +++----- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/vitest/src/node/core.ts b/packages/vitest/src/node/core.ts index 1b137bf19187..c6d276ed1812 100644 --- a/packages/vitest/src/node/core.ts +++ b/packages/vitest/src/node/core.ts @@ -158,7 +158,8 @@ export class Vitest { const checker = new Typechecker(this, testsFilesList) this.typechecker = checker checker.onParseEnd(async ({ files, sourceErrors }) => { - await this.report('onCollected', files) + this.state.collectFiles(checker.getTestFiles()) + await this.report('onCollected') if (!files.length) this.logger.printNoTestFound() else @@ -181,12 +182,14 @@ export class Vitest { }) checker.onParseStart(async () => { await this.report('onInit', this) - await this.report('onCollected', checker.getTestFiles()) + this.state.collectFiles(checker.getTestFiles()) + await this.report('onCollected') }) checker.onWatcherRerun(async () => { await this.report('onWatcherRerun', testsFilesList, 'File change detected. Triggering rerun.') await checker.collectTests() - await this.report('onCollected', checker.getTestFiles()) + this.state.collectFiles(checker.getTestFiles()) + await this.report('onCollected') }) await checker.collectTests() await checker.start() diff --git a/packages/vitest/src/node/reporters/default.ts b/packages/vitest/src/node/reporters/default.ts index 1a2fa9b93bf0..a509084bfd76 100644 --- a/packages/vitest/src/node/reporters/default.ts +++ b/packages/vitest/src/node/reporters/default.ts @@ -1,5 +1,5 @@ import c from 'picocolors' -import type { File, UserConsoleLog } from '../../types' +import type { UserConsoleLog } from '../../types' import { BaseReporter } from './base' import type { ListRendererOptions } from './renderers/listRenderer' import { createListRenderer } from './renderers/listRenderer' @@ -18,13 +18,12 @@ export class DefaultReporter extends BaseReporter { super.onWatcherStart() } - onCollected(files?: File[]) { + onCollected() { if (this.isTTY) { this.rendererOptions.logger = this.ctx.logger this.rendererOptions.showHeap = this.ctx.config.logHeapUsage this.rendererOptions.mode = this.mode - if (!files) - files = this.ctx.state.getFiles(this.watchFilters) + const files = this.ctx.state.getFiles(this.watchFilters) if (!this.renderer) this.renderer = createListRenderer(files, this.rendererOptions).start() else diff --git a/packages/vitest/src/typecheck/collect.ts b/packages/vitest/src/typecheck/collect.ts index 9634bfb4a85a..8e1a2af00758 100644 --- a/packages/vitest/src/typecheck/collect.ts +++ b/packages/vitest/src/typecheck/collect.ts @@ -27,7 +27,7 @@ interface LocalCallDefinition { } export interface FileInformation { - file: ParsedFile + file: File filepath: string parsed: string map: RawSourceMap | null diff --git a/packages/vitest/src/typecheck/typechecker.ts b/packages/vitest/src/typecheck/typechecker.ts index 4a4508a8eedd..455954ca94e4 100644 --- a/packages/vitest/src/typecheck/typechecker.ts +++ b/packages/vitest/src/typecheck/typechecker.ts @@ -5,6 +5,7 @@ import { resolve } from 'pathe' import { SourceMapConsumer } from 'source-map' import { ensurePackageInstalled } from '../utils' import type { Awaitable, File, ParsedStack, Task, TscErrorInfo, Vitest } from '../types' +import type { TaskState } from '../../dist' import { getRawErrsMapFromTsCompile, getTsconfigPath } from './parse' import { createIndexMap } from './utils' import type { FileInformation } from './collect' @@ -105,7 +106,7 @@ export class Typechecker { const index = indexMap.get(`${originalPos.line}:${originalPos.column}`) const definition = (index != null && sortedDefinitions.find(def => def.start <= index && def.end >= index)) || file const suite = 'task' in definition ? definition.task : definition - const state = suite.mode === 'run' || suite.mode === 'only' ? 'fail' : suite.mode + const state: TaskState = suite.mode === 'run' || suite.mode === 'only' ? 'fail' : suite.mode const task: Task = { type: 'typecheck', id: idx.toString(), @@ -236,9 +237,6 @@ export class Typechecker { } public getTestFiles() { - return Object.values(this._tests || {}).map(({ file }) => ({ - ...file, - result: undefined, - })) + return Object.values(this._tests || {}).map(i => i.file) } } From ac60575f0ff0d3827dd7476721d7d038749d30a9 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 8 Nov 2022 17:41:58 +0800 Subject: [PATCH 2/2] chore: fix types --- packages/vitest/src/typecheck/typechecker.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/vitest/src/typecheck/typechecker.ts b/packages/vitest/src/typecheck/typechecker.ts index 455954ca94e4..41a1ffa5aec6 100644 --- a/packages/vitest/src/typecheck/typechecker.ts +++ b/packages/vitest/src/typecheck/typechecker.ts @@ -4,8 +4,7 @@ import { execa } from 'execa' import { resolve } from 'pathe' import { SourceMapConsumer } from 'source-map' import { ensurePackageInstalled } from '../utils' -import type { Awaitable, File, ParsedStack, Task, TscErrorInfo, Vitest } from '../types' -import type { TaskState } from '../../dist' +import type { Awaitable, File, ParsedStack, Task, TaskState, TscErrorInfo, Vitest } from '../types' import { getRawErrsMapFromTsCompile, getTsconfigPath } from './parse' import { createIndexMap } from './utils' import type { FileInformation } from './collect'