Skip to content

Conversation

@JoshuaKGoldberg
Copy link
Contributor

@JoshuaKGoldberg JoshuaKGoldberg commented Feb 10, 2026

Switches from the old Jest config, which extended kcd-scripts/jest, to Vitest.

This was a little more involved than I'd first thought (hence this PR coming a week later than I expected). At first I tried a manual switch-over but got into a confusing state where imports weren't being properly mocked out with vi.mock. I then restarted with Copilot and used Research-Plan-Implement. Copilot nailed it in one go, with just a little docs & scripts cleanup needed on my end (I manually reviewed every file).

The only major behavioral difference in tests is that nock is now used in src/repo/__tests__/index.js instead of internal mocking of modules. The new tests keep the functions as asynchronous, whereas the old ones switched them to synchronous for testing (weird!). I actually like this as more of an end-to-end / comprehensive test, rather than specifically looking at implementation details of what that file imports.

I think we can ignore the failing coverage indirect changes check. If you look at the indirect changes in Codecov they're mostly on comment lines.

@JoshuaKGoldberg JoshuaKGoldberg marked this pull request as ready for review February 10, 2026 15:16
Copy link
Member

@JimMadge JimMadge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I think the loss of coverage through indirect changes is just the cost of switching test frameworks. We can start focusing on maintaining/increasing coverage after we have this sorted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants