test: increase coverage

This commit is contained in:
Théo LUDWIG 2024-07-30 09:10:02 +02:00
parent 89ec7443a0
commit 74a3148e92
Signed by: theoludwig
GPG Key ID: ADFE5A563D718F3B
10 changed files with 580 additions and 19 deletions

View File

@ -11,6 +11,7 @@
## Links
- <https://www.sixdegreesofwikipedia.com/> and <https://github.com/jwngr/sdow>
- <https://github.com/shyamupa/wikidump_preprocessing>
- <https://www.mediawiki.org/wiki/API:Allpages>
- <https://www.thewikigame.com/>

View File

@ -4,11 +4,14 @@
"private": true,
"type": "module",
"exports": {
"./useBoolean": "./src/useBoolean.ts",
"./useIsMounted": "./src/useIsMounted.ts"
},
"scripts": {
"lint:eslint": "eslint src --max-warnings 0 --report-unused-disable-directives",
"lint:typescript": "tsc --noEmit"
"lint:typescript": "tsc --noEmit",
"test": "vitest run --browser.headless",
"test:ui": "vitest --ui --no-open"
},
"dependencies": {
"react": "catalog:",
@ -17,10 +20,16 @@
"devDependencies": {
"@repo/eslint-config": "workspace:*",
"@repo/config-typescript": "workspace:*",
"@testing-library/react": "catalog:",
"@types/react": "catalog:",
"@types/react-dom": "catalog:",
"@total-typescript/ts-reset": "catalog:",
"@vitest/browser": "catalog:",
"@vitest/coverage-istanbul": "catalog:",
"@vitest/ui": "catalog:",
"eslint": "catalog:",
"typescript": "catalog:"
"playwright": "catalog:",
"typescript": "catalog:",
"vitest": "catalog:"
}
}

View File

@ -0,0 +1,83 @@
import { act, renderHook } from "@testing-library/react"
import { describe, expect, it } from "vitest"
import { useBoolean } from "../useBoolean"
describe("useBoolean", () => {
const initialValues = [true, false]
for (const initialValue of initialValues) {
it(`should set the initial value to ${initialValue}`, () => {
// Arrange - Given
const { result } = renderHook(() => {
return useBoolean({ initialValue })
})
// Assert - Then
expect(result.current.value).toBe(initialValue)
})
}
it("should by default set the initial value to false", () => {
// Arrange - Given
const { result } = renderHook(() => {
return useBoolean()
})
// Assert - Then
expect(result.current.value).toBe(false)
})
it("should toggle the value", () => {
// Arrange - Given
const { result } = renderHook(() => {
return useBoolean({ initialValue: false })
})
// Act - When
act(() => {
return result.current.toggle()
})
// Assert - Then
expect(result.current.value).toBe(true)
// Act - When
act(() => {
return result.current.toggle()
})
// Assert - Then
expect(result.current.value).toBe(false)
})
it("should set the value to true", () => {
// Arrange - Given
const { result } = renderHook(() => {
return useBoolean({ initialValue: false })
})
// Act - When
act(() => {
return result.current.setTrue()
})
// Assert - Then
expect(result.current.value).toBe(true)
})
it("should set the value to false", () => {
// Arrange - Given
const { result } = renderHook(() => {
return useBoolean({ initialValue: true })
})
// Act - When
act(() => {
return result.current.setFalse()
})
// Assert - Then
expect(result.current.value).toBe(false)
})
})

View File

@ -0,0 +1,16 @@
import { renderHook } from "@testing-library/react"
import { describe, expect, it } from "vitest"
import { useIsMounted } from "../useIsMounted"
describe("useIsMounted", () => {
it("should return true", () => {
// Arrange - Given
const { result } = renderHook(() => {
return useIsMounted()
})
// Assert - Then
expect(result.current.isMounted).toBe(true)
})
})

View File

