What is the problem this feature would solve?
I'm migrating an app to Effect and want to use @effect/vitest for testing Effect code, but Bun's test runner is significantly faster than Vitest in my experience. Issue #3406 was closed waiting on Bun to fully support Vitest, but that's been stalled for a while.
Looking at the @effect/vitest source, the Vitest dependency is pretty thin it's mostly just wrapping it() and providing the TestContext layer. The actual Effect testing machinery (TestClock, etc.) doesn't depend on Vitest at all.
What is the feature you are proposing to solve the problem?
A new @effect/bun-test package that provides the same API as @effect/vitest (it.effect, it.scoped, it.live, etc.) but uses Bun's native bun:test instead of Vitest.
I'd be happy to implement this, it looks like it would mostly be adapting packages/vitest to use Bun's test primitives. The core Effect test infrastructure stays the same.
What alternatives have you considered?
Waiting for Bun to fully support Vitest (oven-sh/bun#4145) - still blocked
Writing my own wrapper locally, would rather contribute upstream so everyone benefits
Using Vitest anyway, works but slower, and I'd rather use Bun's native runner
What is the problem this feature would solve?
I'm migrating an app to Effect and want to use
@effect/vitestfor testing Effect code, but Bun's test runner is significantly faster than Vitest in my experience. Issue #3406 was closed waiting on Bun to fully support Vitest, but that's been stalled for a while.Looking at the
@effect/vitestsource, the Vitest dependency is pretty thin it's mostly just wrapping it() and providing the TestContext layer. The actual Effect testing machinery (TestClock, etc.) doesn't depend on Vitest at all.What is the feature you are proposing to solve the problem?
A new @effect/bun-test package that provides the same API as @effect/vitest (it.effect, it.scoped, it.live, etc.) but uses Bun's native bun:test instead of Vitest.
I'd be happy to implement this, it looks like it would mostly be adapting packages/vitest to use Bun's test primitives. The core Effect test infrastructure stays the same.
What alternatives have you considered?
Waiting for Bun to fully support Vitest (oven-sh/bun#4145) - still blocked
Writing my own wrapper locally, would rather contribute upstream so everyone benefits
Using Vitest anyway, works but slower, and I'd rather use Bun's native runner