import * as vitestExpect from '@vitest/expect' import * as vitestSpy from '@vitest/spy' import { afterAll, afterEach, beforeAll, beforeEach, vi as bunVi, it, jest } from 'bun:test' import * as chai from 'chai' import { setupChai, stubGlobal, unstubAllGlobals, waitFor } from './polyfills' setupChai(chai, vitestExpect) export { afterAll, afterEach, beforeAll, beforeEach, it } export const expect = chai.expect export const vi = { ...jest, ...bunVi, ...vitestSpy, mocked: fn => fn, stubGlobal, unstubAllGlobals, waitFor, ...['setSystemTime', 'advanceTimersByTimeAsync', 'advanceTimersByTime', 'doMock'].reduce( (acc, name) => ({ ...acc, [name]: () => { throw new Error(name) }, }), {}, ), }