Skip to content

Navigation Menu

Sign in
Sign up

chore(deps): update js unit test packages to v5 - #389

Merged
Han5991 merged 2 commits into
main from
renovate/major-js-unit-test-packages
Sep 6, 2026
Merged

chore(deps): update js unit test packages to v5 #389
Han5991 merged 2 commits into
main from
renovate/major-js-unit-test-packages

Conversation

@renovate

@renovate renovate Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

i️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@vitest/coverage-v8 (source) ^4.1.11^5.0.0 age confidence
vitest (source) ^4.1.11^5.0.0 age confidence

Release Notes

vitest-dev/vitest (@​vitest/coverage-v8)

v5.0.0

Compare Source

🚨 Breaking Changes
🚀 Features
🐞 Bug Fixes

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone Asia/Seoul)

  • Branch creation
    • "before 10am on monday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

github-actions[bot] reacted with thumbs up emoji
@renovate renovate Bot added dependencies Pull requests that update a dependency file deps-major Renovate major 업데이트 — Claude 리뷰 대상 labels Sep 6, 2026
apps/react's test setup imported the root `@testing-library/jest-dom`
entry, which only pulls in `types/jest.d.ts` — that file augments the
global `jest.Matchers` interface, not vitest's `Assertion`.
This worked by accident: vitest 4 declared a global `jest` namespace and
chained its assertions through it (`@vitest/expect`:
`interface JestAssertion<T> extends jest.Matchers<void, T>`), so the
jest-only augmentation leaked into `expect`. vitest 5 removes that
bridge — `JestAssertion<R, T>` now extends `CustomMatcher<R>` and no
`jest` namespace is shipped — leaving every jest-dom matcher untyped
(56 TS2339 errors across the app's test files).
Import `@testing-library/jest-dom/vitest` instead, which augments the
`vitest` module directly. This is what apps/next.js already does, so the
three apps using jest-dom now share one convention.
The change is valid on both majors, so it lands independently of the
vitest 5 bump: full check-types + test + lint pass on vitest 4.1.11
(20/20) and on vitest 5.0.0 (20/20, 88 react tests green).
Claude-Session: https://claude.ai/code/session_01U8NHR2C6Fd82H1XBBme51p
Co-authored-by: Claude <noreply@anthropic.com>

renovate Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

claude Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

리뷰 요약

Renovate가 vitest·@vitest/coverage-v8^4.1.11^5.0.0(메이저)으로 올리는 PR이다. 코드 변경은 lockfile/catalog와 apps/react/src/test/setup.ts 뿐이고, 실제 소스 diff는 없다. v5의 breaking change 목록을 이 저장소의 실제 사용처와 대조한 결과 영향받는 코드는 없다. CI는 리뷰 작성 시점에 두 워크플로(CI, Claude Code Review) 모두 진행 중이었다.

확인한 breaking change 목록 (해당 없음)

Breaking change 확인 방법 결과
Node.js 22 / Vite 6.4 최소 요구 루트 package.json engines, pnpm-lock.yamlvite@8.2.2 node >=24.20.0, vite 8.2.2 — 이미 상회
Clear mocks by default before each test (clearMocks 기본값 true화) apps/react/vite.config.ts·packages/@blog/content/vitest.config.mtsclearMocks 미설정 → 새 기본값 적용됨. 두 곳의 vi.mock/vi.spyOn 사용처(error-test.test.tsx, useDashboard.test.tsx 등) Read로 확인 전부 테스트마다 vi.spyOn(...).mockReturnValue(...)을 다시 설정하거나 beforeEach(() => vi.clearAllMocks())/vi.resetAllMocks()를 이미 명시하고 있어 새 기본값과 동일하게 동작. 회귀 없음
toHaveTextContent가 strict해짐(toMatchTextContent 추가) 저장소 전체에서 @vitest/browser 의존성 여부 Grep 브라우저 모드 미사용. 저장소의 toHaveTextContent는 전부 @testing-library/jest-dom/vitest의 매처이고 이번 변경은 vitest 자체 locator 매처 얘기라 무관
sequential test/suite 옵션 제거(concurrent로 통합) \.sequential\( Grep 사용처 없음
비동기 assertion await 누락 시 실패 처리 모든 .resolves/.rejects 사용처(apps/react/src/api/dashboard.test.ts 등 30여 건) Grep 전부 await 붙어 있음
webdriverio 패키지 제거, browser locator를 객체로 표현 @vitest/browser 의존성 검색 미사용
Inline projects가 기본으로 root config를 extend apps/blog/web/vitest.config.mtsprojects 배열 Read root에는 coverage만 있고 environment/setupFiles 등 project-level 설정이 없어 extend 여부가 실질적 차이를 만들지 않음
attachmentsDir 기본 경로 변경(.vitest-attachements/.vitest/attachments/) 저장소 내 해당 디렉터리 참조 여부 확인 attachment API 미사용

peer dependency: @testing-library/jest-dom@7.0.1vitest@5.0.0과 정상 resolve됨(lockfile 확인). 번들 사이즈 영향은 devDependency라 해당 없음.

확인했으나 문제 없음

  • Node/Vite 최소 버전 요구사항
  • clearMocks 기본값 변경에 따른 기존 테스트 회귀
  • 비동기 assertion(resolves/rejects) await 누락
  • peer dependency 충돌

확인하지 못한 범위

  • CI(CI, Claude Code Review) 두 워크플로 모두 리뷰 작성 시점에 진행 중이라 실제 테스트 실행 결과는 보지 못했다. 위 정적 대조 결과와 달리 실행 중 실패가 나오면 별도 확인이 필요하다.
  • apps/next.js·apps/blog/web은 이미 clearMocks: true를 명시하고 있어 이번 기본값 변경과 무관함을 확인했지만, 두 앱의 전체 테스트 스위트를 실행해 보지는 않았다.

Han5991 merged commit c55aaec into main Sep 6, 2026
3 checks passed
Han5991 deleted the renovate/major-js-unit-test-packages branch September 6, 2026 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

dependencies Pull requests that update a dependency file deps-major Renovate major 업데이트 — Claude 리뷰 대상

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /