-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Clear and concise description of the problem
Vitest's coverage packages rely on istanbuljs organizations monorepo's packages https://github.com/istanbuljs/istanbuljs. This project has existed for ~13 years and is battle-tested by large projects like Jest, nyc, c8 and Vitest.
The project has had limited maintenance for long time. Landing fixes and features has been taking months. Currently we have 3 PRs that we are (/going to be) patching to Vitest:
- feat: support
ignore startandignore stopistanbuljs/istanbuljs#835 - fix:
istanbul-lib-source-mapsto map functions without closing brace mapping istanbuljs/istanbuljs#837 - fix: use lenient matching for coverage merge when end.column differs istanbuljs/istanbuljs#838
Patching some Istanbul packages is really tricky as they do instanceof checks on runtime. Having two sources for same package fails these checks.
Suggested solution
Fork https://github.com/istanbuljs/istanbuljs as vitest-dev/istanbuljs and publish its packages as @vitest/istanbul-lib-<name> packages. I would expect these packages to live outside of vitest-dev/vitest monorepo.
Alternative
Get someone from Vitest team into Istanbuljs organization and as maintainer of istanbuljs/istanbuljs package. ✋
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.