-
-
Notifications
You must be signed in to change notification settings - Fork 618
Open
Description
The goal of this issue is to migrate all Ava tests in the repository to Vitest.
Phase 1 — low-complexity packages (mechanical conversions)
packages/beeppackages/bublepackages/data-uripackages/dsvpackages/eslintpackages/graphqlpackages/imagepackages/injectpackages/legacypackages/multi-entrypackages/strippackages/sucrasepackages/swcpackages/virtualpackages/yaml
Phase 2 — medium complexity (snapshot/serial heavy)
packages/babelpackages/dynamic-import-varspackages/esm-shimpackages/htmlpackages/jsonpackages/replacepackages/terserpackages/urlpackages/wasm
Phase 3 — medium complexity (environment/lifecycle sensitive)
packages/auto-installpackages/pluginutilspackages/run
Phase 4 — high complexity (largest fixture matrices)
packages/node-resolvepackages/commonjspackages/typescript
Constraints for each phase
- Perform a straight Ava → Vitest migration only (no compatibility layer).
- Convert tests/assertions file-by-file, replacing Ava patterns/builtins with Vitest patterns/builtins.
- Do not modify test logic or the shape/intent of what is being tested.
- Keep changes succinct and clean (no over-engineered supporting abstractions).
- Update repository configuration as needed during migration (including root
package.jsonand package-level test config/scripts where required). - Before PR readiness, inspect
.github/workflowsand run all required checks; CI must be passing. - Fix any migration-introduced failures before considering the work mergable.
- This plan intentionally avoids the previously closed approach from chore(repo): migration from ava to vitest. phase 1 #1972.
- Treat
packages/aliasas canonical template. - Lock a single Vitest invocation pattern per package (using
.config/vitest.config.mts). - Confirm snapshot path parity and CI behavior before batch migrations.
- This repository uses conventional commit format. Each commit should be in that format. The PR title for each phase should be in the format
chore(repo): test migration to vitest. phase {phaseNumber} - If you think you have to add dependencies at any point, push what you have, open the PR, and ask questions about adding the dependency(s) before doing so
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels