From 41e1197c66713e922ee81bc574b319419b4e4c00 Mon Sep 17 00:00:00 2001 From: Artem Zakharchenko Date: Mon, 2 Jun 2025 21:09:18 +0200 Subject: [PATCH] update `vitest` and `@vitest/browser` --- .../01.problem.break-jsdom/package.json | 2 +- .../01.solution.break-jsdom/package.json | 2 +- .../package.json | 6 +- .../02.problem.migrate-the-test/package.json | 6 +- .../02.solution.migrate-the-test/package.json | 4 +- .../03.problem.playwright/package.json | 4 +- .../03.solution.playwright/package.json | 4 +- .../04.problem.shared-assets/package.json | 4 +- .../04.solution.shared-assets/package.json | 4 +- .../package.json | 4 +- .../package.json | 4 +- .../01.problem.queries/package.json | 4 +- .../01.solution.queries/package.json | 4 +- .../02.problem.user-events/package.json | 4 +- .../02.solution.user-events/package.json | 4 +- .../03.problem.network-mocking/package.json | 4 +- .../03.solution.network-mocking/package.json | 4 +- .../04.problem.element-presence/package.json | 4 +- .../04.solution.element-presence/package.json | 4 +- .../05.problem.page-navigation/package.json | 4 +- .../05.solution.page-navigation/package.json | 4 +- .../01.problem.dom-snapshots/package.json | 4 +- .../01.solution.dom-snapshots/package.json | 4 +- .../02.problem.debugger/package.json | 4 +- .../02.solution.debugger/package.json | 4 +- .../03.problem.breakpoints/package.json | 4 +- .../03.solution.breakpoints/package.json | 4 +- package-lock.json | 394 ++++++++++++------ 28 files changed, 309 insertions(+), 193 deletions(-) diff --git a/exercises/01.sunsetting-jsdom/01.problem.break-jsdom/package.json b/exercises/01.sunsetting-jsdom/01.problem.break-jsdom/package.json index a86faf3..3305645 100644 --- a/exercises/01.sunsetting-jsdom/01.problem.break-jsdom/package.json +++ b/exercises/01.sunsetting-jsdom/01.problem.break-jsdom/package.json @@ -22,6 +22,6 @@ "jsdom": "^26.0.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/01.sunsetting-jsdom/01.solution.break-jsdom/package.json b/exercises/01.sunsetting-jsdom/01.solution.break-jsdom/package.json index cf1a7df..d961e7d 100644 --- a/exercises/01.sunsetting-jsdom/01.solution.break-jsdom/package.json +++ b/exercises/01.sunsetting-jsdom/01.solution.break-jsdom/package.json @@ -21,6 +21,6 @@ "jsdom": "^26.0.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/02.vitest-browser-mode/01.solution.installation-and-setup/package.json b/exercises/02.vitest-browser-mode/01.solution.installation-and-setup/package.json index 73665e3..ef37c3e 100644 --- a/exercises/02.vitest-browser-mode/01.solution.installation-and-setup/package.json +++ b/exercises/02.vitest-browser-mode/01.solution.installation-and-setup/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7", - "vitest-browser-react": "^0.0.4" + "vitest": "^3.2.0", + "vitest-browser-react": "^0.2.0" } } diff --git a/exercises/02.vitest-browser-mode/02.problem.migrate-the-test/package.json b/exercises/02.vitest-browser-mode/02.problem.migrate-the-test/package.json index 2879fb3..6db3deb 100644 --- a/exercises/02.vitest-browser-mode/02.problem.migrate-the-test/package.json +++ b/exercises/02.vitest-browser-mode/02.problem.migrate-the-test/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7", - "vitest-browser-react": "^0.0.4" + "vitest": "^3.2.0", + "vitest-browser-react": "^0.2.0" } } diff --git a/exercises/02.vitest-browser-mode/02.solution.migrate-the-test/package.json b/exercises/02.vitest-browser-mode/02.solution.migrate-the-test/package.json index a7d2149..a2b24b4 100644 --- a/exercises/02.vitest-browser-mode/02.solution.migrate-the-test/package.json +++ b/exercises/02.vitest-browser-mode/02.solution.migrate-the-test/package.json @@ -15,9 +15,9 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/02.vitest-browser-mode/03.problem.playwright/package.json b/exercises/02.vitest-browser-mode/03.problem.playwright/package.json index 87528b9..6264b83 100644 --- a/exercises/02.vitest-browser-mode/03.problem.playwright/package.json +++ b/exercises/02.vitest-browser-mode/03.problem.playwright/package.json @@ -15,9 +15,9 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/02.vitest-browser-mode/03.solution.playwright/package.json b/exercises/02.vitest-browser-mode/03.solution.playwright/package.json index 0fa73f7..7a0447a 100644 --- a/exercises/02.vitest-browser-mode/03.solution.playwright/package.json +++ b/exercises/02.vitest-browser-mode/03.solution.playwright/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/02.vitest-browser-mode/04.problem.shared-assets/package.json b/exercises/02.vitest-browser-mode/04.problem.shared-assets/package.json index 4256e08..6ecb443 100644 --- a/exercises/02.vitest-browser-mode/04.problem.shared-assets/package.json +++ b/exercises/02.vitest-browser-mode/04.problem.shared-assets/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/02.vitest-browser-mode/04.solution.shared-assets/package.json b/exercises/02.vitest-browser-mode/04.solution.shared-assets/package.json index b91edb2..419412e 100644 --- a/exercises/02.vitest-browser-mode/04.solution.shared-assets/package.json +++ b/exercises/02.vitest-browser-mode/04.solution.shared-assets/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/02.vitest-browser-mode/05.problem.multiple-workspaces/package.json b/exercises/02.vitest-browser-mode/05.problem.multiple-workspaces/package.json index 1363a44..25c4532 100644 --- a/exercises/02.vitest-browser-mode/05.problem.multiple-workspaces/package.json +++ b/exercises/02.vitest-browser-mode/05.problem.multiple-workspaces/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/02.vitest-browser-mode/05.solution.multiple-workspaces/package.json b/exercises/02.vitest-browser-mode/05.solution.multiple-workspaces/package.json index 09a5c56..d029c25 100644 --- a/exercises/02.vitest-browser-mode/05.solution.multiple-workspaces/package.json +++ b/exercises/02.vitest-browser-mode/05.solution.multiple-workspaces/package.json @@ -18,10 +18,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/03.best-practices/01.problem.queries/package.json b/exercises/03.best-practices/01.problem.queries/package.json index ae0b746..729f665 100644 --- a/exercises/03.best-practices/01.problem.queries/package.json +++ b/exercises/03.best-practices/01.problem.queries/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/03.best-practices/01.solution.queries/package.json b/exercises/03.best-practices/01.solution.queries/package.json index 8612bee..59df7ba 100644 --- a/exercises/03.best-practices/01.solution.queries/package.json +++ b/exercises/03.best-practices/01.solution.queries/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/03.best-practices/02.problem.user-events/package.json b/exercises/03.best-practices/02.problem.user-events/package.json index 8577122..f315432 100644 --- a/exercises/03.best-practices/02.problem.user-events/package.json +++ b/exercises/03.best-practices/02.problem.user-events/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/03.best-practices/02.solution.user-events/package.json b/exercises/03.best-practices/02.solution.user-events/package.json index 39396c7..d0c19c6 100644 --- a/exercises/03.best-practices/02.solution.user-events/package.json +++ b/exercises/03.best-practices/02.solution.user-events/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/03.best-practices/03.problem.network-mocking/package.json b/exercises/03.best-practices/03.problem.network-mocking/package.json index b7d4e2d..f1851db 100644 --- a/exercises/03.best-practices/03.problem.network-mocking/package.json +++ b/exercises/03.best-practices/03.problem.network-mocking/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/03.best-practices/03.solution.network-mocking/package.json b/exercises/03.best-practices/03.solution.network-mocking/package.json index aa2d5bc..dd9d29c 100644 --- a/exercises/03.best-practices/03.solution.network-mocking/package.json +++ b/exercises/03.best-practices/03.solution.network-mocking/package.json @@ -15,12 +15,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" }, "msw": { "workerDirectory": [ diff --git a/exercises/03.best-practices/04.problem.element-presence/package.json b/exercises/03.best-practices/04.problem.element-presence/package.json index 033f8b8..4f89df4 100644 --- a/exercises/03.best-practices/04.problem.element-presence/package.json +++ b/exercises/03.best-practices/04.problem.element-presence/package.json @@ -15,12 +15,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" }, "msw": { "workerDirectory": [ diff --git a/exercises/03.best-practices/04.solution.element-presence/package.json b/exercises/03.best-practices/04.solution.element-presence/package.json index cd257fd..1bccd9d 100644 --- a/exercises/03.best-practices/04.solution.element-presence/package.json +++ b/exercises/03.best-practices/04.solution.element-presence/package.json @@ -15,12 +15,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" }, "msw": { "workerDirectory": [ diff --git a/exercises/03.best-practices/05.problem.page-navigation/package.json b/exercises/03.best-practices/05.problem.page-navigation/package.json index d9e112f..2565511 100644 --- a/exercises/03.best-practices/05.problem.page-navigation/package.json +++ b/exercises/03.best-practices/05.problem.page-navigation/package.json @@ -16,12 +16,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" }, "msw": { "workerDirectory": [ diff --git a/exercises/03.best-practices/05.solution.page-navigation/package.json b/exercises/03.best-practices/05.solution.page-navigation/package.json index a62d241..b2e3e0a 100644 --- a/exercises/03.best-practices/05.solution.page-navigation/package.json +++ b/exercises/03.best-practices/05.solution.page-navigation/package.json @@ -16,12 +16,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" }, "msw": { "workerDirectory": [ diff --git a/exercises/04.debugging/01.problem.dom-snapshots/package.json b/exercises/04.debugging/01.problem.dom-snapshots/package.json index 4e0b3d9..6dbd007 100644 --- a/exercises/04.debugging/01.problem.dom-snapshots/package.json +++ b/exercises/04.debugging/01.problem.dom-snapshots/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/04.debugging/01.solution.dom-snapshots/package.json b/exercises/04.debugging/01.solution.dom-snapshots/package.json index 6ba32e9..4cecb69 100644 --- a/exercises/04.debugging/01.solution.dom-snapshots/package.json +++ b/exercises/04.debugging/01.solution.dom-snapshots/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/04.debugging/02.problem.debugger/package.json b/exercises/04.debugging/02.problem.debugger/package.json index 599079d..b80ffdc 100644 --- a/exercises/04.debugging/02.problem.debugger/package.json +++ b/exercises/04.debugging/02.problem.debugger/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/04.debugging/02.solution.debugger/package.json b/exercises/04.debugging/02.solution.debugger/package.json index e7cd5a7..a7bfa96 100644 --- a/exercises/04.debugging/02.solution.debugger/package.json +++ b/exercises/04.debugging/02.solution.debugger/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/04.debugging/03.problem.breakpoints/package.json b/exercises/04.debugging/03.problem.breakpoints/package.json index c73629d..739f2e7 100644 --- a/exercises/04.debugging/03.problem.breakpoints/package.json +++ b/exercises/04.debugging/03.problem.breakpoints/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/exercises/04.debugging/03.solution.breakpoints/package.json b/exercises/04.debugging/03.solution.breakpoints/package.json index 4e060cb..caba5c1 100644 --- a/exercises/04.debugging/03.solution.breakpoints/package.json +++ b/exercises/04.debugging/03.solution.breakpoints/package.json @@ -15,10 +15,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } } diff --git a/package-lock.json b/package-lock.json index 10260b1..ff4292c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,7 @@ "jsdom": "^26.0.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/01.sunsetting-jsdom/01.solution.break-jsdom": { @@ -60,7 +60,7 @@ "jsdom": "^26.0.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/02.vitest-browser-mode/01.problem.installation-and-setup": { @@ -94,11 +94,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7", - "vitest-browser-react": "^0.0.4" + "vitest": "^3.2.0", + "vitest-browser-react": "^0.2.0" } }, "exercises/02.vitest-browser-mode/02.problem.migrate-the-test": { @@ -112,11 +112,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7", - "vitest-browser-react": "^0.0.4" + "vitest": "^3.2.0", + "vitest-browser-react": "^0.2.0" } }, "exercises/02.vitest-browser-mode/02.solution.migrate-the-test": { @@ -130,10 +130,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/02.vitest-browser-mode/03.problem.playwright": { @@ -147,10 +147,10 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/02.vitest-browser-mode/03.solution.playwright": { @@ -164,11 +164,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/02.vitest-browser-mode/04.problem.shared-assets": { @@ -182,11 +182,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/02.vitest-browser-mode/04.solution.shared-assets": { @@ -200,11 +200,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/02.vitest-browser-mode/05.problem.multiple-workspaces": { @@ -218,11 +218,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/02.vitest-browser-mode/05.solution.multiple-workspaces": { @@ -237,15 +237,16 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/01.problem.accessibility-selectors": { "name": "exercises_03.best-practices_01.problem.accessibility-selectors", + "extraneous": true, "dependencies": { "react": "^19.0.0", "react-dom": "^19.0.0" @@ -262,8 +263,27 @@ "vitest": "^3.0.7" } }, + "exercises/03.best-practices/01.problem.queries": { + "name": "exercises_03.best-practices_01.problem.queries", + "dependencies": { + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.0.11", + "@types/react": "^19.0.6", + "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", + "@vitest/browser": "^3.2.0", + "playwright": "^1.49.1", + "tailwindcss": "^4.0.11", + "vite": "^6.2.0", + "vitest": "^3.2.0" + } + }, "exercises/03.best-practices/01.solution.accessibility-selectors": { "name": "exercises_03.best-practices_01.solution.accessibility-selectors", + "extraneous": true, "dependencies": { "react": "^19.0.0", "react-dom": "^19.0.0" @@ -280,6 +300,24 @@ "vitest": "^3.0.7" } }, + "exercises/03.best-practices/01.solution.queries": { + "name": "exercises_03.best-practices_01.solution.queries", + "dependencies": { + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.0.11", + "@types/react": "^19.0.6", + "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", + "@vitest/browser": "^3.2.0", + "playwright": "^1.49.1", + "tailwindcss": "^4.0.11", + "vite": "^6.2.0", + "vitest": "^3.2.0" + } + }, "exercises/03.best-practices/02.problem.user-events": { "name": "exercises_03.best-practices_02.problem.user-events", "dependencies": { @@ -291,11 +329,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/02.solution.user-events": { @@ -309,11 +347,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/03.problem.network-mocking": { @@ -327,11 +365,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/03.solution.network-mocking": { @@ -345,12 +383,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/04.problem.element-presence": { @@ -364,12 +402,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/04.solution.element-presence": { @@ -383,12 +421,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/05.problem.page-navigation": { @@ -403,12 +441,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/05.solution.page-navigation": { @@ -423,12 +461,12 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "msw": "^2.7.3", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/03.best-practices/06.solution.react-hooks": { @@ -463,11 +501,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/04.debugging/01.solution.dom-snapshots": { @@ -481,11 +519,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/04.debugging/02.problem.debugger": { @@ -499,11 +537,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/04.debugging/02.solution.debugger": { @@ -517,11 +555,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/04.debugging/03.problem.breakpoints": { @@ -535,11 +573,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/04.debugging/03.solution.breakpoints": { @@ -553,11 +591,11 @@ "@types/react": "^19.0.6", "@types/react-dom": "^19.0.3", "@vitejs/plugin-react": "^4.3.4", - "@vitest/browser": "^3.0.7", + "@vitest/browser": "^3.2.0", "playwright": "^1.49.1", "tailwindcss": "^4.0.11", "vite": "^6.2.0", - "vitest": "^3.0.7" + "vitest": "^3.2.0" } }, "exercises/04.debugging/04.problem.debug-console": { @@ -2670,12 +2708,29 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*" + } + }, "node_modules/@types/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", "license": "MIT" }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/doctrine": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", @@ -2975,28 +3030,27 @@ } }, "node_modules/@vitest/browser": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.0.7.tgz", - "integrity": "sha512-TDzZtnbe37KZLSLhvlO1pUkeRSRzW3rOhPLsshX8agGoPELMlG7EvS4z9GfsdaCxsP7oWLBJpFjNJwLS458Bzg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.2.0.tgz", + "integrity": "sha512-sVpX5m53lX9/0ehAqkcTSQeJK1SVlTlvBrwE8rPQ2KJQgb/Iiorx+3y+VQdzIJ+CDqfG89bQEA5l1Z02VogDsA==", "dev": true, "license": "MIT", "dependencies": { "@testing-library/dom": "^10.4.0", "@testing-library/user-event": "^14.6.1", - "@vitest/mocker": "3.0.7", - "@vitest/utils": "3.0.7", + "@vitest/mocker": "3.2.0", + "@vitest/utils": "3.2.0", "magic-string": "^0.30.17", - "msw": "^2.7.3", "sirv": "^3.0.1", "tinyrainbow": "^2.0.0", - "ws": "^8.18.1" + "ws": "^8.18.2" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "playwright": "*", - "vitest": "3.0.7", + "vitest": "3.2.0", "webdriverio": "^7.0.0 || ^8.0.0 || ^9.0.0" }, "peerDependenciesMeta": { @@ -3033,14 +3087,15 @@ } }, "node_modules/@vitest/expect": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.0.7.tgz", - "integrity": "sha512-QP25f+YJhzPfHrHfYHtvRn+uvkCFCqFtW9CktfBxmB+25QqWsx7VB2As6f4GmwllHLDhXNHvqedwhvMmSnNmjw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.0.tgz", + "integrity": "sha512-0v4YVbhDKX3SKoy0PHWXpKhj44w+3zZkIoVES9Ex2pq+u6+Bijijbi2ua5kE+h3qT6LBWFTNZSCOEU37H8Y5sA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.7", - "@vitest/utils": "3.0.7", + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.0", + "@vitest/utils": "3.2.0", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" }, @@ -3049,13 +3104,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.0.7.tgz", - "integrity": "sha512-qui+3BLz9Eonx4EAuR/i+QlCX6AUZ35taDQgwGkK/Tw6/WgwodSrjN1X2xf69IA/643ZX5zNKIn2svvtZDrs4w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.0.tgz", + "integrity": "sha512-HFcW0lAMx3eN9vQqis63H0Pscv0QcVMo1Kv8BNysZbxcmHu3ZUYv59DS6BGYiGQ8F5lUkmsfMMlPm4DJFJdf/A==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "3.0.7", + "@vitest/spy": "3.2.0", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, @@ -3064,7 +3119,7 @@ }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0" + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "peerDependenciesMeta": { "msw": { @@ -3076,9 +3131,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.0.7.tgz", - "integrity": "sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.0.tgz", + "integrity": "sha512-gUUhaUmPBHFkrqnOokmfMGRBMHhgpICud9nrz/xpNV3/4OXCn35oG+Pl8rYYsKaTNd/FAIrqRHnwpDpmYxCYZw==", "dev": true, "license": "MIT", "dependencies": { @@ -3089,13 +3144,13 @@ } }, "node_modules/@vitest/runner": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.0.7.tgz", - "integrity": "sha512-WeEl38Z0S2ZcuRTeyYqaZtm4e26tq6ZFqh5y8YD9YxfWuu0OFiGFUbnxNynwLjNRHPsXyee2M9tV7YxOTPZl2g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.0.tgz", + "integrity": "sha512-bXdmnHxuB7fXJdh+8vvnlwi/m1zvu+I06i1dICVcDQFhyV4iKw2RExC/acavtDn93m/dRuawUObKsrNE1gJacA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "3.0.7", + "@vitest/utils": "3.2.0", "pathe": "^2.0.3" }, "funding": { @@ -3103,13 +3158,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.0.7.tgz", - "integrity": "sha512-eqTUryJWQN0Rtf5yqCGTQWsCFOQe4eNz5Twsu21xYEcnFJtMU5XvmG0vgebhdLlrHQTSq5p8vWHJIeJQV8ovsA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.0.tgz", + "integrity": "sha512-z7P/EneBRMe7hdvWhcHoXjhA6at0Q4ipcoZo6SqgxLyQQ8KSMMCmvw1cSt7FHib3ozt0wnRHc37ivuUMbxzG/A==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.7", + "@vitest/pretty-format": "3.2.0", "magic-string": "^0.30.17", "pathe": "^2.0.3" }, @@ -3118,26 +3173,26 @@ } }, "node_modules/@vitest/spy": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.0.7.tgz", - "integrity": "sha512-4T4WcsibB0B6hrKdAZTM37ekuyFZt2cGbEGd2+L0P8ov15J1/HUsUaqkXEQPNAWr4BtPPe1gI+FYfMHhEKfR8w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.0.tgz", + "integrity": "sha512-s3+TkCNUIEOX99S0JwNDfsHRaZDDZZR/n8F0mop0PmsEbQGKZikCGpTGZ6JRiHuONKew3Fb5//EPwCP+pUX9cw==", "dev": true, "license": "MIT", "dependencies": { - "tinyspy": "^3.0.2" + "tinyspy": "^4.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.0.7.tgz", - "integrity": "sha512-xePVpCRfooFX3rANQjwoditoXgWb1MaFbzmGuPP59MK6i13mrnDw/yEIyJudLeW6/38mCNcwCiJIGmpDPibAIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.0.tgz", + "integrity": "sha512-gXXOe7Fj6toCsZKVQouTRLJftJwmvbhH5lKOBR6rlP950zUq9AitTUjnFoXS/CqjBC2aoejAztLPzzuva++XBw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "3.0.7", + "@vitest/pretty-format": "3.2.0", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" }, @@ -3892,9 +3947,9 @@ } }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4186,9 +4241,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", "dev": true, "license": "MIT" }, @@ -4782,12 +4837,12 @@ "resolved": "exercises/02.vitest-browser-mode/05.solution.multiple-workspaces", "link": true }, - "node_modules/exercises_03.best-practices_01.problem.accessibility-selectors": { - "resolved": "exercises/03.best-practices/01.problem.accessibility-selectors", + "node_modules/exercises_03.best-practices_01.problem.queries": { + "resolved": "exercises/03.best-practices/01.problem.queries", "link": true }, - "node_modules/exercises_03.best-practices_01.solution.accessibility-selectors": { - "resolved": "exercises/03.best-practices/01.solution.accessibility-selectors", + "node_modules/exercises_03.best-practices_01.solution.queries": { + "resolved": "exercises/03.best-practices/01.solution.queries", "link": true }, "node_modules/exercises_03.best-practices_02.problem.user-events": { @@ -4847,9 +4902,9 @@ "link": true }, "node_modules/expect-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz", - "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz", + "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -4917,6 +4972,21 @@ "reusify": "^1.0.4" } }, + "node_modules/fdir": { + "version": "6.4.5", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", + "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -7714,9 +7784,9 @@ } }, "node_modules/std-env": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", - "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "dev": true, "license": "MIT" }, @@ -7915,10 +7985,40 @@ "dev": true, "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/tinypool": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz", - "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.0.tgz", + "integrity": "sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==", "dev": true, "license": "MIT", "engines": { @@ -7936,9 +8036,9 @@ } }, "node_modules/tinyspy": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz", - "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", "dev": true, "license": "MIT", "engines": { @@ -8342,17 +8442,17 @@ } }, "node_modules/vite-node": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.0.7.tgz", - "integrity": "sha512-2fX0QwX4GkkkpULXdT1Pf4q0tC1i1lFOyseKoonavXUNlQ77KpW2XqBGGNIm/J4Ows4KxgGJzDguYVPKwG/n5A==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.0.tgz", + "integrity": "sha512-8Fc5Ko5Y4URIJkmMF/iFP1C0/OJyY+VGVe9Nw6WAdZyw4bTO+eVg9mwxWkQp/y8NnAoQY3o9KAvE1ZdA2v+Vmg==", "dev": true, "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.4.0", - "es-module-lexer": "^1.6.0", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0" + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" @@ -8380,31 +8480,34 @@ } }, "node_modules/vitest": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.7.tgz", - "integrity": "sha512-IP7gPK3LS3Fvn44x30X1dM9vtawm0aesAa2yBIZ9vQf+qB69NXC5776+Qmcr7ohUXIQuLhk7xQR0aSUIDPqavg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.0.tgz", + "integrity": "sha512-P7Nvwuli8WBNmeMHHek7PnGW4oAZl9za1fddfRVidZar8wDZRi7hpznLKQePQ8JPLwSBEYDK11g+++j7uFJV8Q==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "3.0.7", - "@vitest/mocker": "3.0.7", - "@vitest/pretty-format": "^3.0.7", - "@vitest/runner": "3.0.7", - "@vitest/snapshot": "3.0.7", - "@vitest/spy": "3.0.7", - "@vitest/utils": "3.0.7", + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.0", + "@vitest/mocker": "3.2.0", + "@vitest/pretty-format": "^3.2.0", + "@vitest/runner": "3.2.0", + "@vitest/snapshot": "3.2.0", + "@vitest/spy": "3.2.0", + "@vitest/utils": "3.2.0", "chai": "^5.2.0", - "debug": "^4.4.0", - "expect-type": "^1.1.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", "magic-string": "^0.30.17", "pathe": "^2.0.3", - "std-env": "^3.8.0", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", - "tinypool": "^1.0.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.0", "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0", - "vite-node": "3.0.7", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.0", "why-is-node-running": "^2.3.0" }, "bin": { @@ -8420,8 +8523,8 @@ "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.0.7", - "@vitest/ui": "3.0.7", + "@vitest/browser": "3.2.0", + "@vitest/ui": "3.2.0", "happy-dom": "*", "jsdom": "*" }, @@ -8450,9 +8553,9 @@ } }, "node_modules/vitest-browser-react": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vitest-browser-react/-/vitest-browser-react-0.0.4.tgz", - "integrity": "sha512-4uK8zgo5eHlhrBVEPX8ejRt8Bn4gzV6OZFTPdb1en3FtgjEhhst400XkIQHUC875Q90rOO5Tc4zPpCl8YXvoxg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/vitest-browser-react/-/vitest-browser-react-0.2.0.tgz", + "integrity": "sha512-tVUVngdcTMFPSywxEo42hAAO074VjEF7Q1QkV8wqjI9oiYuguUfqp6Uw4mTbZ+DLFSITHXiked+PYQFH69XkLQ==", "dev": true, "license": "MIT", "engines": { @@ -8478,6 +8581,19 @@ } } }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/w3c-xmlserializer": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", @@ -8720,9 +8836,9 @@ } }, "node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "license": "MIT", "engines": {