@ -0,0 +1,50 @@
import { useState } from "react"
export interface UseBooleanOutput {
value: boolean
setValue: React.Dispatch<React.SetStateAction<boolean>>
setTrue: () => void
setFalse: () => void
toggle: () => void
}
export interface UseBooleanInput {
/**
* The initial value of the boolean.
* @default false
*/
initialValue?: boolean
}
/**
* Hook to manage a boolean state.
* @param options
* @returns
*/
export const useBoolean = (options: UseBooleanInput = {}): UseBooleanOutput => {
const { initialValue = false } = options
const [value, setValue] = useState(initialValue)
const toggle = (): void => {
setValue((old) => {
return !old
})
}
const setTrue = (): void => {
setValue(true)
}
const setFalse = (): void => {
setValue(false)
}
return {
value,
setValue,
toggle,
setTrue,
setFalse,
}
}

View File

@ -0,0 +1,15 @@
import { defineConfig } from "vitest/config"
export default defineConfig({
test: {
browser: {
provider: "playwright",
enabled: true,
name: "chromium",
},
coverage: {
enabled: true,
provider: "istanbul",
},
},
})

View File

@ -0,0 +1,36 @@
import { afterEach, describe, expect, it, vi } from "vitest"
describe("VERSION", () => {
afterEach(() => {
vi.unstubAllEnvs()
vi.resetModules()
vi.restoreAllMocks()
})
it('should return "0.0.0-development" when NODE_ENV is development', async () => {
// Arrange - Given
vi.stubEnv("NODE_ENV", "development")
// Act - When
const { VERSION } = await import("../constants.js")
// Assert - Then
const expected = "0.0.0-development"
expect(VERSION).toEqual(expected)
})
it("should return the version from package.json when NODE_ENV is not development", async () => {
// Arrange - Given
vi.stubEnv("NODE_ENV", "production")
vi.mock("../../package.json", () => {
return { default: { version: "1.0.0" } }
})
// Act - When
const { VERSION } = await import("../constants.js")
// Assert - Then
const expected = "1.0.0"
expect(VERSION).toEqual(expected)
})
})

View File

@ -5,7 +5,6 @@ export default defineConfig({
coverage: {
enabled: true,
provider: "istanbul",
all: false,
},
},
})

View File

