Problem
The repository uses two different test runners:
- The root TypeScript API service uses Vitest (
vitest.config.ts, npm test).
- The
indexer/ service uses Jest (indexer/jest.config.js).
Two runners means two configuration formats, two sets of conventions, duplicated mocking/setup knowledge, and two coverage mechanisms for contributors to learn. It also complicates the CI work needed to cover both services.
What needs to be done
- Decide on one runner for the repository (Vitest is the likely target since the root already uses it and it supports plain JS).
- Migrate the other service's tests, keeping behaviour identical: config, setup files, mocks, and coverage.
- Verify all roughly 47 indexer tests still pass after migration.
- Update CI and the contributing docs to reference a single command.
- If the two runners must remain, document the rationale and the boundary explicitly instead.
Files
vitest.config.ts
indexer/jest.config.js
indexer/package.json, package.json
.github/workflows/ci.yml, CONTRIBUTING.md
Acceptance deliverables
- A single documented test runner and command, or a documented, deliberate exception.
- No test regressions after the migration.
Tests to pass
- The full suite for both services passes under the unified runner.
Problem
The repository uses two different test runners:
vitest.config.ts,npm test).indexer/service uses Jest (indexer/jest.config.js).Two runners means two configuration formats, two sets of conventions, duplicated mocking/setup knowledge, and two coverage mechanisms for contributors to learn. It also complicates the CI work needed to cover both services.
What needs to be done
Files
vitest.config.tsindexer/jest.config.jsindexer/package.json,package.json.github/workflows/ci.yml,CONTRIBUTING.mdAcceptance deliverables
Tests to pass