supabase/supabase
Overview
This skill provides a fast, Vite-native unit testing framework with a Jest-compatible API. It supports native ESM, TypeScript, and JSX out of the box and leverages Vite's transform pipeline for extremely fast test runs. Use it to write, run, and maintain unit tests with familiar Jest-style APIs while benefiting from Vite performance and multi-threaded execution.
How this skill works
The skill runs tests using Vite's build pipeline so tests update quickly and only affected modules re-run in watch mode. It exposes test/it, describe, expect, and vi utilities for writing assertions, mocks, spies, and timers. Coverage can be collected via V8 or Istanbul, and tests can be executed concurrently across worker threads or sharded across projects.
When to use it
- When migrating Jest suites to a faster, Vite-native runner with minimal API changes
- When you need native ESM, TypeScript, or JSX test support without extra config
- When you want smart watch behavior that reruns only affected tests
- When you require parallel execution, sharding, or multi-project test setups
- When you need built-in features like mocking, snapshots, and coverage
Best practices
- Reuse your Vite config via defineConfig to keep build and test behavior aligned
- Prefer vi utilities for mocks and spies to ensure hoisting and consistency
- Use watch mode during development to get HMR-like fast feedback on changes
- Collect coverage with V8 for speed, switch to Istanbul if you need advanced reporting
- Group related tests using describe/suite and isolate state with beforeEach/afterEach hooks
Example use cases
- Running unit tests for a TypeScript Next.js or Vite app without extra transpilation steps
- Migrating Jest-based test suites to a faster runner while keeping most tests unchanged
- Testing components that use ESM imports, JSX, or new JS features natively
- Setting up CI with parallel workers and sharding to reduce overall test time
- Building complex fixture setups with test.extend and custom test contexts
FAQ
Most Jest APIs are supported, but check advanced features and matchers; some Jest-specific behavior may differ and can require small adjustments.
How do I collect coverage?
Enable coverage in config or CLI and choose V8 for fastest collection or Istanbul for richer reporter options.
2 skills
This skill helps you write fast, reliable tests with Vitest by leveraging Vite, Jest-compatible API, and smart coverage.
This skill runs Playwright e2e tests for the Studio app from the e2e/studio directory, enabling targeted and repeatable UI verification.