test: run the suite and benchmark with Bun's native test runner
Replace Vitest with bun test across the whole suite. A preload compiles components through Angular's JIT transform with inlined templates, sets up jsdom, TestBed and zoneless change detection, and a small shim covers the Vitest APIs bun:test lacks. Files run isolated, real-worker specs spawn the running Bun, and line coverage from lcov is converted to the existing HTML and Cobertura reports. The CI benchmark replaces its heap cap with a container memory limit. Vitest, Jest, Nx and their Vite configuration are removed. Refs #291 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
558c70aa24
commit
94d57add2c
44 files changed
+446
-6481
No files matched your search
Vendored
+18
@@ -0,0 +1,18 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars */
|
||||
import 'bun:test';
|
||||
|
||||
// Vitest APIs that the compat shim adds to bun:test.
|
||||
declare module 'bun:test' {
|
||||
interface Expect {
|
||||
// Vitest-style loose matcher arguments: Bun's strict ones reject readonly and widened values.
|
||||
(actual?: unknown): Matchers<any>;
|
||||
poll<T>(
|
||||
fn: () => T | Promise<T>,
|
||||
options?: { timeout?: number; interval?: number },
|
||||
): Matchers<Awaited<T>> & { not: Matchers<Awaited<T>> } & Record<string, unknown>;
|
||||
}
|
||||
interface Matchers<T> {
|
||||
toHaveBeenCalledOnce(): void;
|
||||
toHaveBeenCalledExactlyOnceWith(...args: unknown[]): void;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user