@ -48,6 +48,9 @@ catalogs:
'@storybook/test-runner':
specifier: 0.19.1
version: 0.19.1
'@testing-library/react':
specifier: 16.0.0
version: 16.0.0
'@total-typescript/ts-reset':
specifier: 0.5.1
version: 0.5.1
@ -66,6 +69,9 @@ catalogs:
'@typescript-eslint/parser':
specifier: 7.18.0
version: 7.18.0
'@vitest/browser':
specifier: 2.0.4
version: 2.0.4
'@vitest/coverage-istanbul':
specifier: 2.0.4
version: 2.0.4
@ -123,6 +129,9 @@ catalogs:
next-themes:
specifier: 0.3.0
version: 0.3.0
playwright:
specifier: 1.45.3
version: 1.45.3
postcss:
specifier: 8.4.40
version: 8.4.40
@ -291,7 +300,7 @@ importers:
version: 8.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(typescript@5.5.4)
'@storybook/test':
specifier: 'catalog:'
version: 8.2.6(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))
version: 8.2.6(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))
'@storybook/test-runner':
specifier: 'catalog:'
version: 0.19.1(@swc/helpers@0.5.5)(@types/node@22.0.0)(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))
@ -517,6 +526,9 @@ importers:
'@repo/eslint-config':
specifier: workspace:*
version: link:../config-eslint
'@testing-library/react':
specifier: 'catalog:'
version: 16.0.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@total-typescript/ts-reset':
specifier: 'catalog:'
version: 0.5.1
@ -526,12 +538,27 @@ importers:
'@types/react-dom':
specifier: 'catalog:'
version: 18.3.0
'@vitest/browser':
specifier: 'catalog:'
version: 2.0.4(playwright@1.45.3)(typescript@5.5.4)(vitest@2.0.4)
'@vitest/coverage-istanbul':
specifier: 'catalog:'
version: 2.0.4(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))
'@vitest/ui':
specifier: 'catalog:'
version: 2.0.4(vitest@2.0.4)
eslint:
specifier: 'catalog:'
version: 8.57.0
playwright:
specifier: 'catalog:'
version: 1.45.3
typescript:
specifier: 'catalog:'
version: 5.5.4
vitest:
specifier: 'catalog:'
version: 2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3)
packages/ui:
dependencies:
@ -622,7 +649,7 @@ importers:
version: 22.0.0
'@vitest/coverage-istanbul':
specifier: 'catalog:'
version: 2.0.4(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))
version: 2.0.4(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))
'@vitest/ui':
specifier: 'catalog:'
version: 2.0.4(vitest@2.0.4)
@ -634,7 +661,7 @@ importers:
version: 5.5.4
vitest:
specifier: 'catalog:'
version: 2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3)
version: 2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3)
packages/wikipedia-game-solver:
dependencies:
@ -680,7 +707,7 @@ importers:
version: 8.2.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(typescript@5.5.4)
'@storybook/test':
specifier: 'catalog:'
version: 8.2.6(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))
version: 8.2.6(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))
'@total-typescript/ts-reset':
specifier: 'catalog:'
version: 0.5.1
@ -692,7 +719,7 @@ importers:
version: 18.3.0
'@vitest/coverage-istanbul':
specifier: 'catalog:'
version: 2.0.4(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))
version: 2.0.4(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))
'@vitest/ui':
specifier: 'catalog:'
version: 2.0.4(vitest@2.0.4)
@ -710,7 +737,7 @@ importers:
version: 5.5.4
vitest:
specifier: 'catalog:'
version: 2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3)
version: 2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3)
packages:
@ -1392,6 +1419,15 @@ packages:
'@bcoe/v8-coverage@0.2.3':
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
'@bundled-es-modules/cookie@2.0.0':
resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==}
'@bundled-es-modules/statuses@1.0.1':
resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==}
'@bundled-es-modules/tough-cookie@0.1.6':
resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==}
'@chromatic-com/storybook@1.6.1':
resolution: {integrity: sha512-x1x1NB3j4xpfeSWKr96emc+7ZvfsvH+/WVb3XCjkB24PPbT8VZXb3mJSAQMrSzuQ8+eQE9kDogYHH9Fj3tb/Cw==}
engines: {node: '>=16.0.0', yarn: '>=1.22.18'}
@ -1712,6 +1748,22 @@ packages:
cpu: [x64]
os: [win32]
'@inquirer/confirm@3.1.19':
resolution: {integrity: sha512-dcLbnxmhx3a72c4fM6CwhydG8rS8TZCXtCYU7kUraA+qU2Ue8gNCiYOxnlhb0H0wbTKL23lUo68fX0iMP8t2Dw==}
engines: {node: '>=18'}
'@inquirer/core@9.0.7':
resolution: {integrity: sha512-wyqnTmlnd9p7cX6tfMlth+/Nx7vV2t/FvtO9VMSi2XjBkNy0MkPr19RSOyP3qrywdlJT+BQbEnXLPqq0wFMw3A==}
engines: {node: '>=18'}
'@inquirer/figures@1.0.5':
resolution: {integrity: sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==}
engines: {node: '>=18'}
'@inquirer/type@1.5.1':
resolution: {integrity: sha512-m3YgGQlKNS0BM+8AFiJkCsTqHEFCWn6s/Rqye3mYwvqY6LdfUv12eSwbsgNzrYyrLXiy7IrrjDLPysaSBwEfhw==}
engines: {node: '>=18'}
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@ -1821,6 +1873,10 @@ packages:
'@types/react': '>=16'
react: '>=16'
'@mswjs/interceptors@0.29.1':
resolution: {integrity: sha512-3rDakgJZ77+RiQUuSK69t1F0m8BQKA8Vh5DCS5V0DWvNY67zob2JhhQrhCO0AKLGINTRSFd1tBaHcJTkhefoSw==}
engines: {node: '>=18'}
'@next/env@14.2.5':
resolution: {integrity: sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==}
@ -1989,6 +2045,15 @@ packages:
'@octokit/types@13.5.0':
resolution: {integrity: sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==}
'@open-draft/deferred-promise@2.2.0':
resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==}
'@open-draft/logger@0.3.0':
resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==}
'@open-draft/until@2.1.0':
resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==}
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@ -2554,6 +2619,10 @@ packages:
resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==}
engines: {node: '>=18'}
'@testing-library/dom@10.4.0':
resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
engines: {node: '>=18'}
'@testing-library/jest-dom@6.4.5':
resolution: {integrity: sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A==}
engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
@ -2575,6 +2644,21 @@ packages:
vitest:
optional: true
'@testing-library/react@16.0.0':
resolution: {integrity: sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==}
engines: {node: '>=18'}
peerDependencies:
'@testing-library/dom': ^10.0.0
'@types/react': ^18.0.0
'@types/react-dom': ^18.0.0
react: ^18.0.0
react-dom: ^18.0.0
peerDependenciesMeta:
'@types/react':
optional: true
'@types/react-dom':
optional: true
'@testing-library/user-event@14.5.2':
resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==}
engines: {node: '>=12', npm: '>=6'}
@ -2605,6 +2689,9 @@ packages:
'@types/connect@3.4.38':
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
'@types/cookie@0.6.0':
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
'@types/cross-spawn@6.0.6':
resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==}
@ -2674,6 +2761,9 @@ packages:
'@types/mime@1.3.5':
resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
'@types/mute-stream@0.0.4':
resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==}
'@types/node@18.19.42':
resolution: {integrity: sha512-d2ZFc/3lnK2YCYhos8iaNIYu9Vfhr92nHiyJHRltXWjXUBjEE+A4I58Tdbnw4VhggSW+2j5y5gTrLs4biNnubg==}
@ -2716,6 +2806,12 @@ packages:
'@types/stack-utils@2.0.3':
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
'@types/statuses@2.0.5':
resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==}
'@types/tough-cookie@4.0.5':
resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
'@types/unist@3.0.2':
resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==}
@ -2725,6 +2821,9 @@ packages:
'@types/wait-on@5.3.4':
resolution: {integrity: sha512-EBsPjFMrFlMbbUFf9D1Fp+PAB2TwmUn7a3YtHyD9RLuTIk1jDd8SxXVAoez2Ciy+8Jsceo2MYEYZzJ/DvorOKw==}
'@types/wrap-ansi@3.0.0':
resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==}
'@types/yargs-parser@21.0.3':
resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
@ -2850,6 +2949,21 @@ packages:
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
'@vitest/browser@2.0.4':
resolution: {integrity: sha512-QsIkbqPqHsXvgxjCjjgKjuWKmrC0VJgpaDkuEmOy5gTnErhhifWIfp3HpH92K7cscfaIao+RlKv5f8nUMgjfmA==}
peerDependencies:
playwright: '*'
safaridriver: '*'
vitest: 2.0.4
webdriverio: '*'
peerDependenciesMeta:
playwright:
optional: true
safaridriver:
optional: true
webdriverio:
optional: true
'@vitest/coverage-istanbul@2.0.4':
resolution: {integrity: sha512-6VibYMkXh8cJm5Bg8JYeOoR4oURlPf4YKP9kuVRE/NKasfYrXPnzSwuxrpgMbgOfPj13KUJXgMB3VAGukECtlQ==}
peerDependencies:
@ -3522,6 +3636,10 @@ packages:
resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==}
engines: {node: 10.* || >= 12.*}
cli-width@4.1.0:
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
engines: {node: '>= 12'}
client-only@0.0.1:
resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
@ -3674,6 +3792,10 @@ packages:
cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
cookie@0.5.0:
resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
engines: {node: '>= 0.6'}
cookie@0.6.0:
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
engines: {node: '>= 0.6'}
@ -4690,6 +4812,10 @@ packages:
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
graphql@16.9.0:
resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
handlebars@4.7.8:
resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
engines: {node: '>=0.4.7'}
@ -4753,6 +4879,9 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
headers-polyfill@4.0.3:
resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==}
highlight.js@10.7.3:
resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==}
@ -5022,6 +5151,9 @@ packages:
resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
engines: {node: '>= 0.4'}
is-node-process@1.2.0:
resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==}
is-number-object@1.0.7:
resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
engines: {node: '>= 0.4'}
@ -5773,10 +5905,24 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
msw@2.3.4:
resolution: {integrity: sha512-sHMlwrajgmZSA2l1o7qRSe+azm/I+x9lvVVcOxAzi4vCtH8uVPJk1K5BQYDkzGl+tt0RvM9huEXXdeGrgcc79g==}
engines: {node: '>=18'}
hasBin: true
peerDependencies:
typescript: '>= 4.7.x'
peerDependenciesMeta:
typescript:
optional: true
mustache@4.2.0:
resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
hasBin: true
mute-stream@1.0.0:
resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
mz@2.7.0:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
@ -6051,6 +6197,9 @@ packages:
resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==}
engines: {node: '>=0.10.0'}
outvariant@1.4.3:
resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}
p-each-series@3.0.0:
resolution: {integrity: sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==}
engines: {node: '>=12'}
@ -6217,6 +6366,9 @@ packages:
path-to-regexp@0.1.7:
resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
path-to-regexp@6.2.2:
resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==}
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
@ -6505,6 +6657,9 @@ packages:
engines: {node: '>= 0.10'}
hasBin: true
psl@1.9.0:
resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
public-encrypt@4.0.3:
resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==}
@ -6530,6 +6685,9 @@ packages:
resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==}
engines: {node: '>=0.4.x'}
querystringify@2.2.0:
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@ -7086,6 +7244,9 @@ packages:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
engines: {node: '>=10.0.0'}
strict-event-emitter@0.5.1:
resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==}
string-length@4.0.2:
resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
engines: {node: '>=10'}
@ -7350,6 +7511,10 @@ packages:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'}
tough-cookie@4.1.4:
resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
engines: {node: '>=6'}
traverse@0.6.8:
resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==}
engines: {node: '>= 0.4'}
@ -7580,6 +7745,10 @@ packages:
universal-user-agent@7.0.2:
resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==}
universalify@0.2.0:
resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
engines: {node: '>= 4.0.0'}
universalify@2.0.1:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
@ -7608,6 +7777,9 @@ packages:
resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
url-parse@1.5.10:
resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
url@0.11.4:
resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==}
engines: {node: '>= 0.4'}
@ -7911,6 +8083,10 @@ packages:
resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==}
engines: {node: '>=12.20'}
yoctocolors-cjs@2.1.2:
resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==}
engines: {node: '>=18'}
yoctocolors@2.1.1:
resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==}
engines: {node: '>=18'}
@ -8808,6 +8984,19 @@ snapshots:
'@bcoe/v8-coverage@0.2.3': {}
'@bundled-es-modules/cookie@2.0.0':
dependencies:
cookie: 0.5.0
'@bundled-es-modules/statuses@1.0.1':
dependencies:
statuses: 2.0.1
'@bundled-es-modules/tough-cookie@0.1.6':
dependencies:
'@types/tough-cookie': 4.0.5
tough-cookie: 4.1.4
'@chromatic-com/storybook@1.6.1(react@18.3.1)':
dependencies:
chromatic: 11.5.6
@ -9043,6 +9232,33 @@ snapshots:
'@img/sharp-win32-x64@0.33.4':
optional: true
'@inquirer/confirm@3.1.19':
dependencies:
'@inquirer/core': 9.0.7
'@inquirer/type': 1.5.1
'@inquirer/core@9.0.7':
dependencies:
'@inquirer/figures': 1.0.5
'@inquirer/type': 1.5.1
'@types/mute-stream': 0.0.4
'@types/node': 22.0.0
'@types/wrap-ansi': 3.0.0
ansi-escapes: 4.3.2
cli-spinners: 2.9.2
cli-width: 4.1.0
mute-stream: 1.0.0
signal-exit: 4.1.0
strip-ansi: 6.0.1
wrap-ansi: 6.2.0
yoctocolors-cjs: 2.1.2
'@inquirer/figures@1.0.5': {}
'@inquirer/type@1.5.1':
dependencies:
mute-stream: 1.0.0
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@ -9256,6 +9472,15 @@ snapshots:
'@types/react': 18.3.3
react: 18.3.1
'@mswjs/interceptors@0.29.1':
dependencies:
'@open-draft/deferred-promise': 2.2.0
'@open-draft/logger': 0.3.0
'@open-draft/until': 2.1.0
is-node-process: 1.2.0
outvariant: 1.4.3
strict-event-emitter: 0.5.1
'@next/env@14.2.5': {}
'@next/eslint-plugin-next@14.2.5':
@ -9419,6 +9644,15 @@ snapshots:
dependencies:
'@octokit/openapi-types': 22.2.0
'@open-draft/deferred-promise@2.2.0': {}
'@open-draft/logger@0.3.0':
dependencies:
is-node-process: 1.2.0
outvariant: 1.4.3
'@open-draft/until@2.1.0': {}
'@pkgjs/parseargs@0.11.0':
optional: true
@ -10182,12 +10416,12 @@ snapshots:
- supports-color
- ts-node
'@storybook/test@8.2.6(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))':
'@storybook/test@8.2.6(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))':
dependencies:
'@storybook/csf': 0.1.11
'@storybook/instrumenter': 8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))
'@testing-library/dom': 10.1.0
'@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))
'@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))
'@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0)
'@vitest/expect': 1.6.0
'@vitest/spy': 1.6.0
@ -10205,7 +10439,7 @@ snapshots:
'@storybook/csf': 0.1.11
'@storybook/instrumenter': 8.2.6(storybook@8.2.6(@babel/preset-env@7.25.0(@babel/core@7.24.9)))
'@testing-library/dom': 10.1.0
'@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))
'@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))
'@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0)
'@vitest/expect': 1.6.0
'@vitest/spy': 1.6.0
@ -10316,7 +10550,18 @@ snapshots:
lz-string: 1.5.0
pretty-format: 27.5.1
'@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))':
'@testing-library/dom@10.4.0':
dependencies:
'@babel/code-frame': 7.24.7
'@babel/runtime': 7.25.0
'@types/aria-query': 5.0.4
aria-query: 5.3.0
chalk: 4.1.2
dom-accessibility-api: 0.5.16
lz-string: 1.5.0
pretty-format: 27.5.1
'@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(jest@29.7.0(@types/node@22.0.0))(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))':
dependencies:
'@adobe/css-tools': 4.4.0
'@babel/runtime': 7.25.0
@ -10329,7 +10574,7 @@ snapshots:
optionalDependencies:
'@jest/globals': 29.7.0
jest: 29.7.0(@types/node@22.0.0)
vitest: 2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3)
vitest: 2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3)
'@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(jest@29.7.0)(vitest@2.0.4)':
dependencies:
@ -10344,12 +10589,26 @@ snapshots:
optionalDependencies:
'@jest/globals': 29.7.0
jest: 29.7.0(@types/node@22.0.0)
vitest: 2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3)
vitest: 2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3)
'@testing-library/react@16.0.0(@testing-library/dom@10.4.0)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.25.0
'@testing-library/dom': 10.4.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
'@types/react': 18.3.3
'@types/react-dom': 18.3.0
'@testing-library/user-event@14.5.2(@testing-library/dom@10.1.0)':
dependencies:
'@testing-library/dom': 10.1.0
'@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)':
dependencies:
'@testing-library/dom': 10.4.0
'@total-typescript/ts-reset@0.5.1': {}
'@types/aria-query@5.0.4': {}
@ -10384,6 +10643,8 @@ snapshots:
dependencies:
'@types/node': 22.0.0
'@types/cookie@0.6.0': {}
'@types/cross-spawn@6.0.6':
dependencies:
'@types/node': 22.0.0
@ -10456,6 +10717,10 @@ snapshots:
'@types/mime@1.3.5': {}
'@types/mute-stream@0.0.4':
dependencies:
'@types/node': 22.0.0
'@types/node@18.19.42':
dependencies:
undici-types: 5.26.5
@ -10500,6 +10765,10 @@ snapshots:
'@types/stack-utils@2.0.3': {}
'@types/statuses@2.0.5': {}
'@types/tough-cookie@4.0.5': {}
'@types/unist@3.0.2': {}
'@types/uuid@9.0.8': {}
@ -10508,6 +10777,8 @@ snapshots:
dependencies:
'@types/node': 22.0.0
'@types/wrap-ansi@3.0.0': {}
'@types/yargs-parser@21.0.3': {}
'@types/yargs@17.0.32':
@ -10678,7 +10949,24 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
'@vitest/coverage-istanbul@2.0.4(vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3))':
'@vitest/browser@2.0.4(playwright@1.45.3)(typescript@5.5.4)(vitest@2.0.4)':
dependencies:
'@testing-library/dom': 10.4.0
'@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0)
'@vitest/utils': 2.0.4
magic-string: 0.30.11
msw: 2.3.4(typescript@5.5.4)
sirv: 2.0.4
vitest: 2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3)
ws: 8.18.0
optionalDependencies:
playwright: 1.45.3
transitivePeerDependencies:
- bufferutil
- typescript
- utf-8-validate
'@vitest/coverage-istanbul@2.0.4(vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3))':
dependencies:
'@istanbuljs/schema': 0.1.3
debug: 4.3.6
@ -10690,7 +10978,7 @@ snapshots:
magicast: 0.3.4
test-exclude: 7.0.1
tinyrainbow: 1.2.0
vitest: 2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3)
vitest: 2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3)
transitivePeerDependencies:
- supports-color
@ -10739,7 +11027,7 @@ snapshots:
pathe: 1.1.2
sirv: 2.0.4
tinyrainbow: 1.2.0
vitest: 2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3)
vitest: 2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3)
'@vitest/utils@1.6.0':
dependencies:
@ -11509,6 +11797,8 @@ snapshots:
optionalDependencies:
'@colors/colors': 1.5.0
cli-width@4.1.0: {}
client-only@0.0.1: {}
cliui@6.0.0:
@ -11647,6 +11937,8 @@ snapshots:
cookie-signature@1.0.6: {}
cookie@0.5.0: {}
cookie@0.6.0: {}
core-js-compat@3.37.1:
@ -12984,6 +13276,8 @@ snapshots:
graphemer@1.4.0: {}
graphql@16.9.0: {}
handlebars@4.7.8:
dependencies:
minimist: 1.2.8
@ -13050,6 +13344,8 @@ snapshots:
he@1.2.0: {}
headers-polyfill@4.0.3: {}
highlight.js@10.7.3: {}
hmac-drbg@1.0.1:
@ -13330,6 +13626,8 @@ snapshots:
is-negative-zero@2.0.3: {}
is-node-process@1.2.0: {}
is-number-object@1.0.7:
dependencies:
has-tostringtag: 1.0.2
@ -14271,8 +14569,32 @@ snapshots:
ms@2.1.3: {}
msw@2.3.4(typescript@5.5.4):
dependencies:
'@bundled-es-modules/cookie': 2.0.0
'@bundled-es-modules/statuses': 1.0.1
'@bundled-es-modules/tough-cookie': 0.1.6
'@inquirer/confirm': 3.1.19
'@mswjs/interceptors': 0.29.1
'@open-draft/until': 2.1.0
'@types/cookie': 0.6.0
'@types/statuses': 2.0.5
chalk: 4.1.2
graphql: 16.9.0
headers-polyfill: 4.0.3
is-node-process: 1.2.0
outvariant: 1.4.3
path-to-regexp: 6.2.2
strict-event-emitter: 0.5.1
type-fest: 4.23.0
yargs: 17.7.2
optionalDependencies:
typescript: 5.5.4
mustache@4.2.0: {}
mute-stream@1.0.0: {}
mz@2.7.0:
dependencies:
any-promise: 1.3.0
@ -14549,6 +14871,8 @@ snapshots:
os-homedir@1.0.2: {}
outvariant@1.4.3: {}
p-each-series@3.0.0: {}
p-filter@4.1.0:
@ -14696,6 +15020,8 @@ snapshots:
path-to-regexp@0.1.7: {}
path-to-regexp@6.2.2: {}
path-type@4.0.0: {}
path-type@5.0.0: {}
@ -14919,6 +15245,8 @@ snapshots:
dependencies:
event-stream: 3.3.4
psl@1.9.0: {}
public-encrypt@4.0.3:
dependencies:
bn.js: 4.12.0
@ -14944,6 +15272,8 @@ snapshots:
querystring-es3@0.2.1: {}
querystringify@2.2.0: {}
queue-microtask@1.2.3: {}
queue@6.0.2:
@ -15736,6 +16066,8 @@ snapshots:
streamsearch@1.1.0: {}
strict-event-emitter@0.5.1: {}
string-length@4.0.2:
dependencies:
char-regex: 1.0.2
@ -16024,6 +16356,13 @@ snapshots:
totalist@3.0.1: {}
tough-cookie@4.1.4:
dependencies:
psl: 1.9.0
punycode: 2.3.1
universalify: 0.2.0
url-parse: 1.5.10
traverse@0.6.8: {}
tree-kill@1.2.2: {}
@ -16229,6 +16568,8 @@ snapshots:
universal-user-agent@7.0.2: {}
universalify@0.2.0: {}
universalify@2.0.1: {}
unpipe@1.0.0: {}
@ -16254,6 +16595,11 @@ snapshots:
url-join@5.0.0: {}
url-parse@1.5.10:
dependencies:
querystringify: 2.2.0
requires-port: 1.0.0
url@0.11.4:
dependencies:
punycode: 1.4.1
@ -16323,7 +16669,7 @@ snapshots:
fsevents: 2.3.3
terser: 5.31.3
vitest@2.0.4(@types/node@22.0.0)(@vitest/ui@2.0.4)(terser@5.31.3):
vitest@2.0.4(@types/node@22.0.0)(@vitest/browser@2.0.4)(@vitest/ui@2.0.4)(terser@5.31.3):
dependencies:
'@ampproject/remapping': 2.3.0
'@vitest/expect': 2.0.4
@ -16346,6 +16692,7 @@ snapshots:
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.0.0
'@vitest/browser': 2.0.4(playwright@1.45.3)(typescript@5.5.4)(vitest@2.0.4)
'@vitest/ui': 2.0.4(vitest@2.0.4)
transitivePeerDependencies:
- less
@ -16613,4 +16960,6 @@ snapshots:
yocto-queue@1.1.1: {}
yoctocolors-cjs@2.1.2: {}
yoctocolors@2.1.1: {}

View File

@ -53,12 +53,15 @@ catalog:
"storybook-dark-mode": "4.0.2"
# Testing
"playwright": "1.45.3"
"@playwright/test": "1.45.3"
"axe-playwright": "2.0.1"
"start-server-and-test": "2.0.5"
"@vitest/browser": "2.0.4"
"@vitest/coverage-istanbul": "2.0.4"
"@vitest/ui": "2.0.4"
"vitest": "2.0.4"
"@testing-library/react": "16.0.0"
# CSS
"postcss": "8.4.40"