vitest-dev / vitest-dev/vitest
Concurrency controls for projects
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 17.1k
- Forks
- 2k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 92
Description
Clear and concise description of the problem
With over 20 projects using browser mode, it seems our CI is running into some resource exhaustion issues. It looks like vitest starts a dev server for each project and a browser tab for each project. We already reduce concurrency per project, but it does seem to start all projects simultaneously. Causing a lot more concurrency than we intend. We already optimized by using a single browser instance.
Suggested solution
Hard to say with my limited knowledge of vitest architecture. But if we could have a single pool across all projects and control concurrency globally, that would be ideal. Otherwise a way to specify concurrency for running the projects. e.g. only 4 projects may run simultaneously.
Alternative
Wrapping vitest with an orchestrator that runs only X projects simultaneously, but it complicates things around test output, coverage, projects filtering...
Additional context
No response
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked CircleCI run and how Vitest launches browser-mode projects, dev servers, and tabs. Define a global project concurrency control that preserves test output, coverage, and project filtering; the work is done when projects share the intended limit without resource exhaustion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- performance, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100